现有基于矢量图形的骨架线提取方法主要包括数据预处理、基于约束 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. 如何查看Linux系统下程序运行时使用的库?

    Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的V ...

  2. AOP 总结

    AOP即Aspect oriented Programing, 面向切面编程. 相关术语: 通知(Advice): Advice defineds when to execute what actio ...

  3. sklearn包源码分析(一)--neighbors

    python如何查看内置函数的用法及其源码? 在anaconda的安装目录下,有一块会放着我们安装的所有包,在里面可以找到所有的包 找到scikit learn包,进入 这里面又有了多个子包,每个子包 ...

  4. maven项目部署到tomcat中没有classe文件的问题汇总

    1.修改生成的class文件的位置

  5. “大屏,您好!” SONIQ声光揭新品“U•F•O”神秘面纱

    作为全球第一批做互联网智能电视的传媒企业,SONIQ声光于4月22日在中国大饭店举行了盛大的新品发布会.其中的重头戏就是当天发布会上作为先锋部队入驻中国电视市场的"UFO".笔者作 ...

  6. Word Flow:创造吉尼斯世界纪录的触屏文本输入的全新体验——微软Windows Phone 8.1系统倾情巨献

    Flow:创造吉尼斯世界纪录的触屏文本输入的全新体验--微软Windows Phone 8.1系统倾情巨献" title="Word Flow:创造吉尼斯世界纪录的触屏文本输入的全 ...

  7. Mysql分区,分库和分表

    作者说的非常清楚了,感谢.地址为:http://haitian299.github.io/2016/05/26/mysql-partitioning/. 本人项目实践,使用sharding-jdbc进 ...

  8. Windows下使用swoole的环境搭建

    Cygwin 官方地址:http://www.cygwin.com/ swoole 官方下载地址:https://github.com/swoole/swoole-src/releases 方法/步骤 ...

  9. 关于Docker清理

    在Docker的日常使用中,我们或许偶尔遇到下面这些情况: 12345678 $ docker-compose ps[27142] INTERNAL ERROR: cannot create temp ...

  10. Leetcode 063 不同路径二

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为" ...