ArcGIS Python 操作地图的基础入门笔记

前沿:首先需要确保你的ArcGIS 安装成功,ArcPy 也会默认安装成功,本文只对软件内带有的Python模块操作。

(1)打开ArcMap 随便加载一个已有的地图文件,我这里是“林地面积指标完成情况.mxd”,你可以打开自己的地图。

(2)在Desktop 界面上找到Python的按钮,打开IDE界面,如下图:

(3)开始写代码了,注意啊,敲黑板了:

#  导入地图模块, 打印地图标题
import arcpy.mapping as mapping
print mxd.title

输出结果:林地面积指标完成情况

# 可以将地图保存到指定路径下
mxd.saveACopy("D:/test.mxd")

可以到指定路径下查看是否保存。

# 获取地图中包含的图层信息列表
layer = mapping.ListLayers(mxd)
>>> for lyr in layer:
        print(lyr.name) # 打印每个图层的名称

输出结果:

research_2017_Union
research_2017
tree_area_2015
landuse_map_2015

#  如果想要获取带有条件约束的图层,则加上名称正则
layer_1 = mapping.ListLayers(mxd,'research_2017_U*',frames)
for ly in layer_1:
     print(ly.name)

输出结果:

research_2017_Union

#  将地图导出为图片,有各种支持的格式.jpg  .png  .tif等
 data = mapping.ExportToJPEG(mxd,'D:/mxd_output_jpg.jpg')

可以到制定的路径下去查看是否成功

(4)获取地图里的数据:

实际上某图层内包含的数据属性信息如下图

import arcpy.da
with arcpy.da.SearchCursor("DLTB_土地利用现状_耕地",("Name")) as cursor:
        for row in sorted(cursor):
            print(row)

输出结果:

这是为什么呢?为什么呢?数据呢?

应该是编码问题,度娘查了一下,应该修改一下编码方式;

with arcpy.da.SearchCursor("DLTB_土地利用现状_耕地",("Name")) as cursor:
...     for row in sorted(cursor):
...          str = row[0].encode("gb2312").decode("gb2312")
...          print(str)

输出结果:

耕地

耕地

大功告成!此处有掌声~~~~~

要想一次读取不止一个属性字段,就要修改一点点

with arcpy.da.SearchCursor("DLTB_土地利用现状_耕地",("Name","XING_ZHENG_QU_HUA")) as cursor:
...     for row in sorted(cursor):
...          str = row[1].encode("gb2312").decode("gb2312")
...          print(str)
输出结果:    
包头市
包头市
包头市
包头市

好了,今天就先这样吧,吃饭去了

转载自:https://blog.csdn.net/gwj992/article/details/84108925

You may also like...