基于GIS空间分析的多边形提取技术
现有基于矢量图形的骨架线提取方法主要包括数据预处理、基于约束 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空间分析的多边形提取技术的更多相关文章
- 《gis空间分析及应用案例解析》培训总结
<gis空间分析及应用案例解析>培训总结 来源:常德水情 作者:唐校准 发布日期:2014-01-02 2013年12月2630日由中国科学院计算技术研究所教育中心组织的< ...
- GIS空间分析案例教程——带背景和周围要素的逐要素导出地理
GIS空间分析案例教程--带背景和周围要素的逐要素导出地理 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 目的:导出多边形要素类的每个要素 实 ...
- GIS空间分析案例_图层逐要素导出地理处理工具
GIS空间分析案例_图层逐要素导出地理处理工具 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 目的:导出图层的每个要素 使用方法:指定输入图层 ...
- gis空间分析案例_7参数单坐标转换
gis空间分析案例_7参数单坐标转换 商务科技合作:向日葵,135-4855__4328,xiexiaokui#qq.com 功能: 对输入的单个坐标,利用7参数,一步进行坐标变换,使用极为直观,极大 ...
- gis空间分析案例_坐标文件高斯投影变换地理处理工具
gis空间分析案例_坐标文件投影变换地理处理工具 商务科技合作:向日葵,135—4855__4328,xiexiaokui#qq.com 功能: 对文件进行投影变换 特点: 1. 地理处理工具,可以与 ...
- GIS 空间分析案例教程-坐标高斯投影正反算
GIS 空间分析案例教程-坐标高斯投影正反算 商务科技合作:向日葵,135-4855__4328,xiexiaokui#qq.com 特点: 1. 地理处理工具,可以与任何arcgis 工具和语言集成 ...
- GIS 空间分析案例分析-错误排除经验总结
GIS 空间分析案例分析-错误排除经验总结 商务科技合作:向日葵,135—4855__4328,xiexiaokui#qq.com 目录:问题发现,问题分析,解决方法,结果 1. problem di ...
- gis空间分析案例教程-下篇预告
1. 三维空间坐标转换,地理处理工具 2. 3参数,7参数计算,地理处理工具 3. 3参数,7参数坐标转换,地理处理工具 4. 坐标转换工具箱:集成高斯投影,参数计算,坐标转换所有功能. 作业:GIS ...
- 【转】阿里巴巴技术专家杨晓明:基于Hadoop技术进行地理空间分析
转自:http://www.csdn.net/article/2015-01-23/2823687-geographic-space-base-Hadoop [编者按]交通领域正产生着海量的车辆位置点 ...
随机推荐
- 实战_2:eclipseRCP项目结构
RCP项目目录结构如下: src: java源码目录 bin:class文件目录 JRE System Library: 系统类库依赖,主要是JDK,JRE相关的 Plugin-in Dependen ...
- 78)PHP,编写session存储机制(将数据写进数据库)的代码整理(未实验)
<?php function userSessionBegin() { echo '<br>Begin<br>'; //初始化数据库服务器连接,这个函数是最先执行,所以, ...
- Mybatis与Spring整合(纯注解)
java1.5版本之后开始支持注解,spring*2开始提供注解配置方式,到spring**4后spring推荐使用注解配置 IOC注解(主要作用就是在spring容器中声明一个Bean,同xml中的 ...
- Java 的 LinkedList 的底层数据结构
1. 数据结构--LinkedList源码摘要 public class LinkedList<E> extends AbstractSequentialList<E> imp ...
- 统计学方法(PCA、ICA、RCA、LCA)
---------------------------------------------------------------------------------------------------- ...
- markdown直接粘贴截图
通过代码方式 cmd markdown粘贴截图 https://www.jianshu.com/p/ae048b5090f8
- 吴裕雄--天生自然python学习笔记:Python3 迭代器与生成器
迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...
- 使用 ActiveMQ 示例
« Lighttpd(fastcgi) + web.py + MySQLdb 无法正常运行关于 Jms Topic 持久订阅 » 使用 ActiveMQ 示例 企业中各项目中相互协作的时候可能用得到消 ...
- 转:zabbix 2.4.4 更换 logo
zabbix 2.4.4 更换 logo 想把 zabbix 的 logo 改为自己公司的. 把更改过程做一下记录 先找到修改文件的目录 zabbix 版本 2.4.4 操作系统 linux 目录定位 ...
- 吴裕雄--天生自然KITTEN编程:逃离漩涡