基于ArcGIS的python编程:1.前言、初衷

回想当初大学刚刚入学的时候,学院的老师介绍我们专业是多么的热门,就业率有多高,前景是多么的美好…………经过大学三年,终于渐渐了解到自己本专业(地理信息科学)的概况,也渐渐确定了自己的发展方向。现在看来,我们专业比较有前景的就是GIS开发方向;相对其他方向来说,也就只有GIS开发方向如当初老师所说的那么美好而已。

开始接触到python这门脚本语言是在专业课《空间分析》上,那时在讲模型构造器相关的知识,利用模型构造器我们可以根据我们自己的需求的功能做成一个类似桌面版里面的工具,下次再需要这个功能的时候,就可以通过这个工具一键完成,不再需要重复复杂的步骤,同时还可以把这个工具共享给他人 。模型构造器的详细介绍可以参考ArcGIS的在线帮助,这里不再详细阐述。

当时老师只是简单地提了在模型构造器中比较复杂的功能,可以利用ArcGIS自带的脚本语言python去实现,有兴趣的同学课外可以去了解一下。就是因为老师的一句话,我开始去了解python这门语言。去了解之后才发现python原来那么神,被称为“胶水”语言,几乎无所不能,涉及的领域有人工智能,数据分析,数据挖掘,网页的前后端开发,运维…………

python在ArcGIS的开发中也有大作为,因为ArcGIS提供了一个站点包ArcPy(10.0之后版本才开始引入),这个站点包把ArcGIS里的所有功能的封装成一个个类库,只要在python的编辑器中导入Arcpy站点包,我们就可以调用里面的类库从而实现我们需要的功能。根据自己需要开发相应的功能,想想都觉得兴奋,因为单纯的操作桌面版的工具去解决我们的需求真的很不灵活。如果要你用桌面版处理一条数据,可能你觉得那没关系,就是几分钟的事情;一百条呢?可能你会说那也是一天而已;一千条呢?一万条呢?…………时间成本大是一个问题,另外工作量很大的话且都是重复性的工作,做到后面会令你很烦躁。那么,与其花费大量的时间在重复枯燥的工作上,不如用这些时间好好学python(人生苦短,我用python),通过ArcGIS+python开发,我们就可以很好地解决这个问题,只要一个程序就可以让计算机帮我们批量去处理数据(如果你足够牛),这是多么美好的事情啊,但前提是你会编程,哈哈,理想很美好,要达到那个阶段,还得继续努力。

大学三年,还是一个GIS行业的菜鸟,出来实习之后才发现自己真的很渣渣,现在趁着实习的空闲之余开始好好修炼。之前一直都是看各路大神写的的技术贴,现在也尝试着边学边写点东西,希望可以跟志同道合的朋友交流。这是我写的第一篇,有什么错漏之处(菜鸟一个,敬请谅解),希望大神们不吝指导,让我可以及时改正!现在就不再废话,正式开始修炼之路。

工欲善其事必先利其器,编辑器的选择对于编程来说也是相对重要的。现在简单的说说ArcGIS+python开发的方式,主要分为以下三种:

1.在ArcGIS桌面版自带的编辑上编写python相关的代码:打开桌面版软件→在工具栏单击“python窗口”(如图红框)→在python窗口写相关的代码(如图1)(这种不推荐)

图1

2.通过 ArcGIS Desktop python加载项(10.1才开始引入):python加载项专门用于制作Arcgis插件的。Add-in(加载项)需要去Esri官网下载到本地电脑(如图2),不需要安装,下载解压后在bin 文件夹中找到addin_assistant.exe应用程序,直接运行,然后进行相关参数,功能代码的设置就可以了。(如图3)(不错的选择)

图2

图3

3.在python自带的编辑器或者其他第三方编辑器中编写python代码。在Arcgis安装过程中已经绑定安装了相应的python,所以无需重新安装python。

单击开始→在所有程序中找到Arcgis文件夹→单击“IDLE(Python GUI)”即可打开python编辑器的Shell窗口(页面显示的python版本相关的信息)→在菜单栏点击File→New Windows→打开Untitled窗口,在这个窗口中写python相关的代码→代码完毕后单击菜单栏的Run--RunModule(F5)即可在Shell窗口显示代码的运行结果;(如图4所示)

图4

第三方的编辑器:pycharm(强烈推荐)。

pycharm是一个比较人性化的编辑器,里面提供了强大的补全功能,不需要我们苦苦记住每个单词如何拼写,还可以根据我们自身的喜好设置界面(可以很炫,这里不再阐述)。更重要的是编辑器交互性很好,可以一边敲代码一边运行,运行结果可以随时在窗口下方看到,方便我们随时根据运行结果进行代码的修改。pycharm的安装包可以去官网下载,分为社区版(免费)和专业版(付费),一般来说,社区版提供的功能已经满足我们的需求。安装也相对简单,安装教程可以自行百度。

下载安装后,打开pycharm→在菜单栏单击File→选择New Project(如图5所示)→设置项目保存的文件夹与python的版本(如图6)→单击create按钮创建项目。

图5

图6

在窗口的右侧可以看到我们刚刚创建的项目Arcpy,右击项目Arcpy→选择New→选择python File→输入文件名以新建一个python文件(如图7)→在文件中书写代码(如图8)

图7

图8

运行程序后可以在窗口下面看到输出的结果(如图9所示)

图9

第一篇先简单介绍以下ArcGIS+python开发平台的选择,下一篇开始,我们正式进入ArcGIS+python开发相关的内容。

欢迎大家一起交流,一起学习,一起进步!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容