访问量: 132 次浏览
一般情况下,SQL语句难以实现基于空间信息的查询, 此类查询都由GIS软件来实现, 通常包括拓扑关系的查询和距离查询两类。 拓扑关系的查询是查找图形和图形之间的空间关系, 比如所有位于河流二级阶地上的遗址; 距离查询实质就是缓冲区查询, 比如所有距离高速公路500米之内的遗址。
1.拓扑关系查询
在考古学和文化遗产管理中图形之间的拓扑关系主要有三类: 点与面、线与面和面与面。
点与面关系的查询最为常见,这类查询常解决的问题诸如: 某地有多少裴李岗时期遗址处于河流的二级阶地; 查找调查区域内发现的所有龙山文化时期的遗址; 从某遗址可以看到多少个同期的其他遗址 (可以处理为多少个其他遗址点包含在该遗址的视域范围内)? 在GIS软件中有多种方法可以实现点与面拓扑关系的查询, 比如从点出发做一条射线,看这条射线与多边形的交点数: 交点为奇数则点在多边形内,交点为偶数则点在多边形外(特殊情况除外)。
线与面的关系在实际应用中通常指的是线段与面的关系, 而不是直线与面的关系。线段与面的关系比点与面的关系要复杂的多, 包括整条线段都在面内、整条线段都在面外和部分线段在面内三种情况。 而部分线段在面内又有两种情况:线段一个端点在面内另一个端点在面外、 线段两个端点都在面内、线段两个端点都在面外。 GIS提供了计算这些复杂关系的工具, 主要是依据线段端点与多边形之间的关系。 但在实际应用中, GIS软件常常用如下三个概念查询线与面的拓扑关系: 线包含在面内(contain),比如某遗址保护区内有多少条保护性通道; 线不在面内(exclude),比如查询并删除遗址保护区外的所有道路; 线与面交叉(intersect),比如某高速公路通过某遗址保护区的长度是多少。
面与面的关系也比较复杂,主要有四种: 包含、相交、相邻和相离。实际上, GIS在处理面与面之间关系时主要是通过多边形之间的交点的定义来实现, 但遇到类似于中间有孤岛空缺的多边形时会更加麻烦。 实践中,我们常常遇到的面与面之间关系查询的实例也较多, 比如研究区域内的可耕地面积百分比是多少? 遗址1小时资源域内坡度小于4度的面积有多少? 实践中,面与面的关系查询常采用栅格统计来实现。
2.缓冲区查询
缓冲区查询即距离查询,是以GIS图层的图形为基础, 计算其周围一定距离范围内的缓冲区多边形图层, 然后通过分析该图层与目标图层的叠加和拓扑关系, 进而得到所需结果。 它是用来描述地理空间中两个物体距离相近程度的重要方法。
从点、线、面出发都可以建立缓冲区, 其中从点出发建立的缓冲区为一个圆形, 从线段出发建立的缓冲区为一个条带, 而从多边形出发建立的缓冲区则为环形。 缓冲区分析的结果可以是矢量图层,也可以是栅格图层, 有两种数据记录方法:第一种是单一型的缓冲区, 即一个图形只生成一个缓冲区;第二种是多重缓冲区, 即按照固定的距离间隔数值生成环状的缓冲区带。