编辑推荐

基于ArcGIS的地理信息系统可以辅助规划师从地理信息角度解决相关的规划设计问题,例如从信息化角度智能化管理城市信息数据,进行相关的空间分析、网络分析、地统计以及辅助制图。然而规划师的欲望是无止境的,寻求更自由的计算机辅助规划设计的技术,以及获得更强解决问题的能力,就需要具备编程设计的知识。基于ArcGIS的Python脚本语言正是可以辅助规划师得以自由解决问题的一个途径。
具有编程能力的规划设计师将具有更强解决问题的能力以及拓展无限的创造力,自身的专业知识为如何编写程序解决问题提供了最为直接的基础,这是专业开发人员力所不能及。针对Python 编写程序处理地理信息系统不仅提高了处理地理信息数据的效率,更是可以针对需要解决的问题构建处理问题的程序,从程序编写的角度思考解决问题的方法。
《ArcGIS下的Python编程》为规划师提供了学习基于ArcGIS的脚本语言Python教材,将对Python语言的讲述与ArcGIS的模块ArcPy相结合,并通过实际案例探讨“自然村落选址因子权重评定的遗传算法”、“基于景观感知敏感度的生态旅游地观光线路自动选址”和“解读蚁群算法与TSP 问题”,理解编程规划设计的方法。

图书简介

《ArcGIS下的Python编程》对于ArcGIS 下Python 脚本使用方法的阐述是从Python 语言本身和基于ArcGIS的Python 两个方面同时着手,因此在阅读本书时不需要预先具备Python 基础知识。本书包括七个部分,Python 与ArcGIS,ArcGIS 下的地理数据与Python 数据结构,Python 的基本语句与使用Python 访问地理数据,创建函数与使用Python 处理栅格数据,创建类与网络分析,异常与错误,以及程序的魅力。主要阐述的逻辑线存在并行的两条线,一个是针对Python 的,从对于Python 介绍、数据结构、基本语句到创建函数、创建类和异常;另一个是针对ArcGIS 下的Python ,从ArcPy 站点包、访问以及管理地理信息数据的方法、处理要素类、处理栅格数据到网络分析和与地理处理模型的结合方法。两条线同时推进阐述,互相支持印证,并结合实际解决问题的应用方法,例如如何转化KML 文件和.dwg 格式文件并增加字段数据,以及适宜性分析栅格计算重分类的方法和寻找最近设施点的网络分析,遗传算法应用等。
最后一部分则通过具体的案例来阐述应用ArcGIS下Python编程规划的方法,初步包括三个课题的探讨:
“课题探讨_A_ 自然村落选址因子权重评定的遗传算法”,村落选址受制于山水,如何在复杂的地形中谋得栖身之所,避免自然灾害的侵扰并具有舒适宜人的小气候是人类不断探索的课题。根据假定既有村落选址的特点反推权重设置具有一定的合理性,并根据反推的权重应用于影响因子计算新的地块获取选址。在这个过程中,使用优化算法中的遗传算法求解;
“课题探讨_B_ 基于景观感知敏感度的生态旅游地观光线路自动选址”,根据《基于景观感知敏感度的生态旅游地观光线路自动选址》的研究,将计算模型程序化,不仅提升模型计算的效率,更有利于不断修正研究过程中出现的问题以及加入更多不同类型影响因子后,进行综合性评价分析,并为类似的研究提供基础性程序片断;
“课题探讨_C_ 解读蚁群算法与TSP 问题”,蚁群算法(Ant Colony Optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。本案例将蚁群算法在ArcGIS的Python脚本中实现。

图书目录

9 Python 与ArcGIS
10 1 Python
12 2 将地理信息系统作为过程的空间分析
12 2.1 区位与网络结构
14 2.2 调研者路线
16 2.3 场地现状信息录入与基本分析
18 2.4 基础的数据地理信息化辅助规划设计分析
21 2.5 专题地图叠合的方法
21 2.6 作为过程的空间分析
23 3 Python 与ArcGIS
25 3.1 .kml 文件格式
41 3.2 通过Python 使用工具箱里的工具
44 3.3 通过Python 使用环境设置
46 3.4 通过Python 使用函数
47 3.5 通过Python 使用类
51 3.5 获取和设置参数
57 ArcGIS 下的地理数据与Python 数据结构
58 1 ArcGIS 下的地理数据
62 1.1 文件地理数据库和个人地理数据库
62 1.2 ArcSDE 地理数据库
67 1.3 创建地理数据列表
74 2 Python 数据结构-List 列表、Tuple 元组与Dictionary 字典
75 2.1 列表(List)
85 2.2 元组(Tuple)
85 2.3 字典(Dictionary)
94 3 Python 数据结构-String 字符串
94 3.1 字符串格式化
96 3.2 re(regular expression) 正则表达式
109 Python 的基本语句与使用Python 访问地理数据
110 1 描述数据
112 2 Python 的基本语句
112 2.1 print() 与import
113 2.2 赋值的方法
114 2.3 循环语句
117 2.4 条件语句
119 3 Table 属性表与Cursor 游标
123 3.1 读取几何、写入几何与几何标记(geometry tokens)
126 3.2 游标和锁定
127 3.3 在Python 脚本中使用SQL 结构化查询语
129 3.4 数据存在判断与在Python 脚本中验证表和字段名称
135 创建函数与使用Python 处理栅格数据
136 1 创建函数
145 2 形式参数的传递
147 3 Raster 栅格数据
148 3.1 栅格数据(Mesh 面Quad 类型)
148 3.2 专题数据
148 3.3 影像数据
152 3.4 栅格函数
153 3.5 TIN 表面模型(Mesh 面Triangle 类型)
155 4 使用Python 处理栅格数据
155 4.1 栅格计算(地图代数运算)
159 4.2 重分类
171 4.3 条件分析工具集
175 创建类与网络分析
177 1 创建类
179 2 网络分析
180 2.1 从GoogleEarth 中调入路径以及服务设施和源点
185 2.2 建立文件地理数据库、要素数据集并导入用于网络分析的基础数据
187 2.3 最近设施点分析
193 异常与错误
194 1 异常
196 1.1 Python 内置异常
197 2 错误
201 程序的魅力
201 1 课题探讨_A_ 自然村落选址因子权重评定的遗传算法
204 1.1 准备数据
204 1.2 确定研究区域
205 1.3 确定影响因子
209 1.4 假设权重,叠合相加各个影响因子的成本栅格
211 1.5 遗传算法
218 1.6 将计算结果应用于类似场地
219 2 课题探讨_B_ 基于景观感知敏感度的生态旅游地观光线路自动选址
220 2.1 技术线路与基础数据
223 2.2 视域感知因子_ 可视区域计算
231 2.3 视域感知因子_ 最佳观赏距离计算
242 2.4 视域感知因子_ 最佳观赏方位
249 2.5 视域感知因子_ 栅格叠加求和
249 2.6 生态感知因子_ 景观类型
251 2.7 生态感知因子_ 资源价值
252 2.8 生态感知因子_ 栅格叠加求和
252 2.9 景观感知敏感度
254 2.10 地形因子
256 2.11 观光线路适宜性成本栅格计算
257 2.12 观光线路自动获取
260 3 课题探讨_C_ 解读蚁群算法与TSP 问题
260 3.1 蚁群算法与TSP 问题概述
263 3.2 蚁群算法程序解读
271 3.3 蚁群算法在ArcGIS 下的应用
274 4 分享程序

相关书籍推荐

<
>