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

基于python的地理空间数据批量处理方法研究

更新时间:2019-12-24 20:39:53 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

随着地理信息的迅速发展,如何快速处理海量的地理空间数据,是提高地理信息服务的关键。Python语言与Arc GIS地理处理相结合,成为实现地理空间数据的批量处理快速有效的方法。文中说明了Python语言在地理空间数据处理的特点,并例举了批量定义投影、转换投影、数据裁切等空间数据批量处理的应用实例。


部分文件列表

文件名 大小
基于python的地理空间数据批量处理方法研究.pdf 2M

部分页面预览

(完整内容请下载后查看)
46  
1
Vol. 46 No. 1  
Feb. 2018  
第
卷第  
期
矿
山
测
量
2018  
2
MINE SURVEYING  
年
月
doi: 10. 3969 /j. issn. 1001 - 358X. 2018. 01. 021  
python  
基于  
的地理空间数据批量处理方法研究  
屈
鹏
(
,
甘肃省基础地理信息中心 甘肃 兰州  
730000)  
: , ,  
摘要 随着地理信息的迅速发展 如何快速处理海量的地理空间数据 是提高地理信息服务的关键  
。
Python  
ArcGIS  
, 。  
地理处理相结合 成为实现地理空间数据的批量处理快速有效的方法 文中  
语言与  
Python  
, 、 、  
语言在地理空间数据处理的特点 并例举了批量定义投影 转换投影 数据裁切等空  
说明了  
间数据批量处理的应用实例  
: Python;  
。
;
关键词  
地理空间数据 批量处理  
: TD672 : A  
文献标识码  
: 1001 - 358X( 2018) 01 - 0086 - 03  
文章编号  
中图分类号  
Study on the batch processing method of geospatial  
data based on Python  
Qu Peng  
( Provincial Geomatics Center of Gan Su,Lanzhou 730000,China)  
Abstract: With the rapidly development of geo - information,how to process spatial mass data quickly was the key  
step to promote geo - service. Combining with Python language and ArcGIS became the efficient way of achieving the  
batch processing method of geospatial data. In the paper,the advantages of Python were illustrated in geospatial data  
processing,and examples of batching define projection,transform projection,clip spatial data and other examples of  
spatial data batch processing were listed.  
Key words: Python; spatial data; batch processing  
、 、  
随着基础性测绘 地理国情普查与监测 空间地  
GIS Toolbox  
,
地理处理工具 极大地方便了空间数据  
Python  
语言的空间数据处理已被广泛  
,
理框架数据等测绘地理信息任务的涌现 海量地理  
。
的处理 基于  
[1 - 2]  
;
空间数据的生产处理日益增多 加之社会经济建设  
。
的研究应用  
,
的快速发展 地理空间数据和地图更新的节奏也不  
1
Python  
特点  
,
断加快 空间数据的批量化处理已成为数据快速加  
。
工不可或缺的手段 地理空间数据的生产是测绘的  
1. 1  
4
强大遍历功能  
,
核心任务 如何实现海量地理空间数据的快速整理  
Python  
,
语言具备强大的遍历功能 能够遍历路  
,
整合显得尤为重要 能否利用语言程序完成数据的  
、 、 、 ,  
径 文件夹 空间要素 字段属性值 遍历函数包括  
。C、C ++ 、C#、VB  
os. walk( ) ,glob. glob( ) ,listdata ,seacher.  
函数集合  
批量处理是关键所在  
机语言均可实现空间数据的批量处理 近年来  
thon  
等诸多计算  
,
Py-  
Curser( )  
。os. walk( )  
指针函数等  
函数能够返回所指  
。glob.  
,
、
、
、
、
定文件夹下所有路径 文件夹和文件的名称  
语言快速发展 以其跨平台 可扩展 代码开源  
,
简单易学的优势 具有非常广泛的认可度  
。Python  
glob( )  
, ,  
函数实现了匹配模糊查询 使用方便快捷 如  
GIS ESRI  
技术提供商  
glob. glob( “D: \ * . tif”) , D tif  
则返回 盘下所有 文  
已经成为世界上最大的  
, ArcGIS  
的脚本语言 已嵌入  
公司  
,
安装包 在安装桌面版  
。listdata  
,seacher. Cur-  
件名和其绝对路径  
函数集合  
,
时 已安装  
Python, , Arc-  
并提供大量应用实例 调用  
ser( )  
指针函数分别能够完成空间数据和属性字段  
: :  
引用格式 屈鹏 基于  
python  
[J].  
的地理空间数据批量处理方法研究  
,2018,46( 1) : 86 - 88.  
矿山测量  
86  
1
:
鹏 基于  
python  
2018  
2
年 月  
第
期
屈
的地理空间数据批量处理方法研究  
, ,  
的遍历 为空间数据的处理 提供了简单实用的便利  
, ArcGIS  
批量处理工具条 添加方法和步骤可参考 帮  
[4]  
。
。
条件  
助文件或文献  
1. 2  
地理处理功能  
ArcGIS  
,Py-  
具有非常强大的空间数据处理功能  
1
Python Add - in Wizard  
Toolbar  
添加的批量处理  
图
thon  
ArcGIS  
,
不仅能够调用  
的地理处理工具 并继承  
arcpy arcpy  
函
Arcgis  
,
了
功能而构建了  
arcpy  
站点包 包括  
2
Python  
批量处理  
、arcpy  
。arcpy  
数
类和  
数来更好地支持  
SpatialReference  
模块  
函数能提供多种函  
; arcpy  
Python  
语言对地理空间数据的批量处理主要借  
Python  
,
类
地理处理工作流  
ArcGIS Python  
地理处理工具和  
。
函数的调用  
助于  
Extent  
,
类 通常用作地理处理  
如
和
地理空间数据处理常遇到的批量处理任务有投影坐  
; arcpy  
(
模块 制图模块  
工具参数设置的快捷方式  
、
标系的批量定义和转换 空间数据的批量裁切拼接  
( arcpy. mapping) 、Geostatistical Analyst  
( arcpy.  
模块  
。
Python  
等
下面列出  
在批量空间数据处理应用实  
ga) 、Spatial Analyst  
( arcpy. sa) ) ,  
模块为通常包  
模块  
。
例
Python  
。
arcpy  
含函数和类的  
文件 在使用  
相关模块  
时 需要先导入相关模块 才可以使用模块中的空间  
Spatial Ana-  
2. 1  
批量定义和转换投影  
,
,
批量定义投影坐标和实现投影的批量转换是空  
,
,
处理功能 一般置于代码的开头 如导入  
,
间数据处理常用的空间操作 以下为实现同一文件  
lyst  
:
模块的代码如下  
import arcpy #  
GDB  
:
文件中矢量数据定义和投影转换代码  
下多个  
workspaces = arcpy. ListWorkspaces( " * " ," Fi-  
leGDB" )  
Arcpy  
导入  
from arcpy import env  
from arcpy. sa import * #  
站点包  
Spatial Analyst  
导入  
模
#
FileGDB  
遍历工作路径下的  
for workspace in workspaces:  
fcs = arcpy. ListFeatureClasses( )  
FileGDB featureclass  
块
1. 3 Python  
FME  
与
FME  
Safe software  
是加拿大  
公司对空间数据格  
式转换研发的产品 能够高效地完成空间数据的转  
,FME  
#
遍历  
for fc in fcs:  
arcpy. DefineProjection_management( fc,"  
中所有的  
,
、
换 提取和加载处理  
在空间处理方面已被广泛  
[3]  
投影  
。
FME  
python  
,
分两种方式 均通过  
应用  
在
中使用  
+
路径 投影文件名  
. prj" )  
FME Objects Python API  
, ,  
模块 第一种方式 在  
FME  
#
批量投影文件  
arcpy. Projection _ management ( fc,outlocation  
. prj" )  
Workspace  
Adanced  
导航面板的  
的
中可以设置启动  
, Py-  
脚本 以参数方式允许用户使用  
Python  
或关闭  
thon;  
+ fc,"  
+
投影路径 投影文件名  
PythonCaller  
PythonCreator  
另外一种方式是  
和
#
批量转换投影  
、
两个转换器通过调用 执行  
python  
脚本语言来完成  
2. 2  
批量分幅裁切  
,
对空间要素的操作 通过定义函数和类的方式进行  
。
,
空间数据常采用分幅管理的方式 对数据进行  
import fmeobjects #  
FME Objects Python API  
导入  
。
分幅裁切是常见的空间操作 通过空间索引表按照  
模块  
:
分幅图号对数据分幅裁切的代码如下  
Def FMEFeature( feature) #  
定义函数  
for row_clip in cursor:  
Class FeatureProsessor( object) #  
定义函数  
#
arcpy. CreateFileGDB_management  
遍历索引表  
1. 4 Python  
Add - In  
开发引用  
与
( " D: \output" ,row_clip. getValue( "  
" ) )  
分幅图号  
Python  
,
是开源的 语言 利用  
ArcGIS  
Python  
的
#
GDB  
根据索引表分幅图号字段创建分幅  
env. workspace = " F: \ . gdb" #  
**  
Add - In Wizard  
,
可以添加按钮或菜单 将  
Python  
脚
设置工作  
* . esriaddin ArcGIS  
,
本进行封装成为  
文件 通过  
成为  
ArcGIS  
的加  
Toolbar、Menu  
,
空间  
( Add - in Manager)  
载项管理器  
features = arcpy. ListFeatureClasses( )  
for in_feature in features:  
Button,  
直接定制添加到  
和
桌面应用程序 方  
。 1  
便使用 如图 为添加成为  
ArcGIS Toolbar  
桌面  
的
87  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:他山之石可攻玉

  • 21下载积分 打赏310.00元   3天前

    用户:小猫做电路

  • 21下载积分 打赏210.00元   3天前

    用户:zhengdai

  • 21下载积分 打赏210.00元   3天前

    用户:w993263495

  • 21下载积分 打赏10.00元   3天前

    用户:烟雨

  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

推荐下载