ArcGIS | 02小技巧-三调地类转换
生活随笔
收集整理的這篇文章主要介紹了
ArcGIS | 02小技巧-三调地类转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本節將介紹在ArcGIS中如何將三調中的土地利用分類轉換為土地管理中的三大類。
問題
問題:現有一個區域的三調數據,如何從中提取出對應的建設用地數據
細路:本質上也是一個分類問題,根據兩個分類對應關系,建立分類規則,是上一節ArcGIS | 01小技巧-矢量按某個字段重分類的延申
三調地類與三大類對應關系
關鍵:建立兩個用地類型的對應關系
關于三調中的土地利用現狀分類與土地管理中的三大類分類(農用地、建設用地、未利用地)的對應關系,主要依據為國標文件,然后后面又對部分地類代碼進行調整細化,具體如下:
按照最新調整后的用地分類標準,可知建設用地主要包括以下地類代碼:
步驟
字段計算器-Python
2. 結果如下圖:
4. 基于提取建設用地步驟,添加農用地和未利用地對應關系即可實現三調地類轉換為三大類:
將.py代碼生成工具箱
代碼包裝成工具:新建工具箱-添加腳本
# 制作工具箱 注意編碼問題 # -- coding:cp936 -*- from imp import reload import sys reload(sys) sys.setdefaultencoding("UTF-8") import arcpyinTable = arcpy.GetParameterAsText(0) # 輸入 fieldvalue = arcpy.GetParameterAsText(1) # dlbm fieldName = arcpy.GetParameterAsText(2) # 三大類expression_1 = "converse(!"+fieldvalue+"!)" codeblock_1 = """ def converse(dlbm):jsyd = ['05H1','0508','0601','0602','0603','0701','0702','08H1','08H2','0809','0810','0901','0902','0903','0904','0905','0906','1001','1002','1003','1004','1005','1007','1008','1009','1109','1201']if dlbm in jsyd:return u"建設用地"else:return u"非建設用地" """ arcpy.CalculateField_management(inTable, fieldName, expression_1, "PYTHON_9.3", codeblock_1)結果如下,依次輸入數據和對應的字段即可:
參考資料
# 部分參考資料 https://openstd.samr.gov.cn/bzgk/gb/index https://zrzyt.ah.gov.cn/xwdt/bzyw/114063281.html https://www.edrawmax.cn/templates/file/1027920 https://www.docin.com/p-2147263041.html下一節預告
本節通過ArcGIS-Python實現三調地類向三大類的轉換。下一節,可能是多個數據庫的合并或標記某個字段下重復的行。
總結
以上是生活随笔為你收集整理的ArcGIS | 02小技巧-三调地类转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易云信发送短信工具类
- 下一篇: 企业信息化互联网转型“生死劫”