《面向ArcGIS的Python脚本编程》——导读

  1. 云栖社区>
  2. 博客>
  3. 正文

《面向ArcGIS的Python脚本编程》——导读

异步社区 2017-05-02 13:09:00 浏览1738
展开阅读全文


screenshot


**
前言
**
在过去的十多年里,我在多所大学学习并讲授了一系列GIS课程。正是这样一段经历,促使我撰写了这本书。在所有的课程中,有一课是“小代码,大用处”。

在DOS系统时代,熟悉DOS的人能使用命令行处理一些基本的任务。ArcGIS早期的桌面端软件(ArcInfo)除了使用ARC宏语言(AML)之外,在很大程度上也是通过命令行界面运行的。不过最近,大多数软件已经基本不需要使用命令行界面或编写代码,而是开始使用图形用户界面(GUI)。这就导致了大部分学生在上第一节GIS课程的时候遇不到任何形式的代码。虽然基于菜单界面的ArcGIS for Desktop能够支持许多复杂的操作和空间分析,但是有些时候,用户还需要更多的功能来解决遇到的难题。这时,就需要使用Python脚本语言。

简言之,Python脚本可以自动地执行那些需要在ArcGIS中通过菜单界面实现的繁琐的操作。例如,将1000个shapefile文件转成地理数据库中的要素类。虽然可以运行1000次相应的工具,但是在ArcGIS中肯定还有其他更高效和更简捷的方法。这时,Python就可以发挥作用:只需要使用Python编写一小段代码就能解决这个问题。在本书学习到大概一半的时候,您就能编写一个那样的脚本。

这本书可以让没有任何编程经验的人掌握编写Python脚本的方法。本书将从最基础的知识开始介绍,例如脚本的概念以及如何编写并运行一小段代码。随后,这本书还将介绍如何通过Python脚本来处理ArcGIS中涉及的空间数据。在使用本书前,您需要熟悉ArcGIS for Desktop软件,包括在ArcCatalog中管理数据以及在ArcMap中执行一些基本的操作,如处理数据、制图输出、运行地理处理工具等,也需要熟悉GIS的基本概念,包括坐标系统、数据格式、表操作以及一些基本的空间分析方法。如果您曾经编写过代码,那么将会有助于对本书的学习。

为什么要学习Python语言呢?有以下几点原因。第一,Python是免费和开源的,它可以被自由地发布和分享;第二,它功能强大而且简单易学;第三,Esri公司更倾向于使用Python作为ArcGIS的脚本语言,从ArcGIS 10的新功能中可以明显地感受到这一点。

虽然Python被封装在ArcGIS的安装程序中,但是它并不是由Esri开发的,而是由一个庞大而活跃的Python用户社区负责维护和发展。在学习了Python的基础知识后,您将会发现Python在其他领域也有着广泛的应用。现在很多计算机入门课程都使用Python作为入门语言介绍编程的基础知识。本书也将介绍一些这样的知识,但它们并不是重点,本书重点是介绍如何使用Python处理ArcGIS中的空间数据。

现在市面上有很多GIS的教科书和ArcGIS的指导书。虽然它们中的大部分都详细地介绍了空间分析的方法和步骤,但是,书中关于Python脚本的部分并不完整。与此同时,市面上也有很多Python语言的参考书,但是它们中的大部分都没有介绍如何使用Python操作某一个具体的应用程序。众所周知,Python可以作为一种“粘合剂”,它可以将互不兼容的程序联系在一起,但是大部分书都没有详细地介绍Python如何在这些应用程序上发挥它强大的功能。

目前还没有一本专门为ArcGIS编写的Python参考书,所以您只能通过一些常见的Python语言参考书来学习Python的语法。但是,一些ArcGIS中的对象,例如要素、多边形以及地理处理工具等,与Python书籍中介绍的较为通用的对象相比,存在很大的区别。对于一个熟练操作ArcGIS的用户来说,即使他手上有一本Python参考书,在使用Python编写ArcGIS脚本的时候也会感觉十分吃力。而对于一个经验丰富的程序员来说,如果他曾经用VBA或C++进行ArcGIS编程,那么一本通用的Python参考书或许就已经足够了,但是,如果他没有这样的经历,那么一本专门为ArcGIS编写的Python参考书将会更有用处。

目录

[第1章 Python简介
1.1 引言](https://yq.aliyun.com/articles/106743)
1.2 Python的特点
1.3 脚本语言和程序语言
1.4 ArcGIS的脚本语言
1.5 Python的历史和版本
1.6 关于本书
1.7 Python脚本实例
1.8 Python脚本编辑器
1.9 本章要点

网友评论

登录后评论
0/500
评论
异步社区
+ 关注