推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

在ArcGIS下基于Python的矢量数据处理方法

更新时间:2019-12-29 21:12:42 大小:751K 上传用户:songhuahua查看TA发布的资源 标签:arcgispython矢量数据处理 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

在ArcGIS中地理处理可以通过Python脚本语言来具体实现。通过Python串联Arcgis的地理处理工具,实现工作流自动化完成,同时,实践批处理过程,解放人工的机械重复工作,提高效率,进而保证数据质量。现以地形图中示坡线的正确、严谨表达为实践案例,介绍了在ArcGIS下利用Python处理矢量数据,为矢量数据处理的高效、自动化提供解决方法。


部分文件列表

文件名 大小
在ArcGIS下基于Python的矢量数据处理方法.pdf 751K

部分页面预览

(完整内容请下载后查看)
测绘技术装备 第 18 2016 年第 4 期  
技术交流 63  
在 ArcGIS 下基于 Python 的矢量数据处理方法  
林璐 王爽 李海泉 侯兴泽 马鹏刚  
(国家测绘地理信息局第二地形测量队 陕西西安 710054)  
在 ArcGIS 中地理处理可以通过 Python 脚本语言来具体实现过 Python 串联 Arcgis 的地理处理  
工具,实现工作流自动化完成,同时,实践批处理过程,解放人工的机械重复工作,提高效率,进而保证数  
据质量以地形图中示坡线的正确谨表达为实践案例绍了在 ArcGIS 下利用 Python 处理矢量数据,  
为矢量数据处理的高效、自动化提供解决方法。  
关键词:Python ARCGIS 地理处理 示坡线  
1 引言  
Python 语言可以实现对地理数据的批处理,从而有  
地理处理是 GIS 用户应用的重要组成部分, 助于提高工作效率[2]。  
ArcGIS 的 ArcToolbox 窗口为 GIS 用户提供了数百个 2 开发案例说明  
地理处理。对于数据处理人员在使用 ArcGIS 地理处  
示坡线,是指示斜坡降落的方向线,它与等高  
理工具时,就会遇到这样的难题,如何将几个简单 线垂直相交。一般表示在谷地、山头、鞍部、图廓  
的地理处理工具串联起来,自动化地完成一个简单 边及斜坡方向不易判读的地方。凹地的最高、最低  
工作流,使得人工操作转换为自动化的程序批处理 一条等高线上也应表示示坡线[3]。在测绘 4D 产品之  
过程[1]。  
一的数字线划图(DLG)中,示坡线一般以有向点或  
Python 是一种不受局限、跨平台的开源编程语 有向线(长度为定值的线段)的方式表达。其中,  
言,它功能强大且简单易学。同时,它可伸缩程度 有向点应严格捕捉相应等高线,通过填写要素角度  
于大型项目或小型的一次性程称为脚本性项表达所示方向;有向线为线段,起始节点应  
并且可嵌入(使 ArcGIS 可脚本化目前,Python 严格捕捉相应等高线,终止节点指向所示方向,线  
已延伸到 ArcGIS 中为了一种用于进行数据分析、 段长度为规范要求长度。  
数据转换、数据管理和地图自动化的语言。运用  
图 1 山丘、山峰和盆地、洼地的示坡线示意图  
一般在 DLG 制作过程中,特别是中小比例尺地 情况致使下工序矢量数据编辑处理时,需要人工核  
形图,通常利用立体测图系统,在恢复立体影像相 对、修改,工作量大且繁琐(尤其是在沙漠、特殊  
对模型的情况下,人工判断地貌,并采集示坡线。 丘陵地区,1 幅 1∶10000 比例尺地形图可能需要上  
采集时要求在对应等高线采集第一点,沿斜坡的方 千个示坡线表示地貌形态如果作业人员责任心不  
向采集第二点。为提高生产效率及生产工序技术要 足还易造成质量隐患。  
求,此时采集的示坡线,不符合前述 DLG 拓扑规范 3 处理方案设计  
要求。存在未严格捕捉等高线,造成悬挂和相交的 3.1 方案设计思路  
拓扑问题;或示坡线要素长度不定,不符合技术要  
数据要素处理的关键是两点:一是解决拓扑问  
求;亦或示坡线采集图形上看正确,实际上刚好与 题,二是实现示坡线角度正确表达。因此解决思路  
要求相反,是由斜坡降落方向向等高线采集。这些 是:首先,要满足拓扑要求,即相应要素之间严格  
64 技术交流  
测绘技术装备 第 18 2016 年第 4 期  
捕捉,可以通过处理要素线段与等高线之间的悬挂 的问题。  
和相交拓扑问题实现,使得要素线段的一个端点捕  
(3)判断示坡线与等高线相交的节点是起始  
捉到等高线上。然后,在确定该端点为要素线段起 点,指向斜坡方向的是终止点。首尾节点位置的正  
始点的基础上,将方向正确的要素线段转换为点, 确性,是决定角度计算值合理的前提。当节点位置  
并继承线段方向,即获得有向点。最后,如果示坡 不正确时,利用反向功能,将要素采集方向反转。  
线是由定长有向线表达,再依据有向点的角度值,  
生成方向、长度均符合要求的有向线。  
3.2 方案操作的具体流程  
(4)将示坡线要素线段转有向点。示坡线要素  
与等高线相交处为有向点的位置。角度值依据示坡  
线要素方向确定。在角度确定时,应考虑不同项目  
(1)提取等高线和原始示坡线要素,并导入一 设计要求,对角度 0 值的起算方向,以及旋转方向  
个新的数据集,为数据处理做好准备。经过后续处 的定义。另外,还要注意角度值的精度取位要求。  
理,将成果示坡线与数据中原始示坡线要素核对,  
没有错漏后,自动将原始示坡线要素删除,并导入 长度要求向线段表达方式。可以依据上步有向点的  
核对后最终示坡线。  
位置及角度,创建符合相应项目设计要求的定长有  
(2)使用悬挂、相交功能,将示坡线延伸或打 向线段要素。  
(5)示坡线除了有向点表达方式外,还有固定  
断,使得示坡线与相应的等高线实现严格的捕捉。  
(6)经过核查处理好的示坡线要素,将最终成  
应注意合理设置拓扑容差,过小可能不能自动化延 果导入数据库。  
伸或打断,过大可能形成错误的拓扑关系,造成新  
图 2 示坡线要素处理流程示意图  
4 关键函数及源代码实现  
语法是:  
ExtendLine_edit(in_features,{length},{ex  
ArcGIS 的地理处理均有相应功能函数,Python  
可以直接调用于开发人员十分友好Python tend_to});  
也可以通过程序开发语言实现需求功能[4]、[5]  
修剪线功能语法是:  
(1)处理悬挂、及打断可通过调用“延伸线、  
TrimLine_edit(in_features,{dangle_length},  
“修剪线”两个功能函数实现。其中,延伸线功能 {delete_shorts})。  

全部评论(0)

暂无评论