Python Scripting for ArcGIS

本书介绍了使用Python进行ArcGIS地理处理的详细步骤,包括引用工具函数、设置工作空间、判断文件存在、描述数据类型、处理几何和栅格数据等。重点章节涵盖SearchCursor、InsertCursor和UpdateCursor操作,以及读取和写入几何图形与栅格数据。
摘要由CSDN通过智能技术生成

学习资源: 《面向ArcGIS的Python脚本编程》
英文版更详细 Python Scripting for ArcGIS
练习数据和资源 Esri官方资源

书一共分为四部分,第一部分是Python和地理处理的相关概念(第一章到第四章),第二部分是编写地理处理脚本(第五章到第九章),第三部分是执行地理处理任务(第十章到第十二章),最后一部分是 创建并使用脚本工具(十三到十四章)。核心主要是第二部分。

Part 2 Writing Scripts

Chapter 5 Geoprocessing using Python

引用工具函数的两种方法(推荐第一种)

这里写图片描述

跳过可选参数的三种方法

这里写图片描述

设置工作空间和环境

>>> from arcpy import env
>>> env.workspace = "C:/EsriPress/Python/Data/Exercise05"
>>> env.overwriteOutput = True
>>> env.outputCoordinateSystem = spatial_ref

坐标系类(SpatialReference类)

需要实例化之后使用

>>> prjFile = "C:/EsriPress/Python/Data/Exercise05/facilities.prj"
>>> spatial_ref = arcpy.SpatialReference(prjFile)
>>> arcpy.DefineProjection_management("hospitals", spatial_ref)
The result is <Result 'hospitals'>.
>>> print spatial_ref.name
The result is 
NAD_1983_StatePlane_Texas_Central_FIPS_4203_Feet

显示工具的提示信息

arcpy.Clip_analysis("parks.shp", "zip.shp", "Results/parks_Clip.shp")
print arcpy.GetMessages()
# 输出所有的提示信息
msgCount = arcpy.GetMessageCount()
print arcpy.GetMessage(msgCount-1)
# 输出指定的提示信息

Chapter 6 Exploring spatial data

使用工具前判断文件是否存在(arcpy.exists)

python自带的函数os.path.exist函数主要是判断文件是否存在,也就是必须要写出完整文件的后缀名,而Arcpy中的exists函数则是可以对不同类别的要素进行判断是否存在。

import arcpy
from arcpy import env
env.workspace = "C:/EsriPress/Python/Data/Exercise06"
if arcpy.Exists("cities.shp"):
    arcpy.CopyFeatures_management("cities.shp", "results/cities_copy.shp")

判断数据类型(Describe)

type = arcpy.Describe("cities.shp").shapeType
if type == "Polygon":
    # 需要使用的函数
else:
    print "The feature are not polygons"

数据库中的数据类型非常重要,因为数据库中的户数据元素没有文件扩展名。
文件地理数据库后缀名 .gdb
个人地理数据库后缀名.mdb
企业地理数据库后缀名.sde

>>>import arcpy
>>>element = "C:/Data/study.gdb/final"
>>>desc = arcpy.Describe(element)
>>> arcpy.Describe(element).datasetType
u'FeatureClass'
>>> arcpy.Describe(element).ShapeType
u'Point'

Describe函数返回一个具有很多属性的Describe对象,包含文件路径、目录、路径、文件名称等属性。

>>> mylayer = arcpy.Describe("cities")
>>> mylayer.dataType
#Running the code returns u'FeatureLayer'.
>>> mylayer.shapeType
The result is u'Point'.
----------
>>> mylayer.spatialReference.name
The result is u'GCS_North_American_1983'.
>>> mylayer.spatialReference.type
The result is u'Geographic'.
>>> mylayer.spatialReference.domain
The result is u'-400 -400 400 400'.

列表批处理

import arcpy
from arcpy import env
env.workspace = "C:/Data"
# 列出目录下所有文件名
fclist  =  arcpy.ListFeatureClasses( )
print fclist
# [u'floodzone.shp', u'roads.shp', u'streams.shp', u'wetlands.shp', u'zipcodes.shp']
# 列出以w开头的文件名
fclist  =  arcpy.L
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Advanced Python Scripting for ArcGIS Pro 介绍了在 ArcGIS Pro 中如何使用 Python 脚本来扩展和自动化 GIS 工作流程。本书适用于有一定 Python 或者 GIS 基础的读者,主要涵盖以下内容: 1. 理解 PythonArcGIS Pro 中的作用 PythonArcGIS Pro 中最强大的脚本编程语言之一,它可以用来扩展 ArcGIS Pro 的功能以及实现自动化 GIS 工作流。本书介绍了 Python 如何与 ArcGIS Pro 软件集成,以及如何利用 Python 的功能实现高效的 GIS 分析。 2. 掌握 Python 编写 arcpy 程序 arcpy 是 ArcGIS Pro 中的一个重要组件,它提供了 Python 编写的与 ArcGIS Pro 相互交互的接口。本书从简单的 arcpy 工具和功能入手,逐步深入介绍了 arcpy 的高级应用。并配合实际例子和案例进行解析和讲解,使读者能够掌握使用 arcpy 编写程序并实现 GIS 分析的技能。 3. 熟练掌握空间分析技术 GIS 技术的核心在于对空间数据的处理和分析,也是很多 GIS 专业人士所关注的重点。 本书从矢量数据和栅格数据的处理、分析以及空间模型构建和应用入手,重点介绍了在 ArcGIS Pro 中如何利用 Python 实现高效的空间数据分析和空间应用。 4. 了解 ArcGIS Pro 的开发环境 了解 ArcGIS Pro 开发环境并学会配置开发环境对于进行高效的 Python 编程至关重要。本书主要涵盖了使用 PythonArcGIS API for PythonPython 调试技巧, PyCharm 等开发工具。 本书内容涵盖深入全面,适合对 Python 以及 GIS 技术有一定基础和实践经验的 GIS 从业者和爱好者阅读,提供了极大的实用性和可操作性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值