一种空间数据的范围控制方法与流程

文档序号:16209104发布日期:2018-12-08 07:30阅读:404来源:国知局
一种空间数据的范围控制方法与流程

本发明涉及空间数据领域,尤其涉及一种空间数据的范围控制方法。

二、背景技术

空间数据指带有位置坐标的数据,包括矢量数据、遥感影像数据等。矢量数据包括点、线、面类型的数据。

在网络地图服务领域,通常将空间数据配置一定的颜色、线型和符号等样式信息后,通过渲染系统生成地图图片展示给用户,如google地图、百度地图、高德地图等,用户可以查看所有网络服务中的所有的空间数据。

地图空间数据具有数据量大、更新频率高、数据保密等特点,在利用空间数据对外提供服务时,做好对空间的权限控制,动态控制空间数据显示范围,可以提高数据安全性和数据利用效率。

为了控制空间数据可查看的范围,传统方法是通过把空间数据按照事先规划好的范围进行切割,把完整的空间数据分割为若干个小的空间数据,然后为分割后的每一个空间数据关联特定的属性值,通过输入条件来查询空间数据的属性,进而控制空间数据的范围。或者针对特定范围的空间数据单独发布地图服务,通过控制地图服务访问权限,来控制空间数据的范围。

然而,上述的空间数据的范围控制的方法增加了额外的数据处理工作,不能应对空间数据的动态更新,无法做到空间数据的范围实时控制。

三、

技术实现要素:

为了解决现有技术中的缺陷,本发明提出了一种对空间数据的范围进行动态控制的方法。根据输入的不同查询条件,可以生成特定的空间范围参数,使用该参数对各类空间数据进行空间叠加运算,计算结果就是对空间数据进行范围限制的结果。具体步骤如下:

第一步:范围生成

特定空间范围可以用一个面要素来表达,也即可以用一组[x,y]坐标来表示,本发明中采用自定义json数组来表达空间范围,普通多边形格式为[[x1,y1],[x2,y2],[x3,y3]...],复杂多边形为多层嵌套数组[[[x1,y1],[x2,y2],[x3,y3]...],[[x1,y1],[x2,y2],[x3,y3]...]]。

通过在地图上绘制一个面,可以生成控制范围的json数组,或者使用已有的空间数据转换为json数组。在客户端请求网络地图服务时,把json数组作为范围参数,传给地图服务器。

第二步:空间运算。

在接收到客户端传来的json数组后,把json数组解析为范围空间数据,并与需要做范围控制的点、线、面三种类型的空间数据进行空间叠加分析运算。

点:通过空间分析,计算点要素的空间数据与范围空间数据的空间关系,获取包含在范围内的点坐标,并以[[x1,y1],[x2,y2],[x3,y3]...]数组的形式记录下来。

线:通过空间分析,计算线要素的空间数据与范围空间数据的空间关系,获取与范围相交的线要素的坐标,单条结果以[[x1,y1],[x2,y2],[x3,y3]...]格式数组记录,多条结果以[[[x1,y1],[x2,y2],[x3,y3]...],[[x1,y1],[x2,y2],[x3,y3]...]]的格式记录。

面:通过空间分析,计算面要素的空间数据与范围空间数据的空间关系,获取与范围相交所构成的新的面要素的边界坐标,单条结果以[[x1,y1],[x2,y2],[x3,y3]...]格式数组记录,多条结果以多层嵌套数组[[[x1,y1],[x2,y2],[x3,y3]...],[[x1,y1],[x2,y2],[x3,y3]...]]的形式记录。

对于运算过程中,空间数据坐标点较多的情况,可以先采用道格拉斯-普克算法或垂距限值法进行抽稀,然后将抽稀后的结果与范围空间数据进行叠加空间运算。

第三步:返回结果。把空间运算结果[x,y]数组返回客户端,客户端通过解析数组,还原为空间要素,并在地图中显示。

本发明与现有技术相比,具有以下优点和有益效果:

(1)实时更新空间数据的控制范围。

通过本发明中的方法来实现空间数据的范围控制,可以做到控制范围的实时更新,只要在客户端绘制或更新范围数据,客户端发送新的范围参数到服务器,经空间运算,服务器即可返回指定范围内的空间数据。此方法可以解决临时性的对空间数据范围控制、动态的空间数据范围控制。

(2)减少数据处理工作,提升数据利用效率。

服务器端不需要对空间数据做分割,不需要为特定范围的空间数据单独发布地图服务,不会产生冗余数据,可以做到在不修改原始空间数据的基础上,实现空间范围控制,极大提高了空间数据的利用效率。

四、附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例系统的架构示意图;

图2为本发明实施例方法的流程示意图;

图3为本发明实施例重庆市渝中区范围控制示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,为本发明实施例提供的空间数据的范围控制方法所采用的系统的架构示意图,该系统采用了三层架构,分别为表现层,服务层以及数据层。表现层采用了javascript和html语言,负责与用户进行业务数据交互,计算用户输入的空间图形并展现最终结果,其功能由客户端的浏览器实现;服务层采用了java语言,负责对表现层的输入信息与数据库的完整数据进行空间运算,运算过程中需要从数据层查询数据,计算结束后将结果传回表现层显示,其功能由服务器实现;数据层采用了postgresql数据库,存储各空间数据,提供对服务层的数据访问支持。

本发明实施例提供了空间数据的范围控制方法,其应用于上述包括客户端和服务器的空间数据的范围控制系统。该空间数据的范围控制方法的实现包括两部分,分别为:前端数据初始化和后端运算,其中,数据初始化是由客户端实现,后端运算由服务端实现,采用了空间叠加运算法。前端部分主要由图形界面组成,便于用户绘制或输入空间数据限定范围,数据初始化即把用户输入的范围数据存储为json坐标数组;后端运算部分负责数据库空间叠加运算,即根据前端输入产生的限定范围空间json坐标数组和数据库中完整空间数据进行叠加运算,识别相交或被包含的空间要素,并将识别结果返回给前端供前端显示。

参见图2,为本发明实施例提供的空间数据的范围控制方法的流程示意图,该方法应用于上述包括客户端和服务端的空间数据的范围控制,该方法包括:

步骤1:客户端获取用户输入的空间数据限定范围,在客户端自动转换为以自定义json数组来表达空间范围,普通多边形格式为[[x1,y1],[x2,y2],[x3,y3]...],复杂多边形为多层嵌套数组[[[x1,y1],[x2,y2],[x3,y3]...],[[x1,y1],[x2,y2],[x3,y3]...]],将json数组发送给服务器存放。用户输入空间数据限定范围的方式包括以下三种:

方式一:在基础电子地图上,用户通过触屏设备绘制一个面状空间要素,或者通过鼠标描绘一个面状空间要素,面状要素没有大小、形状限制,根据实际情况可以任意绘制。比如某条街道、某个景区、某栋楼周边500米。

方式二:用户手动输入限定范围坐标值,系统会自动将输入的坐标值闭合,形成一个空间范围面。

方式三:用户也可以按照行政区划等内置的默认空间数据选取空间限定范围,如选择“重庆市”作为空间数据限定范围。

步骤2:服务器根据在收到客户端发送的json数组,把json数组解析为范围空间数据,并与需要做范围控制的点、线、面三种类型的空间数据进行空间叠加分析运算,进行多边形求交集,获取到的相交部分或者被包含部分即为空间运算识别结果。针对不同类型的空间数据,最终以不同组织方式的[x,y]坐标数据返回客户端。点数据为一维坐标数组,线面数据为二维或者多维坐标数组。

点:通过空间分析,计算点要素的空间数据与范围空间数据的空间关系,获取包含在范围内的点坐标,并以[[x1,y1],[x2,y2],[x3,y3]...]数组的形式记录下来。

线:通过空间分析,计算线要素的空间数据与范围空间数据的空间关系,获取与范围相交的线要素的坐标,单条结果以[[x1,y1],[x2,y2],[x3,y3]...]格式数组记录,多条结果以[[[x1,y1],[x2,y2],[x3,y3]...],[[x1,y1],[x2,y2],[x3,y3]...]]的格式记录。

面:通过空间分析,计算面要素的空间数据与范围空间数据的空间关系,获取与范围相交所构成的新的面要素的边界坐标,单条结果以[[x1,y1],[x2,y2],[x3,y3]...]格式数组记录,多条结果以多层嵌套数组[[[x1,y1],[x2,y2],[x3,y3]...],[[x1,y1],[x2,y2],[x3,y3]...]]的形式记录。

对于运算过程中,空间数据坐标点较多的情况,可以先采用道格拉斯-普克算法或垂距限值法进行抽稀,然后将抽稀后的结果与范围空间数据进行叠加空间运算。

步骤3:客户端将收到服务器返回的运算结果[x,y]数组解析为空间要素,在地图上绘制显示。

如图3,分别为范围限定数据、完整的空间数据、范围限定结果数据,利用上述方法即可以实现空间数据的范围控制。

尽管上述实施例对本发明做出了详尽的描述,但它仅仅是本发明一部分实施例,而不是全部实施例,人们还可以根据本实施例在不经创造性前提下获得其他实施例,这些实施例都属于本发明保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1