发布于 

开始学习ArcGIS相关踩坑记录

我到了一家公司去实习了,他们做的需求大概就是做土地规划吧,我开始不知道我去能学些什么…

有始有终

ArcGIS是由ESRI出品的一个地理信息系统系列软件的总称。可以依不同应用平台分成以下版本:
桌面版本:以功能等级而区分的套件:ArcReader、ArcView、ArcEditor和ArcInfo,而高级的套件是较低级套件加上其他进阶功能。
服务器版本:以功能等级(基本、标准、进阶)而区分为ArcIMS (web mapping server), ArcGIS Server与ArcGIS Image Server。
移动版:ArcGIS Mobile与ArcPad

当我认为会像学习Photoshop或者Adobe全家桶的时候。基于Python?我的热情一下子就来了,随后我查阅相关资料:

  • ArcPy (ArcGIS API for Python)
  • ArcGIS API for JavaScript

看到这我一下就明白了

我开始学习ArcPy的标准库使用方法,万事开头难,但还好我有着Python的相关基础
阅读了一下文档就拨云见日了

官网文档

其他请参见:https://www.jianshu.com/p/3355b6efc0d6

安装

在安装ArcGIS的时候,默认会安装Python27版本并安装ArcPy的标准运行库

所以繁琐的东西已经都为我们做好了,在我开始安装的时候,并不知道,我安装了一个Python37,并且手动去配置ArcPy的包

最后:肯定是失败了的,在开始之前,做一些资料功课和准备还是很有必要的

我的第一个需求

将几何数据文本化,并且按照规定的格式

我当时所接收到的信息就是上面这些,然后我拿到了一些格式参照,还有一个word文档(里面是具体的格式要求)

内心OS:算了,虽然刚刚开始,但是没有难度就没有进步嘛…

我开始了和这个库的死磕
一堆奇奇怪怪的东西出来了,加载前提是什么?

我在观摩了大佬作品后,发现加载一些文件是无法用游标去处理和迭代了,具体就是这些参数类并没有定义相关方法,这个坑我踩了很久才爬出来。

首先不得不吐槽百度,还有CSDN博客园这类搬运站,还有国内开源社区的混乱。

整理了一些坑

在读取shp文件的时候,会默认需要打开shp所在文件夹下的其他文件(钩子)

网上很多都是错误的,但也有理可循,像添加env.workspace

Python的一些好用的小技巧

不论在处理什么数据的时候,都是以对象的方式进行(把String,Int这些基础整型也理解为对象)
Python对于可迭代对象真的很友好
在处理多重数据的时候,一定要复核一遍有无多状况出现(空?)
我把他丢到了Github仓库:https://github.com/PluginsKers/ArcPy_Scripts

今天过了单元测试了

这也算是一些经验吧。

2021.6.2

又一个新的需求,开始咯~

2021.6.8

圆满结束实习…

其他杂谈

在项目开发的过程中,有一个前辈,他告知每次处理地方信息的时候,都是将一个总excel拆开(当我看到这个excel的时候…..它有10k条数据,按照:村、镇、市。来划分)也就是说,此前一直都是人工手动的分割数据到单个excel中。

我手写了一个简单的脚本,以10s/6k条数据的的速度,将数据分割成单个excel,这样就可以节省大量的时间。