《面向ArcGIS的Python脚本编程》——1.7 Python脚本实例

简介:

本节书摘来自异步社区《面向ArcGIS的Python脚本编程》一书中的第1章,第1.7节,作者:【美】Paul A. Zandbergen著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.7 Python脚本实例

面向ArcGIS的Python脚本编程
本节将通过两个例子来说明如何使用Python编写脚本。这两个例子来源于Esri和ArcGIS的用户社区。列举脚本实例的原因之一就是为了让读者熟悉Python代码。学习编写代码的一个最好的方法就是练习现有的代码。现在不要求读者能够理解这些代码,但是这些例子将会让您了解本书即将讲些什么。

例一:确定错误地址
AddressError脚本工具是由Esri公司的员工Bruce Harold开发的。该工具会在几条路段的范围内,检查路段中心线可能存在的错误。AddressError工具输出的结果是包含了所有相关街道段可能错误的线状要素,属性表将描述错误相关信息。

该脚本工具类似于工具集中的工具。尽管它是用Python编写的,但是它的访问方式和其他地理处理工具一样,如图1.1所示。
screenshot

脚本工具的对话框和其他常规地理处理工具的对话框一样,如图1.2所示。

screenshot

这个工具有10个输入参数,其中两个是可选的。输入要素通常是一个表示街道中心线的线状要素,该要素的属性表存储了一系列代表街道号码范围的属性。输出结果是一个新的要素类。

这个脚本工具只调用了一个Python脚本文件,可以打开脚本文件查看这个工具是如何运行的。在Python编辑器中打开这个脚本时,会出现如图1.3所示的界面。

screenshot

如果以前没有使用过Python或者其他编程语言,这些代码看起来可能有些吓人。不管怎样,这本书以及后面的练习主要是为了让读者熟悉Python的语法和逻辑,以便更好地使用ArcGIS执行相关任务。所以学完本书后,读者不仅能够理解上面的脚本,还能够写出相对复杂的脚本程序。

例二:利用Huff模型进行市场分析
Huff模型的脚本工具是由Esri的员工Drew Flater开发的。这里有一份对这个工具的简单描述可以作为这个工具的使用说明:

Huff模型是一个空间引力模型,它可以计算出不同位置的消费者光顾商店数据库中每个商店的概率。通过这些概率以及可支配收入、人口和其他变量就可以计算出不同位置的销售潜力。每个位置的概率值还可用于生成研究区各个商店的地理范围及其市场范围。

这是一个相对复杂的脚本,但是跟第一个例子一样,它也是完全由Python编写的。这个脚本也可以作为工具箱的一个工具使用,如图1.4所示。
screenshot

如图1.5所示,在该脚本工具对话框中有很多输入参数、输出参数以及分析设置选项,这也反映了HuffModel的特性。
screenshot

该脚本工具也提供了一个工具帮助文档,它详细地描述了工具是如何运行的。文档中介绍了输入参数、模型公式和输出参数,图1.6所示为帮助文档的一部分。
screenshot

该工具的所有代码都保存在一个Python脚本文件中,图1.7所示为脚本文件的一部分。

screenshot

由于Huff模型十分复杂,所以这个脚本有700多行代码。但是,这些代码所涉及的大部分元素和那些简单脚本中的元素是相同的,所以只要熟悉这些元素,就可以真正读懂一些更复杂的代码。

在学习了如何编写Python脚本后,会发现坚持学习Python脚本的最好的方法之一就是练习现有的代码。练习示例代码也可以快速提高独立编写代码的能力。

注释:
两个实例来源于ArcGIS资源中心的地理处理章节。具体的位置是在Geoprocessing Model and Script Tool Gallery中。

相关文章
|
26天前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
1月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
27天前
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
25天前
|
JSON API 开发者
深度分析阿里妈妈API接口,用Python脚本实现
阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
|
24天前
|
API 数据安全/隐私保护 开发者
深度分析苏宁API接口,用Python脚本实现
深度分析苏宁API接口,用Python脚本实现
|
25天前
|
JSON API 数据安全/隐私保护
深度分析虾皮城API接口,用Python脚本实现
虾皮开放平台提供丰富的API接口,支持商品管理、订单处理及促销信息查询等功能。本文详解API认证机制与调用方法,基于Python实现商品价格及到手价获取方案,适用于电商数据分析与运营。
|
26天前
|
前端开发 Shell API
深度分析58同城API接口,用Python脚本实现
58同城为国内知名分类信息平台,涵盖房产、招聘、二手车等多领域。本文基于网页抓包与解析,分享其非官方接口的Python实现方案,分析核心接口特性与反爬应对策略,适用于数据学习与信息聚合。注意:非官方接口存在风险,使用需遵守平台规则。
|
人工智能 数据可视化 API
ArcGIS API for Python
ArcGIS API for Python
146 0
|
JSON JavaScript API
geoserver图层属性查询及查询结果转换为arcgis js api能使用的格式
一个项目使用了ArcGIS JS API开发GIS展示层,但GIS服务使用了Geoserver,这时加载Geoserver数据和查询数据就和之前完全不一样了,以下介绍下我使用ArcGIS JS API+Geoserver开发过程中解决Geoserver图层属性查询的一个方案。
1509 0
|
JavaScript 前端开发 应用服务中间件
Arcgis api for javascript 详细部署
Arcgis api for javascript 详细部署

热门文章

最新文章

推荐镜像

更多