CN101908062A - Gis空间谓词判断方法及其系统 - Google Patents

Gis空间谓词判断方法及其系统 Download PDF

Info

Publication number
CN101908062A
CN101908062A CN 201010224003 CN201010224003A CN101908062A CN 101908062 A CN101908062 A CN 101908062A CN 201010224003 CN201010224003 CN 201010224003 CN 201010224003 A CN201010224003 A CN 201010224003A CN 101908062 A CN101908062 A CN 101908062A
Authority
CN
China
Prior art keywords
grid cell
real estate
grid
ratio
predicate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 201010224003
Other languages
English (en)
Inventor
程振林
董慧
赵艳伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 201010224003 priority Critical patent/CN101908062A/zh
Publication of CN101908062A publication Critical patent/CN101908062A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Instructional Devices (AREA)

Abstract

本发明涉及一种GIS空间谓词判断的方法及其系统,方法包括:步骤1,对于输入的图层生成对应的栅格底图,栅格底图的栅格单元以压盖所述栅格单元的图层的图形的要素ID为要素索引,栅格单元以坐标值为位置索引,每个栅格单元具有对其压盖的图形在所述栅格单元的实际占用面积的比值;步骤2,对于两个待比较的图层,两个图层中栅格底图中坐标相同的栅格单元相互对应,将相对应的两个栅格单元的实际占用面积的信息进行比较,得出所述两个图层的GIS空间谓词判断结果。本发明能够减少计算量,提高计算效率。

Description

GIS空间谓词判断方法及其系统
技术领域
本发明涉及GIS(Geographical Information System,地理信息系统)领域,尤其涉及GIS空间谓词判断方法及其系统。
背景技术
地理信息是指直接或间接与地球上的空间位置有关的信息,又常称为空间信息。据估计,80%以上的数据都具有空间属性,而对这些空间数据的管理已经成为了信息系统管理的一个重要组成部分,其应用十分广泛。
一般来说,地理信息系统(Geographic Information System,缩写为GIS)可定义为用于采集、存储、管理、处理、检索、分析和表达地理空间数据的计算机系统,是分析和处理海量空间信息的通用技术。
随着GIS自身的发展和经济与社会的信息化,GIS开始融入信息技术的主流。由于GIS技术能较好地解决基于时空框架的数据建模问题,填补了传统信息技术在这方面的空白,逐步成为信息技术的核心支撑技术。
基于Web的地图应用使得GIS的用户从专业人士迅速扩大到公众。以Web编程接口的形式提供空间信息服务成为GIS与其他的业务信息系统进行应用整合的重要途径,这为GIS应用开辟了更广阔的应用范围和场景。但是,基于Internet的GIS的体系结构决定了大量的业务逻辑集中在服务器端。满足众多用户(包括Web服务客户端)的访问并保证服务质量,给后端服务器的性能、可扩展性提出了更高的要求。
空间谓词是比较两个空间对象并返回一个布尔变量值作为结果,它表明了存在于两个空间对象之间特殊的关系。如:是否相交、是否相互包含等。空间谓词是GIS的核心,是GIS区别于一般的信息系统、CAD(计算设计辅助设计)或者电子地图系统的主要标志之一。OGC(Open Geospatial Consortium,开放地理信息联盟)的web要素服务(Web Feature Service)规范中的空间过滤器是通过空间谓词方式获取要素数据的有力方式,规范中提出了Disjoint/Intersect、Equals、Within/Contains、Overlaps、BBOX等多种空间谓词过滤器。
空间谓词,配合空间数据的属性信息,能提供强大、丰富的空间数据查询功能。空间谓词以及空间分析功能具有算法复杂、计算密集等特点,如何在Web上提供空间谓词的功能,在学术研究与工程实践上,都具有重要的意义,能促进GIS应用的Web迁移并促进GIS应用与其他应用的融合。随着网络地图服务的流行,如何在网络地图服务器上提供空间谓词功能成为需要解决的问题。
一种常见的空间谓词判断方法是利用计算几何来实现。作为计算机科学的一个分支,计算几何主要研究解决几何问题的算法。常见的做法是针对两个多边形进行,在大量的多边形计算面前无能为力。如果采用“暴力”算法,通过反复调用两个多边形空间谓词的算法来完成,则算法实现计算复杂度高,实用性差。如基于出入点判别的空间谓词实现方法,如何确定交点的进点、出点属性在实际的图形中会遇到众多的特殊情况。特别是在发生了线段与线段交在端点、线段与线段重叠的情况下,如何区分交点的出点、入点情况非常复杂导致效率降低。这类做法中采用的线段求交算法一般是采用平面扫描算法,优点是结果比较精确,缺点是由于要进行频繁的坐标排序、角度计算等操作,计算量大。
发明内容
为解决上述问题,本发明提供了GIS空间谓词判断方法及其系统,能够减少计算量,提高计算效率。
本发明公开了一种GIS空间谓词判断的方法,包括:
步骤1,对于输入的图层生成对应的栅格底图,栅格底图的栅格单元以压盖所述栅格单元的图层的图形的要素ID为要素索引,栅格单元以坐标值为位置索引,每个栅格单元具有对其压盖的图形在所述栅格单元的实际占用面积的比值;
步骤2,对于两个待比较的图层,两个图层中栅格底图中坐标相同的栅格单元相互对应,将相对应的两个栅格单元的实际占用面积的信息进行比较,得出所述两个图层的GIS空间谓词判断结果。
所述步骤1进一步为,
步骤21,输入矢量方式表示的图层中地理要素的图形的矢量点,按显示屏幕的分辨率对地理要素的矢量点坐标进行坐标转换,按显示屏幕的像素点进行栅格划分,栅格单元以坐标值为位置索引,栅格单元以对其压盖的图形的要素ID为要素索引;
步骤22,对图层中的图形进行轮廓扫描,对于每个图形,按如下公式计算图形的轮廓线经过的每一栅格单元的权值和覆盖面积,
cov er=fy2-fy1
area=(fx2+fx1)×cov er
其中,(fx1,fy1)为经过所述栅格单元的轮廓的线段起始点的小数坐标部分,(fx2,fy2)为经过所述栅格单元的轮廓的线段终止点的小数坐标部分,cover为权值,area为覆盖面积;
步骤23,对于每个图形,绘制控制器遍历图形的轮廓经过的栅格单元,依据所述栅格单元的覆盖面积判断所述栅格单元是否被图形完全填充,对完全填充的栅格单元和未完全填充的栅格单元分别进行标记,并将轮廓内的栅格单元进行跨度填充,将所述栅格单元标记为完全填充;
步骤24,将完全填充的栅格单元的图形在栅格单元的实际占用面积的比值设置为100%;对于未完全填充的栅格单元,根据所述栅格单元的权值和覆盖面积计算所述栅格单元的图形在栅格单元的实际占用面积的比值;保存栅格单元的位置索引、要素索引和实际占用面积的比值,进而生成所述图形对应的栅格底图。
在GIS空间谓词判断为判断两个图层间是否有相交图形时,所述步骤2进一步为,
步骤31,对于两个待比较的图层,两个图层的栅格底图中坐标相同的栅格单元相互对应,遍历栅格单元;
步骤32,对于遍历的栅格单元,计算所述栅格单元对应于两个图层的实际占用面积的比值的和,判断所述和是否大于100%,如果是,执行步骤33;
步骤33,停止遍历,GIS空间谓词判断结果为两个图层相交。
所述步骤33还包括,
步骤41,返回所述栅格单元在两个栅格底图中对应的要素ID。
所述步骤31前还包括:
步骤51,分别确定两个待比较的图层的外包,以两个图层的外包的相交区域为遍历区域;
所述步骤31中遍历栅格单元进一步为,
步骤52,对遍历区域中的栅格单元进行遍历。
所述步骤32还包括
步骤61,如果遍历的所有栅格单元的所述实际占用面积的比值的和都不大于1,则执行步骤62;
步骤62,按如下公式计算平均期望值,
Σcellarea 1 × cellarea 2 count
其中,cellarea1为遍历的栅格单元对应于一个图层的实际占用面积的比值,cellarea2为所述栅格单元对应于另一个图层的实际占用面积的比值,count为遍历的栅格单元的数量;
步骤63,如果平均期望值大于预设的条件阀值,则GIS空间谓词判断结果为两个图层相交。
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述步骤2进一步为,
步骤71,对于包含图层中的每个图形,比较所述图形和被包含图层中每个图形的在同一栅格单元的实际占用面积比值,将被包含图层中实际占用面积的比值都不大于所述图形的实际占用面积比值的图形为所述图形的包含图形。
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述步骤2进一步为,
步骤81,对于包含图层的每个图形,以被包含图层中的所有图形为所述图形的比较图形,并组成结果集;
步骤82,对于包含图层中的每个图形,比较所述图形和所述图形的结果集中每个比较图形在所述比较图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值都不大于所述图形的实际占用面积比值,则所述比较图形为所述图形包含的图形。
所述步骤81还包括,确定结果集中比较图形同所述图形间的相交关系,将不同所述图形相交的比较图形从结果集中删除。
所述步骤81还包括,确定所述图形的外包,比较所述图形和结果集中每个比较图形的在所述图形的外包内的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
所述步骤81还包括,确定所述图形和所述图形的结果集中的比较图形的外包,将外包不在所述图形的外包内的比较图形从所述图形的结果集中删除。
所述步骤81还包括,确定所述图形的轮廓,比较所述图形和结果集中每个比较图形的在所述图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
本发明还公开了一种GIS空间谓词判断的系统,包括:
栅格底图生成模块,用于对于输入的图层生成对应的栅格底图,栅格底图的栅格单元以压盖所述栅格单元的图层的图形的要素ID为要素索引,栅格单元以坐标值为位置索引,每个栅格单元具有对其压盖的图形在所述栅格单元的实际占用面积的比值;
谓词判断模块,用于对于两个待比较的图层,两个图层中栅格底图中坐标相同的栅格单元相互对应,将相对应的两个栅格单元的实际占用面积的信息进行比较,得出所述两个图层的GIS空间谓词判断结果。
所述栅格底图生成模块进一步用于
对于输入矢量方式表示的图层中地理要素的图形的矢量点,按显示屏幕的分辨率对地理要素的矢量点坐标进行坐标转换,按显示屏幕的像素点进行栅格划分,栅格单元以坐标值为位置索引,栅格单元以对其压盖的图形的要素ID为要素索引;
对图层中的图形进行轮廓扫描,对于每个图形,按如下公式计算图形的轮廓线经过的每一栅格单元的权值和覆盖面积,
cov er=fy2-fy1
area=(fx2+fx1)×cov er
其中,(fx1,fy1)为经过所述栅格单元的轮廓的线段起始点的小数坐标部分,(fx2,fy2)为经过所述栅格单元的轮廓的线段终止点的小数坐标部分,cover为权值,area为覆盖面积;
对于每个图形,绘制控制器遍历图形的轮廓经过的栅格单元,依据所述栅格单元的覆盖面积判断所述栅格单元是否被图形完全填充,对完全填充的栅格单元和未完全填充的栅格单元分别进行标记,并将轮廓内的栅格单元进行跨度填充,将所述栅格单元标记为完全填充;
将完全填充的栅格单元的图形在栅格单元的实际占用面积的比值设置为100%;对于未完全填充的栅格单元,根据所述栅格单元的权值和覆盖面积计算所述栅格单元的图形在栅格单元的实际占用面积的比值;保存栅格单元的位置索引、要素索引和实际占用面积的比值,进而生成所述图形对应的栅格底图。
在GIS空间谓词判断为判断两个图层间是否有相交图形时,所述谓词判断模块进一步用于
对于两个待比较的图层,两个图层的栅格底图中坐标相同的栅格单元相互对应,遍历栅格单元;
对于遍历的栅格单元,计算所述栅格单元对应于两个图层的实际占用面积的比值的和,判断所述和是否大于100%,如果是,停止遍历,GIS空间谓词判断结果为两个图层相交。
所述谓词判断模块在得出GIS空间谓词判断结果后还用于返回所述栅格单元在两个栅格底图中对应的要素ID。
所述谓词判断模块在遍历栅格单元前还用于
分别确定两个待比较的图层的外包,以两个图层的外包的相交区域为遍历区域;
所述谓词判断模块在遍历栅格单元时进一步用于对遍历区域中的栅格单元进行遍历。
所述谓词判断模块还用于在遍历的所有栅格单元的所述实际占用面积的比值的和都不大于1时,按如下公式计算平均期望值,
Σcellarea 1 × cellarea 2 count
其中,cellarea1为遍历的栅格单元对应于一个图层的实际占用面积的比值,cellarea2为所述栅格单元对应于另一个图层的实际占用面积的比值,count为遍历的栅格单元的数量;
如果平均期望值大于预设的条件阀值,则GIS空间谓词判断结果为两个图层相交。
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述谓词判断模块进一步用于
对于包含图层中的每个图形,比较所述图形和被包含图层中每个图形的在同一栅格单元的实际占用面积比值,将被包含图层中实际占用面积的比值都不大于所述图形的实际占用面积比值的图形为所述图形的包含图形。
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述谓词判断模块进一步用于
对于包含图层的每个图形,以被包含图层中的所有图形为所述图形的比较图形,并组成结果集;
对于包含图层中的每个图形,比较所述图形和所述图形的结果集中每个比较图形在所述比较图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值都不大于所述图形的实际占用面积比值,则所述比较图形为所述图形包含的图形。
所述谓词判断模块在组成结果集后还用于确定结果集中比较图形同所述图形间的相交关系,将不同所述图形相交的比较图形从结果集中删除。
所述谓词判断模块在组成结果集后还用于确定所述图形的外包,比较所述图形和结果集中每个比较图形的在所述图形的外包内的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
所述谓词判断模块在组成结果集后还用于确定所述图形和所述图形的结果集中的比较图形的外包,将外包不在所述图形的外包内的比较图形从所述图形的结果集中删除。
所述谓词判断模块在组成结果集后还用于确定所述图形的轮廓,比较所述图形和结果集中每个比较图形的在所述图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
本发明的有益效果在于,通过将地理要素的属性信息与栅格像素关联,面向网络地图服务,避免了传统计算几何算法复杂度高的缺点,可以提供更好的性能,帮助服务器支持更多的并发用户数量。栅格图像不仅是矢量数据的可视化表达,更可视为是矢量数据的栅格化近似(approximation),这种近似精度远高于最小外包矩形(MBR)等表达形式,可以作为空间关系谓词的实现基础。
附图说明
图1是几何体表达和栅格化近似的比较示意图;
图2是本发明进行栅格转化的一具体实施方式的流程图;
图3(a)是举例中某一个栅格单元的权值及覆盖面积示意图;图3(b)是图3(a)中举例在全局中示意图;
图4是本发明空间谓词判断的一具体实施例的示意图;
图5是本发明空间谓词判断的另一具体实施例的示意图;
图6是本发明GIS空间谓词判断系统的结构图。
具体实施方式
下面结合附图,对本发明做进一步的详细描述。
表现形式是用在WEB上的空间分析技术。例如,首先在客户端载入一幅地图,然后用户可以自定义的画关心的图层,然后选择想进行的操作,例如返回自定义图层压盖的区域(overlap),或者返回自定义图层完全包含的区域(contain)。本发明中,选择空间谓词作为研究对象。
步骤S100,对于输入的图层生成对应的栅格底图,栅格底图的栅格单元以压盖所述栅格单元的图层的图形的要素ID为要素索引,栅格单元以坐标值为位置索引,每个栅格单元具有对其压盖的图形在所述栅格单元的实际占用面积的信息。
图层中每个图形具有一个对应的要素ID,图层对应到栅格地图后,图形压盖部分栅格单元,栅格单元以对其压盖的图形的要素ID为要素索引,如图1所示。
地图绘制中一个图形同该图形的属性信息被称为地理要素。
步骤S100中对于输入的地理要素的图形生成对应的栅格底图的一具体实施方式如下所示。
实现图片像素与矢量点关联,具体指在绘制地理要素的图形同时,生成一张与该图形匹配的栅格底图,该栅格底图就是与该图形对应的索引图,如图1(b)所示。栅格底图的每个栅格单元都对应了该地理要素的属性信息内容,例如地理要素的要素ID号等,以要素ID号为栅格单元的要素索引。
因此完全不存在搜索存在重叠区域这种情况。可作为索引快速提取要素信息,也是实现下述空间谓词算子的基础。
首先,对地理要素的矢量点进行坐标转换,便于利用亚像素精度进行后续的计算。然后,进行轮廓扫描和绘制控制器计算填充单元跨段,在此过程中计算出图形轮廓处的该图形占栅格单元的面积的百分比,该百分比称为栅格单元对应于该图形的实际占用面积。最后,将要素ID信息和实际占用面积信息存入以像素为索引的结构里。
这样当用户在屏幕点击等操作时,就能关联取出相应的要素信息,给之后的空间分析功能打下基础。该具体实施方式的流程如图2所示。
采用矢量方式表示的地理要素的图形中包含矢量点。
步骤S401,输入矢量方式表示的图层中地理要素的图形的矢量点,按显示屏幕的分辨率对地理要素的矢量点坐标进行坐标转换,按显示屏幕的像素点进行栅格划分,栅格单元以坐标值为位置索引,栅格单元以对其压盖的图形的要素ID为要素索引。
如果没有图形对栅格单元进行压盖,则栅格单元的要素索引和实际占用面积的信息都为初始化时的缺省值。
坐标值是根据实际地理坐标投影到屏幕坐标的栅格行列号。
在一实施例中,将double类型的矢量点坐标都乘以256,相当于将该坐标的二进制表示左移8位。
这种坐标转换的优点是考虑了小数部分对像素的栅格单元权值(cover)的影响,便于利用亚像素精度进行后续的计算。
步骤S402,对图层中的图形进行轮廓扫描,对于每个图形,按如下公式计算图形的轮廓线经过的每一栅格单元的权值和覆盖面积,
cov er=fy2-fy1
area=(fx2+fx1)×cov er
其中,(fx1,fy1)为经过该栅格单元的轮廓的线段起始点的小数坐标部分,(fx2,fy2)为经过该栅格单元的轮廓的线段终止点的小数坐标部分,cover为权值,area为覆盖面积。
在以具体实施例中运用了亚像素精度(subpixel accuracy)的布兰森汉姆(Bresenham)生成直线算法进行轮廓所描,Bresenham生成直线算法是一种基于误差判别式来生成直线的方法。与传统Bresenham所不同的是,该算法利用误差判别选择像素的过程是基于亚像素的,把一个像素分成N×N个小像素,例如,将单位栅格平均分成了256×256个子像素。
如图1(a)中地理要素的图形的轮廓,记录为该地理要素的矢量坐标序列。
通过连续取出坐标序列中相邻的两个坐标,组成一条线段,从该线段的起始点坐标逐个像素,利用Y方向上逐行增加,X方向上逐单元增加的方法,计算到终止点坐标,计算轮廓线所经过的每一个栅格单元计算权值(cover)和每一个栅格单元覆盖面积(area),以便使用加权采样方法进行反走样的实现。根据线段斜率及增量依次判断该线段与所有横纵栅格线的交点。轮廓由N个矢量点组成,每两个相邻矢量点组成一条线段,轮廓扫描过程就是逐个线段的扫描,这里的线段是指其中两个点的坐标组成的线段。
交点的计算非仅仅依赖于斜率将原坐标(xi,yi)进行增量(delta)运算,而是需要转换成亚像素精度,增量(delta)的计算公式描述如下:
delta = ( 256 - fy ) × Δx Δy
其中fy为该线段压盖栅格点的实数坐标分量Y部分经过坐标转换通道所得的小数部分,设线段的起始点坐标为(x1,y1),终止点坐标为(x2,y2),Δx=x2-x1,Δy=y2-y1。可比较容易地计算出受该直线所影响的整数栅格单元的cover和area,计算公式描述如下:
cover=fy2-fy1            (1)
area=(fx2+fx1)×cover    (2)
(fx1,fy1)为线段起始点的小数坐标部分,(fx2,fy2)为线段终止点的小数坐标部分。
对公式(1)和(2)的举例说明如下所述。
栅格都是以整数计算的,如图3(b)中A,B,但是在实际扫描过程中该线段与栅格线的交点并不一定正好在整数栅格上,如图3(b)中a,b,c等。图3(a)为图3(b)的局部放大图,因此要想求该线段对整数栅格的影响就要以其整数点A,B的右上角格子为计算单元,即,A右上角格子的权值和覆盖面积将作为栅格点A的信息cover_A、area_A来保存,同理B点。如图3(b)所示,对整数坐标A点有影响的点有线段的顶点a,及线段与X方向栅格线的交点b,对整数坐标B点影响的点有线段与X轴栅格线交点b及与Y轴栅格线交点c。因此,A、B两点的权值和覆盖面积如下:
cover_A=fy_b-fy_a              (3)
area_A=(fx_a+fx_b)×cover_A    (4)
cover_B=fy_c-fy_b              (5)
area_B=(fx_c+fx_b)×cover_B    (6)
步骤S403,对于每个图形,绘制控制器遍历图形的轮廓经过的栅格单元,依据栅格单元的覆盖面积判断所述栅格单元是否被图形完全填充,对完全填充的栅格单元和未完全填充的栅格单元分别进行标记,将轮廓内的栅格单元进行跨度填充,将这些栅格单元标记为完全填充。
首先,绘制控制器将轮廓经过的所有栅格单元,例如上述计算的A和B等整数坐标属于此处的单元格,进行排序,将X坐标相同的点按照Y坐标由小到大排序。然后,绘制控制器按照行扫描顺序,扫描顺序指按照X坐标由小到大扫描每行,从最小行到最大行逐行扫描,利用图形中每个扫描栅格单元的area进行判断栅格单元是否完全被图形填充,对于未完全填充的栅格单元,进行标记,例如利用add_cell()函数进行标记,对于完全填充的栅格进行标记,例如利用add_span()函数进行标记。
未完全填充的栅格指图中所计算的area没有完全覆盖当前栅格,如图3(b)所示。
由于cover有正负,所以在扫描每一行的时候都将所有轮廓的单元格的cover相加,因为图形的轮廓是闭合的,所以当该跨段标记完以后遍历的所有栅格单元的cover加和会为0,通过这样的判断,能够自动找到哪部分需要填充,哪部分不需要填充。
步骤S404,将完全填充的栅格单元的图形在栅格单元的实际占用面积的比值设置为1;对于未完全填充的栅格单元,根据所述栅格单元的权值和覆盖面积计算所述栅格单元的图形在栅格单元的实际占用面积的比值;保存栅格单元的位置索引、要素索引和实际占用面积的比值,进而生成所述图形对应的栅格底图。
轮廓扫描的时候保存的栅格单元的area并非是有效面积,因为不知道图形的内部还是外部。内部还是外部同轮廓的走向相关,由图3(b)可以看出,area是由轮廓跟栅格单元的左侧围成的面积,而当轮廓的走向是顺时针时,真正的面积应该是栅格单元的面积减去area得到的,剩余一部分的面积,所以真正的轮廓的栅格单元实际被图形包含的面积需要在绘制的时候才能确定。
计算每个未完全填充的栅格单元的实际面积。确定出一个图形轮廓所经过的每个栅格单元,然后再计算每个栅格单元中有多少面积是落在图形内,把整数坐标相同的栅格单元的area和cover累加,然后通过cover和area共同作用计算出轮廓经过的栅格单元实际被图形占用面积,用alpha表示。
轮廓走向由cover记录,cover正负值表示不同的轮廓走向,顺时针或逆时针,所以真正需要计算的属于图形内部的面积是需要这两个变量共同计算得出.
计算alpha方法为现有技术中。本发明中通过area和cover共同计算出alpha。
alpha = cover - area 256 + 256 = cover ( 1 - fx 1 + fx 2 256 + 256 )
这个值越大,则代表图形压盖的格子百分比越多。
代码如下:
  calculate_alpha
  {
    poly_base_shift=8;
    aa_shift=8;
    aa_num  =1<<aa_shift;
    aa_mask  =aa_num-1;
    aa_2num=aa_num*2;
    aa_2mask=aa_2num-1;
    int alpha=((cover《(poly_base_shift+1))-area)》
(poly_base_shift*2+1-aa_shift);
    if(alpha<0)
       alpha=-alpha;
    alpha&=aa_2mask;
    if(alpha>aa_hum)
       alpha=aa_2num-alpha;
   if(alpha>aa_mask)
       alpha=aa_mask;
   return alpha;
   }
经过步骤S100,能更好的利用已有的矢量数据栅格化近似,提高处理速度,也就是完成了栅格化过程,以栅格矩阵形式存储,其中坐标值为位置索引,属性信息等为图层信息,以文件形式保存下来。
步骤S200,对于两个待比较的地理要素的图层,两个图层的栅格底图中坐标相同的栅格单元相互对应,将相对应的两个栅格单元的实际占用面积的信息进行比较,得出所述两个图层的GIS空间谓词判断结果。
具体实施方式一
在GIS空间谓词判断为判断两个图层间是否有相交图形时,所述步骤S200的具体实施方式如下所述。
步骤S210,对于两个待比较的图层,两个图层中图形的栅格底图中坐标相同的栅格单元相互对应,遍历栅格单元。
步骤S220,对于遍历的栅格单元,计算所述栅格单元对应于两个图层的实际占用面积的比值的和,判断所述和是否大于1,如果是,执行步骤S230。
步骤S230,停止遍历,GIS空间谓词判断结果为两个图层相交。
在较佳的实施方式中,所述步骤S230还包括返回所述栅格单元在两个栅格底图中对应的要素ID。返回的结果为一对具有相交关系的图形的要素ID。
由于遍历栅格单元为主要耗时过程,因而在进一步较佳的实施方式中,确定图层外包的交集,在交集中进行遍历。
图层的外包为将图层中所有图形都包含在内的最小矩形。
在一个较佳的实施方式中,所述步骤S210前还包括:
步骤S210A,分别确定两个待比较的图层的外包,以两个图层的外包的相交区域为遍历区域;
所述步骤S210中遍历栅格单元进一步为对遍历区域中的栅格单元进行遍历。
在一个较佳的实施方式中,所述步骤S220还包括如下步骤。
步骤S221,如果遍历的所有栅格单元的所述比值的和都不大于1,则执行步骤S222。
步骤S222,按如下公式计算平均期望值,
Σcellarea 1 × cellarea 2 count
其中,cellarea1为遍历的栅格单元对应于一个图层的实际占用面积的比值,cellarea2为所述栅格单元对应于另一个图层的实际占用面积的比值,count为遍历的栅格单元的数量;
步骤S223,如果平均期望值大于预设的条件阀值,则GIS空间谓词判断结果为两个图层相交。
一个实施例如图4所示。
步骤S501,给出两个多边形图层。
步骤S502,把图层分别栅格化并保存好底图的栅格索引。
步骤S503,对栅格化后同位置栅格进行判断,执行多种空间算子。
步骤S504,得出谓词判断结果。
图4中Disjoint/intersect、Equals、Dwithin/Beyond、Touches、Crosses、Within/Contians、Overlaps、BBOX本别对应表示分离/相交、相等、距离内/相离、相接、穿过、被包含/包含、重叠、外包。
两个待比较的图层分别为A和B,判断两个图层是否有图形相交(overlap),预设的期望阀值为60%。
本文使用的基于亚像素精度的方法能准确记录轮廓的栅格单元的面积,因此可以根据两个图层中图形占用的栅格单元的实际占用面积的比值来确定两个图层是否有图形相交。如同一个位置的栅格单元,第一个图层占有此栅格为49%,第二个图层为52%,相加>100%,所以确定相交。
具体的说:在两个图层中轮廓的交作为新轮廓,在新外包里扫描线遍历,如果某个栅格单元在两个图层中都有被图形压盖,则进行如下对比:取出两个图层中此栅格单元对应的信息,设cellarea1、id1为A图层的栅格单元的实际占用面积的比值和当前对应图形的要素ID号;cellarea2、id2为B图层的栅格单元的实际占用面积的比值和当前图形的要素ID号;如果cellarea1+cellarea2>=100%,说明两个图层在此栅格中相交了,将相交对(id1和id2)存入结果集。所有的栅格单元都不满足cellarea1+cellarea2>=100%,则将期望值cellarea1×cellarea2依次加到value值里,count记录共加入了多少次栅格。最终两个图层可能相交的平均期望值即为value/count,这个值是个百分比,如果得出60%,则说明两个图层有60%的可能性相交。
伪代码如下:
    for(外包内y扫描线循环)
{  for(外包内x扫描线循环)
  {   if(此格子在两个图层中都有值)
    {
      cellarea1、id1为A图层的格子百分比和当前多边形ID号;
      cellarea2、id2为B图层的格子百分比和当前多边形ID号;
      结果集为存有相交对(id1和id2)和相交可能性(pvalue=待定结果
值value/待定格子数count)的集合
     if(当前格子的相交对在结果集中并且还未确定是否相交)
     {
     if(cellarea1+cellarea2>=100%)
        说明在当前格子里两个多边形相交了,更新结果集
     else
     {
        value+=cellarea1*cellarea2;
        count++;
      }
   }else  //当前格子的相交对不在结果集中
   {
      if(cellarea1+cellarea2>=100%)
            说明在当前格子里两个多边形相交了,更新结果集
         else
         {
               value=cellarea1*cellarea2;
               count=1;
               加入结果集(相交对和相交可能性)
               }
            }
         }
      }
   }
具体实施方式二
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层。
对于包含关系,一种判断方法为,对于包含图层中的每个图形,比较所述图形和被包含图层中每个图形的在同一栅格单元的实际占用面积比值,将被包含图层中实际占用面积的比值都不大于所述图形的实际占用面积比值的图形为所述图形包含的图形。
采用上述方法需要对每个单元格进行比较操作,为节约计算时间,另一个较佳的判断方法如下所述。
对于包含图层的每个图形,以被包含图层中的所有图形为所述图形的比较图形,并组成结果集;对于包含图层中的每个图形,比较所述图形和该图形的结果集中每个比较图形的在这个比较图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,该比较图形的实际占用面积的比值都不大于所述图形的实际占用面积比值,则所述比较图形为所述图形包含的图形。
在图5所示的举例中,分别在图形1、图形2、图形3、图形4的轮廓内轮廓上的栅格单元中比较图形A和轮廓对应的图形1、2、3或4的实际占用面积比值。结果只有图形2在图形2的轮廓范围内和范围上的实际占用面积的比值都不大于图形A的在该些栅格单元的实际占用面积比值。
进一步的为节省比较时间,在进行上述比较图形轮廓内的实际占有面积的比值比较前,对结果集进行初步处理,删除可以确定不被包含的比较图形。
一种初步处理方法为,确定结果集中比较图形同所述图形间的相交关系,将不同所述图形相交的比较图形从结果集中删除。
第二种初步处理方法为,确定所述图形的外包,比较所述图形和结果集中每个比较图形的在所述图形的外包内的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
在图5所示的举例中,虚线为图形A的外包,通过该初步处理方法能够将图形1和图形3从结果集中删除。
第三种初步处理方法为,确定所述图形和所述图形的结果集中的比较图形的外包,将外包不在所述图形的外包内的比较图形从所述图形的结果集中删除。
在图5所示的举例中,虚线为图形A的外包,通过该初步处理方法能够将图形4从结果集中删除。
第四种初步处理方法为,确定所述图形的轮廓,比较所述图形和该图形的结果集中每个比较图形的在所述图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
在图5所示的举例中,虚线为图形A的外包,通过该初步处理方法能够将图形1从结果集中删除。
本发明的包含关系判断的实施例如图5所述。
设两个图层分别为第一图层和第二图层,判断是否第一图层包含第二图形的图形,第一图层具有图形A,第二图层具有图形1、图形2、图形3、和图形4。如果包含,则返回第二图层中被第一图层包含的图形。
步骤S601,对于包含图形A,以第二图层中的所有图形为比较图形,并组成结果集,确定结果集中比较图形同图形A间的相交关系,将不同图形A相交的比较图形从结果集中删除。进而决定结果集中包含图形1、图形2、图形3、和图形4。
步骤S602,确定图形A的轮廓,分别比较图形A和图形1、图形2、图形3、和图形4在图形A的轮廓内和轮廓上的栅格单元的实际占用面积比值。图形1在轮廓上栅格单元的实际占用面积的比值大于图形A在轮廓上的栅格单元的实际占用面积比值,因而将图形1从图形的结果集中删除。结果集中包含图形2、图形3、和图形4。
步骤S603,确定图形A,以及图形2、图形3、和图形4的外包,图形4的外包不在图形A的外包内,图形A的外包用虚线表示,将图形4从图形A的结果集中删除。结果集中包含图形2和图形3。
步骤S604,对于图形2,比较图形A和图形2在图形2的轮廓内和轮廓上的栅格单元的实际占用面积比值,图形2在该些栅格单元的实际占用面积的比值都不大于图形A在该些栅格单元的实际占用面积比值,则图形2为图形A包含的图形。
对于图形3,比较图形A和图形3在图形3的轮廓内和轮廓上的栅格单元的实际占用面积比值,图形3在该些栅格单元的实际占用面积的比值存在大于图形A在该些栅格单元的实际占用面积比值的情况,则图形3不为图形A包含的图形。
本专利使用的基于亚像素精度的方法能准确记录轮廓的栅格单元的的实际占用面积,因此可以根据两个对象占用的单元格的面积来确定是否相交。如同一个位置的栅格,第一个图层占有此栅格为49%,第二个图层为52%,相加>100%,所以确定相交,而已有的方法则不能确定。而且,已有的方法只能实现两个多边形的判断,而不能处理多个多边形的图层。而本专利采用的方法不但能精确记录栅格面积百分比,提高结果的准确性,并能把百分比和图层属性信息等都保存下来,给用户返回更多有效的结果信息(结果多边形的ID号等)。
本发明GIS空间谓词判断的系统如图6所示。
栅格底图生成模块100,用于对于输入的图层生成对应的栅格底图,栅格底图的栅格单元以压盖所述栅格单元的图层的图形的要素ID为要素索引,栅格单元以坐标值为位置索引,每个栅格单元具有对其压盖的图形在所述栅格单元的实际占用面积的比值;
谓词判断模块200,用于对于两个待比较的图层,两个图层中栅格底图中坐标相同的栅格单元相互对应,将相对应的两个栅格单元的实际占用面积的信息进行比较,得出所述两个图层的GIS空间谓词判断结果。
进一步优选的实施方式中,所述栅格底图生成模块进一步用于
对于输入矢量方式表示的图层中地理要素的图形的矢量点,按显示屏幕的分辨率对地理要素的矢量点坐标进行坐标转换,按显示屏幕的像素点进行栅格划分,栅格单元以坐标值为位置索引,栅格单元以对其压盖的图形的要素ID为要素索引;
对图层中的图形进行轮廓扫描,对于每个图形,按如下公式计算图形的轮廓线经过的每一栅格单元的权值和覆盖面积,
cov er=fy2-fy1
area=(fx2+fx1)×cover
其中,(fx1,fy1)为经过所述栅格单元的轮廓的线段起始点的小数坐标部分,(fx2,fy2)为经过所述栅格单元的轮廓的线段终止点的小数坐标部分,cover为权值,area为覆盖面积;
对于每个图形,绘制控制器遍历图形的轮廓经过的栅格单元,依据所述栅格单元的覆盖面积判断所述栅格单元是否被图形完全填充,对完全填充的栅格单元和未完全填充的栅格单元分别进行标记,并将轮廓内的栅格单元进行跨度填充,将所述栅格单元标记为完全填充;
将完全填充的栅格单元的图形在栅格单元的实际占用面积的比值设置为100%;对于未完全填充的栅格单元,根据所述栅格单元的权值和覆盖面积计算所述栅格单元的图形在栅格单元的实际占用面积的比值;保存栅格单元的位置索引、要素索引和实际占用面积的比值,进而生成所述图形对应的栅格底图。
进一步优选的实施方式中,在GIS空间谓词判断为判断两个图层间是否有相交图形时,所述谓词判断模块进一步用于
对于两个待比较的图层,两个图层的栅格底图中坐标相同的栅格单元相互对应,遍历栅格单元;
对于遍历的栅格单元,计算所述栅格单元对应于两个图层的实际占用面积的比值的和,判断所述和是否大于100%,如果是,停止遍历,GIS空间谓词判断结果为两个图层相交。
进一步优选的实施方式中,所述谓词判断模块在得出GIS空间谓词判断结果后还用于返回所述栅格单元在两个栅格底图中对应的要素ID。
进一步优选的实施方式中,所述谓词判断模块在遍历栅格单元前还用于
分别确定两个待比较的图层的外包,以两个图层的外包的相交区域为遍历区域;
所述谓词判断模块在遍历栅格单元时进一步用于对遍历区域中的栅格单元进行遍历。
进一步优选的实施方式中,所述谓词判断模块还用于在遍历的所有栅格单元的所述实际占用面积的比值的和都不大于1时,按如下公式计算平均期望值,
Σcellarea 1 × cellarea 2 count
其中,cellarea1为遍历的栅格单元对应于一个图层的实际占用面积的比值,cellarea2为所述栅格单元对应于另一个图层的实际占用面积的比值,count为遍历的栅格单元的数量;
如果平均期望值大于预设的条件阀值,则GIS空间谓词判断结果为两个图层相交。
进一步优选的实施方式中,在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述谓词判断模块进一步用于
对于包含图层中的每个图形,比较所述图形和被包含图层中每个图形的在同一栅格单元的实际占用面积比值,将被包含图层中实际占用面积的比值都不大于所述图形的实际占用面积比值的图形为所述图形的包含图形。
进一步优选的实施方式中,在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述谓词判断模块进一步用于
对于包含图层的每个图形,以被包含图层中的所有图形为所述图形的比较图形,并组成结果集;
对于包含图层中的每个图形,比较所述图形和所述图形的结果集中每个比较图形在所述比较图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值都不大于所述图形的实际占用面积比值,则所述比较图形为所述图形包含的图形。
进一步优选的实施方式中,所述谓词判断模块在组成结果集后还用于确定结果集中比较图形同所述图形间的相交关系,将不同所述图形相交的比较图形从结果集中删除。
进一步优选的实施方式中,所述谓词判断模块在组成结果集后还用于确定所述图形的外包,比较所述图形和结果集中每个比较图形的在所述图形的外包内的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
进一步优选的实施方式中,所述谓词判断模块在组成结果集后还用于确定所述图形和所述图形的结果集中的比较图形的外包,将外包不在所述图形的外包内的比较图形从所述图形的结果集中删除。
进一步优选的实施方式中,所述谓词判断模块在组成结果集后还用于确定所述图形的轮廓,比较所述图形和结果集中每个比较图形的在所述图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。

Claims (24)

1.一种GIS空间谓词判断的方法,其特征在于,包括:
步骤1,对于输入的图层生成对应的栅格底图,栅格底图的栅格单元以压盖所述栅格单元的图层的图形的要素ID为要素索引,栅格单元以坐标值为位置索引,每个栅格单元具有对其压盖的图形在所述栅格单元的实际占用面积的比值;
步骤2,对于两个待比较的图层,两个图层中栅格底图中坐标相同的栅格单元相互对应,将相对应的两个栅格单元的实际占用面积的信息进行比较,得出所述两个图层的GIS空间谓词判断结果。
2.如权利要求1所述的GIS空间谓词判断的方法,其特征在于,
所述步骤1进一步为,
步骤21,输入矢量方式表示的图层中地理要素的图形的矢量点,按显示屏幕的分辨率对地理要素的矢量点坐标进行坐标转换,按显示屏幕的像素点进行栅格划分,栅格单元以坐标值为位置索引,栅格单元以对其压盖的图形的要素ID为要素索引;
步骤22,对图层中的图形进行轮廓扫描,对于每个图形,按如下公式计算图形的轮廓线经过的每一栅格单元的权值和覆盖面积,
cov er=fy2-fy1
area=(fx2+fx1)×cover
其中,(fx1,fy1)为经过所述栅格单元的轮廓的线段起始点的小数坐标部分,(fx2,fy2)为经过所述栅格单元的轮廓的线段终止点的小数坐标部分,cover为权值,area为覆盖面积;
步骤23,对于每个图形,绘制控制器遍历图形的轮廓经过的栅格单元,依据所述栅格单元的覆盖面积判断所述栅格单元是否被图形完全填充,对完全填充的栅格单元和未完全填充的栅格单元分别进行标记,并将轮廓内的栅格单元进行跨度填充,将所述栅格单元标记为完全填充;
步骤24,将完全填充的栅格单元的图形在栅格单元的实际占用面积的比值设置为100%;对于未完全填充的栅格单元,根据所述栅格单元的权值和覆盖面积计算所述栅格单元的图形在栅格单元的实际占用面积的比值;保存栅格单元的位置索引、要素索引和实际占用面积的比值,进而生成所述图形对应的栅格底图。
3.如权利要求1所述的GIS空间谓词判断的方法,其特征在于,
在GIS空间谓词判断为判断两个图层间是否有相交图形时,所述步骤2进一步为,
步骤31,对于两个待比较的图层,两个图层的栅格底图中坐标相同的栅格单元相互对应,遍历栅格单元;
步骤32,对于遍历的栅格单元,计算所述栅格单元对应于两个图层的实际占用面积的比值的和,判断所述和是否大于100%,如果是,执行步骤33;
步骤33,停止遍历,GIS空间谓词判断结果为两个图层相交。
4.如权利要求3所述的GIS空间谓词判断的方法,其特征在于,
所述步骤33还包括,
步骤41,返回所述栅格单元在两个栅格底图中对应的要素ID。
5.如权利要求3所述的GIS空间谓词判断的方法,其特征在于,
所述步骤31前还包括:
步骤51,分别确定两个待比较的图层的外包,以两个图层的外包的相交区域为遍历区域;
所述步骤31中遍历栅格单元进一步为,
步骤52,对遍历区域中的栅格单元进行遍历。
6.如权利要求3所述的GIS空间谓词判断的方法,其特征在于,
所述步骤32还包括
步骤61,如果遍历的所有栅格单元的所述实际占用面积的比值的和都不大于1,则执行步骤62;
步骤62,按如下公式计算平均期望值,
Σcellarea 1 × cellarea 2 conut
其中,cellarea1为遍历的栅格单元对应于一个图层的实际占用面积的比值,cellarea2为所述栅格单元对应于另一个图层的实际占用面积的比值,count为遍历的栅格单元的数量;
步骤63,如果平均期望值大于预设的条件阀值,则GIS空间谓词判断结果为两个图层相交。
7.如权利要求1所述的GIS空间谓词判断的方法,其特征在于,
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述步骤2进一步为,
步骤71,对于包含图层中的每个图形,比较所述图形和被包含图层中每个图形的在同一栅格单元的实际占用面积比值,将被包含图层中实际占用面积的比值都不大于所述图形的实际占用面积比值的图形为所述图形的包含图形。
8.如权利要求1所述的GIS空间谓词判断的方法,其特征在于,
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述步骤2进一步为,
步骤81,对于包含图层的每个图形,以被包含图层中的所有图形为所述图形的比较图形,并组成结果集;
步骤82,对于包含图层中的每个图形,比较所述图形和所述图形的结果集中每个比较图形在所述比较图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值都不大于所述图形的实际占用面积比值,则所述比较图形为所述图形包含的图形。
9.如权利要求8所述的GIS空间谓词判断的方法,其特征在于,
所述步骤81还包括,确定结果集中比较图形同所述图形间的相交关系,将不同所述图形相交的比较图形从结果集中删除。
10.如权利要求8所述的GIS空间谓词判断的方法,其特征在于,
所述步骤81还包括,确定所述图形的外包,比较所述图形和结果集中每个比较图形的在所述图形的外包内的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
11.如权利要求8所述的GIS空间谓词判断的方法,其特征在于,
所述步骤81还包括,确定所述图形和所述图形的结果集中的比较图形的外包,将外包不在所述图形的外包内的比较图形从所述图形的结果集中删除。
12.如权利要求8所述的GIS空间谓词判断的方法,其特征在于,
所述步骤81还包括,确定所述图形的轮廓,比较所述图形和结果集中每个比较图形的在所述图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
13.一种GIS空间谓词判断的系统,其特征在于,包括:
栅格底图生成模块,用于对于输入的图层生成对应的栅格底图,栅格底图的栅格单元以压盖所述栅格单元的图层的图形的要素ID为要素索引,栅格单元以坐标值为位置索引,每个栅格单元具有对其压盖的图形在所述栅格单元的实际占用面积的比值;
谓词判断模块,用于对于两个待比较的图层,两个图层中栅格底图中坐标相同的栅格单元相互对应,将相对应的两个栅格单元的实际占用面积的信息进行比较,得出所述两个图层的GIS空间谓词判断结果。
14.如权利要求13所述的GIS空间谓词判断的系统,其特征在于,
所述栅格底图生成模块进一步用于
对于输入矢量方式表示的图层中地理要素的图形的矢量点,按显示屏幕的分辨率对地理要素的矢量点坐标进行坐标转换,按显示屏幕的像素点进行栅格划分,栅格单元以坐标值为位置索引,栅格单元以对其压盖的图形的要素ID为要素索引;
对图层中的图形进行轮廓扫描,对于每个图形,按如下公式计算图形的轮廓线经过的每一栅格单元的权值和覆盖面积,
cov er=fy2-fy1
area=(fx2+fx1)×cov er
其中,(fx1,fy1)为经过所述栅格单元的轮廓的线段起始点的小数坐标部分,(fx2,fy2)为经过所述栅格单元的轮廓的线段终止点的小数坐标部分,cover为权值,area为覆盖面积;
对于每个图形,绘制控制器遍历图形的轮廓经过的栅格单元,依据所述栅格单元的覆盖面积判断所述栅格单元是否被图形完全填充,对完全填充的栅格单元和未完全填充的栅格单元分别进行标记,并将轮廓内的栅格单元进行跨度填充,将所述栅格单元标记为完全填充;
将完全填充的栅格单元的图形在栅格单元的实际占用面积的比值设置为100%;对于未完全填充的栅格单元,根据所述栅格单元的权值和覆盖面积计算所述栅格单元的图形在栅格单元的实际占用面积的比值;保存栅格单元的位置索引、要素索引和实际占用面积的比值,进而生成所述图形对应的栅格底图。
15.如权利要求13所述的GIS空间谓词判断的系统,其特征在于,
在GIS空间谓词判断为判断两个图层间是否有相交图形时,所述谓词判断模块进一步用于
对于两个待比较的图层,两个图层的栅格底图中坐标相同的栅格单元相互对应,遍历栅格单元;
对于遍历的栅格单元,计算所述栅格单元对应于两个图层的实际占用面积的比值的和,判断所述和是否大于100%,如果是,停止遍历,GIS空间谓词判断结果为两个图层相交。
16.如权利要求15所述的GIS空间谓词判断的系统,其特征在于,
所述谓词判断模块在得出GIS空间谓词判断结果后还用于返回所述栅格单元在两个栅格底图中对应的要素ID。
17.如权利要求15所述的GIS空间谓词判断的系统,其特征在于,
所述谓词判断模块在遍历栅格单元前还用于
分别确定两个待比较的图层的外包,以两个图层的外包的相交区域为遍历区域;
所述谓词判断模块在遍历栅格单元时进一步用于对遍历区域中的栅格单元进行遍历。
18.如权利要求15所述的GIS空间谓词判断的系统,其特征在于,
所述谓词判断模块还用于在遍历的所有栅格单元的所述实际占用面积的比值的和都不大于1时,按如下公式计算平均期望值,
Σcellarea 1 × cellarea 2 conut
其中,cellarea1为遍历的栅格单元对应于一个图层的实际占用面积的比值,cellarea2为所述栅格单元对应于另一个图层的实际占用面积的比值,count为遍历的栅格单元的数量;
如果平均期望值大于预设的条件阀值,则GIS空间谓词判断结果为两个图层相交。
19.如权利要求13所述的GIS空间谓词判断的系统,其特征在于,
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述谓词判断模块进一步用于
对于包含图层中的每个图形,比较所述图形和被包含图层中每个图形的在同一栅格单元的实际占用面积比值,将被包含图层中实际占用面积的比值都不大于所述图形的实际占用面积比值的图形为所述图形的包含图形。
20.如权利要求13所述的GIS空间谓词判断的系统,其特征在于,
在GIS空间谓词判断为判断两个图层间是否有包含关系的图形时,确定包含图层和被包含图层,所述谓词判断模块进一步用于
对于包含图层的每个图形,以被包含图层中的所有图形为所述图形的比较图形,并组成结果集;
对于包含图层中的每个图形,比较所述图形和所述图形的结果集中每个比较图形在所述比较图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值都不大于所述图形的实际占用面积比值,则所述比较图形为所述图形包含的图形。
21.如权利要求20所述的GIS空间谓词判断的系统,其特征在于,
所述谓词判断模块在组成结果集后还用于确定结果集中比较图形同所述图形间的相交关系,将不同所述图形相交的比较图形从结果集中删除。
22.如权利要求20所述的GIS空间谓词判断的系统,其特征在于,
所述谓词判断模块在组成结果集后还用于确定所述图形的外包,比较所述图形和结果集中每个比较图形的在所述图形的外包内的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
23.如权利要求20所述的GIS空间谓词判断的系统,其特征在于,
所述谓词判断模块在组成结果集后还用于确定所述图形和所述图形的结果集中的比较图形的外包,将外包不在所述图形的外包内的比较图形从所述图形的结果集中删除。
24.如权利要求20所述的GIS空间谓词判断的系统,其特征在于,
所述谓词判断模块在组成结果集后还用于确定所述图形的轮廓,比较所述图形和结果集中每个比较图形的在所述图形的轮廓内和轮廓上的同一栅格单元的实际占用面积比值,如果在所述栅格单元中,比较图形的实际占用面积的比值存在大于所述图形的实际占用面积比值的情况,则将所述比较图形从所述图形的结果集中删除。
CN 201010224003 2010-07-02 2010-07-02 Gis空间谓词判断方法及其系统 Pending CN101908062A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010224003 CN101908062A (zh) 2010-07-02 2010-07-02 Gis空间谓词判断方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010224003 CN101908062A (zh) 2010-07-02 2010-07-02 Gis空间谓词判断方法及其系统

Publications (1)

Publication Number Publication Date
CN101908062A true CN101908062A (zh) 2010-12-08

Family

ID=43263522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010224003 Pending CN101908062A (zh) 2010-07-02 2010-07-02 Gis空间谓词判断方法及其系统

Country Status (1)

Country Link
CN (1) CN101908062A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270236A (zh) * 2011-08-04 2011-12-07 中国科学院计算技术研究所 一种基于栅格化gis 空间关系判断方法及其系统
CN102565554A (zh) * 2012-02-07 2012-07-11 云南电力试验研究院(集团)有限公司电力研究院 一种生成三维雷电定位地闪点分布图的方法
CN106485767A (zh) * 2015-08-25 2017-03-08 方正国际软件(北京)有限公司 一种绘制符号的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719154A (zh) * 2009-12-24 2010-06-02 中国科学院计算技术研究所 一种基于栅格结构的空间索引建立方法和系统
CN101751449A (zh) * 2009-09-16 2010-06-23 中国科学院计算技术研究所 一种用于地理信息系统中的空间叠加分析方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751449A (zh) * 2009-09-16 2010-06-23 中国科学院计算技术研究所 一种用于地理信息系统中的空间叠加分析方法和系统
CN101719154A (zh) * 2009-12-24 2010-06-02 中国科学院计算技术研究所 一种基于栅格结构的空间索引建立方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《2010 18th International Conference on GEOinformatics》 20100620 Dong Hui,Cheng Zhenlin,Zhao Yanwei,Fang Jinyun "Spatial Predicate Implementation for Modern Internet Map Sever" 1-5 1-24 , 2 *
《2010 18th International Conference on Geoinformatics》 20100620 Zhao Yanwel,Cheng Zhenlin,Dong Hui,Fang Jinyun "One Rasterization Spatial Index for Internet Map Sever" 1-6 1-24 , 2 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270236A (zh) * 2011-08-04 2011-12-07 中国科学院计算技术研究所 一种基于栅格化gis 空间关系判断方法及其系统
CN102565554A (zh) * 2012-02-07 2012-07-11 云南电力试验研究院(集团)有限公司电力研究院 一种生成三维雷电定位地闪点分布图的方法
CN102565554B (zh) * 2012-02-07 2014-12-31 云南电力试验研究院(集团)有限公司电力研究院 一种生成三维雷电定位地闪点分布图的方法
CN106485767A (zh) * 2015-08-25 2017-03-08 方正国际软件(北京)有限公司 一种绘制符号的方法及装置
CN106485767B (zh) * 2015-08-25 2021-07-02 方正国际软件(北京)有限公司 一种绘制符号的方法及装置

Similar Documents

Publication Publication Date Title
Vanegas et al. Modelling the appearance and behaviour of urban spaces
CN102270236A (zh) 一种基于栅格化gis 空间关系判断方法及其系统
US10762669B2 (en) Colorization of vector images
CN102142152B (zh) 用于在计算机屏幕上显示对象的方法、装置和程序
CN109859109B (zh) 一种系列比例尺pdf地图无缝组织与显示方法
CN103838829A (zh) 一种基于分层次边界拓扑搜索模型的栅格转矢量系统
Liao et al. Cluster-based visual abstraction for multivariate scatterplots
CN106952324A (zh) 矢量多边形栅格化并行叠加处理装置及方法
Mustafa et al. Dynamic simplification and visualization of large maps
Wang et al. Parallel scanline algorithm for rapid rasterization of vector geographic data
CN111145356A (zh) 一种基于Unity3D模型的切割方法
CN111091620B (zh) 基于图形学的地图动态路网处理方法及系统、计算机设备
Fan et al. Layout graph model for semantic façade reconstruction using laser point clouds
Filipov et al. Are we there yet? a roadmap of network visualization from surveys to task taxonomies
CN101908062A (zh) Gis空间谓词判断方法及其系统
Li et al. 3D geological implicit modeling method of regular voxel splitting based on layered interpolation data
Zhang et al. A geometry and texture coupled flexible generalization of urban building models
US8060231B2 (en) Producing a locally optimal path through a lattice by overlapping search
CN107481307B (zh) 一种快速渲染三维场景的方法
He et al. All range and heterogeneous multi-scale 3D city models
Amiraghdam et al. LOCALIS: Locally‐adaptive Line Simplification for GPU‐based Geographic Vector Data Visualization
CN103646418B (zh) 基于自动多阈值的多层着色体绘制方法
Yang et al. Efficient simplification of large vector maps rendered onto 3D landscapes
US8130222B1 (en) System and method for resolving visual priority among coincident primitives
Glander et al. Concepts for automatic generalization of virtual 3D landscape models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20101208