日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ArcGIS | 02小技巧-三调地类转换

發布時間:2023/12/18 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ArcGIS | 02小技巧-三调地类转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節將介紹在ArcGIS中如何將三調中的土地利用分類轉換為土地管理中的三大類。

問題

問題:現有一個區域的三調數據,如何從中提取出對應的建設用地數據
細路:本質上也是一個分類問題,根據兩個分類對應關系,建立分類規則,是上一節ArcGIS | 01小技巧-矢量按某個字段重分類的延申

(數據自制)

三調地類與三大類對應關系

關鍵:建立兩個用地類型的對應關系

關于三調中的土地利用現狀分類與土地管理中的三大類分類(農用地、建設用地、未利用地)的對應關系,主要依據為國標文件,然后后面又對部分地類代碼進行調整細化,具體如下:

  • 首先是國標文件-土地利用現狀分類

  • 其次,后又發布相關工作方案調整文件等,如下圖所示,對05地類進行細化調整

    按照最新調整后的用地分類標準,可知建設用地主要包括以下地類代碼:
  • 建設用地 = ['05','06','07','08','09','10'(除去1006村路),'1109','1201']

    步驟

    字段計算器-Python

  • 新建三大類字段,然后運行以下代碼,即可提取三調中的建設用地地類,具體如下:
  • # 提取建設用地 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 "建設用地"else:return "非建用地"


    2. 結果如下圖:

    4. 基于提取建設用地步驟,添加農用地和未利用地對應關系即可實現三調地類轉換為三大類:

    # 轉為三大類 def converse(dlbm):jsyd = ['05H1','0508','0601','...']nyd = ['0101','0102','0103','...']wlyd = ['1101','1102','1105','...']if dlbm in jsyd:return "建設用地"elif dlbm in "nyd":return "農用地"elif dlbm in wlyd:reutrn "未利用地"else:return dlbm

    將.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小技巧-三调地类转换的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。