记录自己正在学习中的一些重点好用于之后复习回忆
第一章 使用Python进行地理处理
1.导入ArcPy
在ArcGIS自带的Python2.7版本中包含有ArcPy库,因此在编译器中(这里用的是Pycharm)选择2.7进行编译,导入方法与导入其他第三方库的方法一样,通过import arcpy
来导入。
同样,可以通过import arcpy as ap
来对导入库的名字进行简化。
2.设置工作空间
工作空间即workspace,是运行工具时获取输入和放置输出的空间。
import arcpy
arcpy.env.workspace="C:/Study"
这里面的env是个类,通过在arcpy后面加 . 的方式调用,而workspace则是其一个属性。
3.使用地理处理工具
调用方法如下
import arcpy
arcpy.env.workspace="C:/Study"
arcpy.Clip_analysis("streams.shp","study.shp","result.shp")
这里调用了Clip工具进行裁切,依次放入被剪切图像、剪切用的轮廓(shp)、输出位置,和在ArcGIS中的操作基本一样,都是调用后放入工具所需数据。
需要注意的是很多工具都有必选项和可选项,如果有多个可选项而你只需要设置其中一个的参数,这个时候需要在略过的可选项中使用,
隔开。
import arcpy
arcpy.Buffer_analysis("road","buffer","100 METERS","","","LIST")
当然,通常情况下,一个数据需要多次使用,这个时候可以将这个数据赋给一个变量,之后只需要在工具里调用这个变量即可。
import arcpy
infc="stream.shp"
clipfc="study.shp"
outfc="result.shp"
arcpy.Clip_analysis(infc,clipfc,outfc)
如果输出结果包含一个要素,则输出的是这个要素的路径。
import arcpy
infc="stream.shp"
clipfc="study.shp"
outfc="result.shp"
myresult=arcpy.Clip_analysis(infc,clipfc,outfc)
print myresult
输出C:/Study/result.shp
4.使用工具箱
两种使用方式,比如这里是从mytools工具箱中调用MyModel工具
arcpy.mytools.MyModel()
或
arcpy.MyModel_mytools()
5.工具消息
根据消息严重性分为3种:信息性消息、警告性消息、错误消息,当出现警告性消息时,代码可能仍会运行,但结果可能不是预期结果;当出现错误消息时,工具运行失败。
可以通过
print arcpy.GetMessages()
获取消息,例如
import arcpy
infc="stream.shp"
clipfc="study.shp"
outfc="result.shp"
arcpy.Clip_analysis(infc,clipfc,outfc)
print arcpy.GetMessages()
就可获得多条消息,若只想获取固定某个位置的,可以
print arcpy.GetMessages(0)
通过修改中间的值来获取消息