# 空间数据几何转换

# 相似变换

可以旋转,平移,形状不变,缩放比例不变,面积可变
相似变换

# 仿射变换

可以旋转,平移,倾斜和不均匀缩放(在保证线条平行的条件下)
仿射变换

# 投影变换

将一种投影坐标转换为另一种投影坐标

# 空间数据格式转换

# 外部交换文件的方式

常见外部交换文件的格式:

  • 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等常见地图服务的区别

常见地图服务的区别 (opens new window)

  • 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中,一个多边形存在多个内部标识点

  • 不同类型目标间拓扑错误
    以面向对象数据库的方式存储空间数据,除了同一层数据的拓扑错误外,
    能发现两个或两个以上图层中存在不同类型空间要素间的拓扑错误

# 矢量数据的编辑方法

# 结点的编辑

  • 结点吻合:多个点本应在一起,由于数字化的误差,没有在一起
  • 结点和线的吻合:结点和线状目标本应相交
  • 清除伪结点:删除不应该存在的结点

# 图形的编辑(线和面)

  • 删除顶点:删除多余顶点,拓扑关系不变
  • 增加顶点:在增加顶点对应的线段,定义一个新的顶点位置
  • 移动顶点:与实际地理位置温和不好时,可以移动顶点
  • 删除弧段:
    删除弧段

# 图幅的拼接与接边

# 图幅拼接的问题

# 逻辑缝隙

  • 同一个地物在两幅图中的地物类编码不同,如一个是公路另一个是高架桥
  • 同一个地物在两个数据文件中的属性信息不同,如公路的宽度不一样

# 几何缝隙

拼接的一个地物的两个部分不能精确的衔接

# 缝隙问题的处理

# 几何接边

  • 自动吻合:地物编码相同,且结点坐标在一定的容差范围内,将两边结点坐标取平均值
  • 人工接边:地物编码不相同或者超过接边的匹配容差

# 逻辑接边

  • 建立一个新的文件存储该目标的所有位置信息
  • 让系统自动在周边图幅的文件中搜索目标关键字,建立跨图幅的空间目标逻辑关系