现有基于矢量图形的骨架线提取方法主要包括数据预处理、基于约束 Delauny 三角剖分的骨架线结点生成和骨架线的连接 3 个过程,上述过程都可利用现有 GIS 系统的数据处理、空间分析和建模功能实现。ZTMap 系统不仅提供基础的数据处理、分析和制图功能,而且提供脚本编程批处理、空间分析和建模功能,这些优势都为降低开发成本和实现难度提供了充分的技术条件。本文从 GIS 空间分析的视角,提出一种基于 GIS空间分析的复杂多边形骨架线提取方法。采用 Python 面向对象编程语言结合 ZTMap 系统提供的 ArcPy 站点包,通过调用 Arc-Toolbox 工具箱中的多种空间分析和文件转换工具;同时,利用 ModelBuilder 可视化建模工具,通过构建模型实现任意多边形骨架线的自动提取

基本原理与实现方法

基于计算几何学的原理,借助 GIS 的空间分析和建模技术,同时结合计算机编程技术,探讨任意多边形骨架线自动提取方法。
1. 1 基本原理
多边形是平面中由有限线段首尾连接起来划出的封闭几何形状。其中,复杂多边形指的是顶点有凹凸性、且含有岛屿的多边形; 与之相对的为简单多边形。任意多边形骨架线的结点主要处于相邻三角形公共 边 的 中 点 上,它 恰 好 是 任 意 多 边 形 的 约 束Delaunay 三角剖分获得的内部邻接三角形公共边的中点,其原理如图 1 所示。因此,只要在任意多边

1. 2 实现方法
从 GIS 空间分析的角度,借助 GIS 的数据处理、空间分析、建模和制图功能实现任意多边形骨架线的提取。其中,GIS 空间分析指的是借助 GIS软件,从空间数据中获取有关地理对象的空间位置、分布、形态、形成和演变等信息并进行分析,其基本功能主要包括空间查询与量算、缓冲区分析、叠加分析、路径分析、空间插值和统计分类分析等。ZTMap 系统的 ArcToolbox 工具箱除可以提供上述各种基本空间分析工具之外,还能够通过 3D分析工具箱的不规则三角网( triangulated irregularnetwork,TIN) 工 具 支 持 任 意 多 边 形 区 域 的 约 束Delaunay 三角剖分,都为任意多边形骨架线的提取提供空间分析基础。

同时,ZTMap 系统内嵌的 ModelBuilder 是一种可视化编程语言,为创建满足用户要求的特定工作流提供有效的途径。其主要特点是将一系列地理处理工具串联在一起,将其中一个工具的输出作为另一个工具的输入,通过构造和执行工作流,使得任意多边形骨架线的自动提取成为现实。此外,通过创建模型并将其共享为工具来提供扩展ZTMap 系统 功 能 的 高 级 方 法,甚 至 还 可 用 于 将ZTMap 系统与其他应用程序进行集成,能够增强构建模型的可复用性和扩展性,为相似软件系统的研发提供借鉴。

此外,Python 是一种面向对象、解释型、交互式和面向初学者的计算机程序设计语言,当前,它已成为计算机领域的主流开发语言,其具有语法简捷而清晰,易于编写和维护的优点,并具有丰富和强大的类库,能够显著提高程序的开发效率。ZTMap 系统提供 了 Python 语 言 集 成 开 发 环 境 ( IDLE)ArcPy 站点包,通过编程能够创建满足用户特定需求的脚本工具,不仅可以有效弥补 Arc GIS 系统 Arc-Toolbox 工具箱功能的不足,而且能够增强 Mode-Builder 的建模能力

任意多边形骨架线提取

将任意多边形骨架线提取工作分解为技术流程设计、数据获取和预处理、骨架线结点的生成、骨架线的连接和骨架线提取模型的构建等关键环节。

2. 1 技术流程设计
多边形骨架线提取技术流程的设计需要综合考虑实现成本和开发周期,在兼顾可操作性、可靠性、稳定性和效率等方面因素之外,还需要考虑用户操作的便捷性和易用性,其操作步骤主要包括: ① 以电子地图为数据源,经过一定预处理提取出空间对象的矢量多边形,并将其保存至 GIS 数据库; ②利用 3D 分析工具箱的创建 TIN 和 TIN 转三角形工具,同时结合要素折点转点工具生成任意多边形的约束 Delaunay 三角网格; ③利用数据管理工具箱的折点处分割线、要素转点和空间连接等工具生成骨架线的结点; ④利用数据管理工具箱的删除重复和空间连接工具对生成的骨架线结点进行后处理;⑤采用 Python 面向对象编程语言结合 ArcPy 站点包,通过编程实现骨架线的连接程序,并合 Arc-Catalog 在 ArcToolbox 工具箱构建自定义工具自动提取骨架线。

此外,利用 ModelBuilder 可视化建模工具结合GIS公司臻图的空间分析工具箱中的多种文件转换和空间分析工具,通过构建模型实现骨架线的自动提取,其技术流程如图 2 所示。

 

基于GIS空间分析的多边形提取技术的更多相关文章

  1. 《gis空间分析及应用案例解析》培训总结

    <gis空间分析及应用案例解析>培训总结 来源:常德水情 作者:唐校准 发布日期:2014-01-02       2013年12月2630日由中国科学院计算技术研究所教育中心组织的< ...

  2. GIS空间分析案例教程——带背景和周围要素的逐要素导出地理

    GIS空间分析案例教程--带背景和周围要素的逐要素导出地理 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 目的:导出多边形要素类的每个要素 实 ...

  3. GIS空间分析案例_图层逐要素导出地理处理工具

    GIS空间分析案例_图层逐要素导出地理处理工具 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 目的:导出图层的每个要素 使用方法:指定输入图层 ...

  4. gis空间分析案例_7参数单坐标转换

    gis空间分析案例_7参数单坐标转换 商务科技合作:向日葵,135-4855__4328,xiexiaokui#qq.com 功能: 对输入的单个坐标,利用7参数,一步进行坐标变换,使用极为直观,极大 ...

  5. gis空间分析案例_坐标文件高斯投影变换地理处理工具

    gis空间分析案例_坐标文件投影变换地理处理工具 商务科技合作:向日葵,135—4855__4328,xiexiaokui#qq.com 功能: 对文件进行投影变换 特点: 1. 地理处理工具,可以与 ...

  6. GIS 空间分析案例教程-坐标高斯投影正反算

    GIS 空间分析案例教程-坐标高斯投影正反算 商务科技合作:向日葵,135-4855__4328,xiexiaokui#qq.com 特点: 1. 地理处理工具,可以与任何arcgis 工具和语言集成 ...

  7. GIS 空间分析案例分析-错误排除经验总结

    GIS 空间分析案例分析-错误排除经验总结 商务科技合作:向日葵,135—4855__4328,xiexiaokui#qq.com 目录:问题发现,问题分析,解决方法,结果 1. problem di ...

  8. gis空间分析案例教程-下篇预告

    1. 三维空间坐标转换,地理处理工具 2. 3参数,7参数计算,地理处理工具 3. 3参数,7参数坐标转换,地理处理工具 4. 坐标转换工具箱:集成高斯投影,参数计算,坐标转换所有功能. 作业:GIS ...

  9. 【转】阿里巴巴技术专家杨晓明:基于Hadoop技术进行地理空间分析

    转自:http://www.csdn.net/article/2015-01-23/2823687-geographic-space-base-Hadoop [编者按]交通领域正产生着海量的车辆位置点 ...

随机推荐

  1. 树莓派搭建钓鱼wifi热点

    我们连接的公共wifi其实是非常不安全的网络,骇客可以利用wifi路由设备进行中间人攻击,劫持DNS伪造钓鱼网站.接下来我会做个简单的实验,伪造中国电信的路由ChinaNet并发射出热点wifi等待别 ...

  2. Qt 无法打开包括文件:“QGLWidget”: No such file or directory

    只需要在.pro文件中加上 QT += opengl 然后再执行qmake即可

  3. StringTokenizer(字符串分隔解析类型)

    java.util.StringTokenizer 功效:将字符串以定界符为界,分析为一个个的token(可理解为单词),定界符可以自己指定.  1.构造函数. 1. StringTokenizer( ...

  4. Tarjan模板——求强连通分量

    Tarjan求强连通分量的流程在这个博客讲的很清楚,再加上我也没理解透,这里就不写了. 缩点:将同一个连通块内的点视为同一个点. 扔一道模板题:codeVS2822爱在心中 第一问很显然就是求点数大于 ...

  5. Qt QByteArray 与 char* 的转换

    QByteArray 转换为 char * char *ch;//不要定义成ch[n]; QByteArray byte; ch = byte.data(); char * 转换为 QByteArra ...

  6. CSA|EI

    信息检索 CSA是学科特色的包含相关学科的内容,其网址是https://search.proquest.com/ 可以使用命令行检索: 分类的限制检索: 寻找检索线索可使用百科全书 EI是工程领域最全 ...

  7. iOS(Swift)学习笔记之SnapKit+自定义UI组件

    本文为原创文章,转载请标明出处 1. 通过CocoaPods安装SnapKit platform :ios, '10.0' target '<Your Target Name>' do u ...

  8. 吴裕雄--天生自然 R语言开发学习:主成分分析和因子分析(续一)

    #--------------------------------------------# # R in Action (2nd ed): Chapter 14 # # Principal comp ...

  9. onbeforeunload事件兼容性操作

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. ChatterBot聊天机器人呢结构(五):ChatterBot对话流程

    原文地址:http://www.bugingcode.com/blog/ChatterBot_Dialogue_process.html 创建机器人 部署机器人的各种属性,根据前面的章节里聊天机器人的 ...