# 空间数据几何转换
# 相似变换
可以旋转,平移,形状不变,缩放比例不变,面积可变
# 仿射变换
可以旋转,平移,倾斜和不均匀缩放(在保证线条平行的条件下)
# 投影变换
将一种投影坐标转换为另一种投影坐标
# 空间数据格式转换
# 外部交换文件的方式
常见外部交换文件的格式:
- ArcGIS的E00
- MapInfo的MID
- AutoCAD的DXF
# 标准空间数据交换的方式
由于标准不一样,基本被弃用,标准文件格式:
- 美国的STDS
- 我国的CNSDTF
# 空间数据互操作的方式
制定不同软件的开发标准和接口真正实现数据的互操作(OpenGIS)
现有标准:开放地理信息系统协会OGC(Open Geospatial Consortium)
由于软件厂商的利益问题,基本不可能实现
# WEB服务的方式
# 地图服务WMS(Web Map Service)
利用具有地理空间位置信息的数据制作地图。三个操作:
- GetCapabilities:返回服务级元数据,是对服务信息内容和要求参数的一种描述。
- GetMap:返回一个地图影像。其空间参考和大小是明确定义了的。
- GetFeatureInfo(可选):返回显示在地图上的某些特殊要素信息。
# 网络矢量数据服务WFS(Web Feature Service)
返回的是矢量级的地理标记语言(GML)编码
提供对矢量的增加、修改、删除等操作。五个操作:
- GetCapabilities:返回Web矢量服务性能描述文档(用XML描述)
- DescribeFeatureType:返回描述是梁结构的XML文档
- GetFeature:为获取一个矢量实例提供请求服务
- Transaction:为事务请求提供服务
- LockFeature:处理十五期间对一个或多个矢量类型实例上锁
# 网络栅格数据服务WCS(Web Coverage Service)
将包含地理空间位置信息的数据做为栅格,相互交换。三个操作:
- GetCapabilities:返回描述服务和数据集的XML文档。
- GetCoverage:返回一个栅格地图。其空间参考和大小是明确定义了的。
- DescribeCoverageType(可选):返回任一覆盖层的完全描述。
# 发表注册服务WRS(Web Register Service)
# WMS、WFS、WCS、WPS、WMTS、TMS、WMSC等常见地图服务的区别
- WMS:是一种动态地图服务,根据用户请求返回相应地图数据的可视化结果,实时切片,因此速度较慢。是GeoServer发布地图时较为常用的服务。
- WMTS:是一种采用预定义图块方法发布数字地图服务,将地图切分成瓦片矩阵集合,牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内,但是提升了服务速度。例如我国的天地图就是使用这一服务进行组织的,详情见我另一篇博客:关于天地图的瓦片下载。
- WFS:是为了返回纯地理数据而设计的,它不包含任何关于绘制数据的建议,它提供了对矢量的增加、修改、删除等事务操作。
- WCS:是面向空间影像数据服务,它将包含地理位置值的地理空间数据作为“栅格或者说“覆盖”(Coverage)”在网上相互交换。
- WPS:我理解的是一种提供和执行地理空间处理的服务,用于在web上发起空间运算操作。
- WMSC:是一种预先缓存数据的方法,以提升地图请求的速度。目前已被WMTS和TMS取代。
- TMS:也是一种瓦片地图服务,与WMTS类似,本质上遵循同样的切片规则。
# 矢量栅格数据转换
# 矢量与栅格数据的比较
- 矢量数据:适用于离散要素的表达
- 栅格数据:适用于连续现象分析
# 两者转换的需求
- 遥感图像是GIS的重要数据源,将栅格的遥感图像转换为矢量数据是GIS数据更新的重要技术。
- 在一些栅格数据分析中,需要将原始的矢量数据转换为栅格数据。
# 矢量转栅格
- 点到栅格的转换:把坐标转换为行列号
- 线到栅格的转换:把坐标转换为行列号,在坐标点之间内插一些栅格
- 面到栅格的转换:边界格元确定,边界格元属性确定
# 栅格转矢量
边缘跟踪法
- 以某个栅格单元为起点。
- 在该点的八邻域格网单元中,按一定方向找出与该个案个单元值相同的栅格单位。
- 重复此过程,直至返回起点。
缺点: - 判断八邻域的值比较费时。
- 形成拓扑结构困难。
- 无法处理单行、单列或单个栅格的情况。
- 以某个栅格单元为起点。
基于拓扑关系原理的转换方法
- 提取结点和坐标点。
- 右节点和左边点形成弧段。
- 由弧段形成多边形。
- 提取结点和坐标点。
# 拓扑关系自动建立
# 欧拉定理
对于一个由若干节点及他们之间的一些不相交的边所组成的图,其节点数n,弧段数a和多边形数b
存在下述关系:
c=n-a+b
c的取值分两种:
- 若b包含边界里面和外面的面块(多边形外部),则c=2
- 若b仅包含边界里面的面块,则c=1
欧拉定理不成立则一定存在错误,欧拉定理成立则不一定不存在错误
# 点到线拓扑关系的建立
图形采集和编辑中实时建立:
- 从某一结点出发,数字化下一条弧段时
- 根据起结点的坐标,寻找其附近是否存在已有的结点或弧段
- 若存在已有节点,则新弧段不产生新的起结点号,而将已有结点作为它的起结点
- 终结点的判断和处理同理
完成图形采集编辑后,系统自动建立点到线的拓扑关系。
# 多边形拓扑关系的建立
基于方位角的多边形拓扑关系自动建立的方法,其本质是:
计算得到多边形到弧段关系表和弧段到多边形的关系表。
基本步骤:
确定弧段邻接关系 利用已经建立的结点与弧段间的拓扑关系可以确定弧段的邻接关系。
计算弧段方位角
测量学里的方位角:从坐标的正北方向,顺时针旋转到某一方向的夹角。
坐标方位角:把从平面直角坐标系X轴的正半轴起,逆时针旋转到某一涉嫌的角度。
分类:- 单条弧段的方位角
某一射线从平面直角坐标系X轴的正半轴为起始方向,逆时针旋转到该射线方向的角度。 - 拓扑邻接的两条弧段的夹角
从公共端点出发的两条射线所夹的有向角。
- 单条弧段的方位角
搜索多边形:利用最小角法则
- 从某弧段的一个端点出发,在与其相邻的弧段中找出夹角最小的弧段,并把它作为起始弧段。
- 重复上述过程,种植回到出发弧段另一端点为止。
- 所有搜索出来的弧段就构成了一个多边形。
- 从同一个弧段出发,最多可以跟踪出两个多边形。
搜索得到的多边形有可能出现重复或者错误的情况。
解决方法:- 去掉重复多边形
从多边形与弧段的拓扑关联表中找出弧段数相等,且弧段号绝对值相等的多边形。 - 去除错误多边形
一个多边形与另一个多边形有公共边,同时它包含另一个多边形的非公共边上的一点,则该多边形为错误多边形。
确定拓扑关系 建立弧段到多边形的关系表。
# 矢量数据错误编辑
# 矢量数据错误类型
# 定位错误:比如几何要素的缺失,几何位置的错误
定位错误的产生与所使用的数据源密切相关
# 拓扑错误:比如多边形不闭合,存在悬挂弧段等与实际逻辑不一致
面状目标拓扑错误
- 未闭合的多边形
- 两个相邻的多边形存在缝隙
- 多边形重叠
- 未闭合的多边形
线状目标的拓扑错误
有向线的线段方向错误点状目标拓扑错误
点与线或面要素结合的时候,点要素可能存在拓扑错误
比如ArcGIS中,一个多边形存在多个内部标识点不同类型目标间拓扑错误
以面向对象数据库的方式存储空间数据,除了同一层数据的拓扑错误外,
能发现两个或两个以上图层中存在不同类型空间要素间的拓扑错误
# 矢量数据的编辑方法
# 结点的编辑
- 结点吻合:多个点本应在一起,由于数字化的误差,没有在一起
- 结点和线的吻合:结点和线状目标本应相交
- 清除伪结点:删除不应该存在的结点
# 图形的编辑(线和面)
- 删除顶点:删除多余顶点,拓扑关系不变
- 增加顶点:在增加顶点对应的线段,定义一个新的顶点位置
- 移动顶点:与实际地理位置温和不好时,可以移动顶点
- 删除弧段:
# 图幅的拼接与接边
# 图幅拼接的问题
# 逻辑缝隙
- 同一个地物在两幅图中的地物类编码不同,如一个是公路另一个是高架桥
- 同一个地物在两个数据文件中的属性信息不同,如公路的宽度不一样
# 几何缝隙
拼接的一个地物的两个部分不能精确的衔接
# 缝隙问题的处理
# 几何接边
- 自动吻合:地物编码相同,且结点坐标在一定的容差范围内,将两边结点坐标取平均值
- 人工接边:地物编码不相同或者超过接边的匹配容差
# 逻辑接边
- 建立一个新的文件存储该目标的所有位置信息
- 让系统自动在周边图幅的文件中搜索目标关键字,建立跨图幅的空间目标逻辑关系