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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

应用于arcgis的代码,长期更新…

發布時間:2023/12/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用于arcgis的代码,长期更新… 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

應用于arcgis的代碼,長期更新

1、國土空間規劃中常見的分類代碼

// 三調數據分三大類 def getClassify(dlbm):nyd=['0101','0102','0103','0201','0202','0203','0204','0301','0302','0303','0304','0305','0306','0307','0401','0402','0403','1006','1103','1104','1107','1107A','1202','1203','1104A']wlyd=['0404','1101','1102','1105','1106','1108','1110','1204','1205','1206','1207']jsyd=['05H1','0501','0502','0503','0504','0505','0506','0507','0508','0601','0602','0603','0701','0702','08H1','08H2','08H2A','0809','0810','0901','0902','0903','0904','0905','0906','1001','1002','1003','1004','1005','1007','1008','1009','1109','1201','09','0810A','06H1']if dlbm in nyd:return "農用地"elif dlbm in wlyd:return "未利用地"elif dlbm in jsyd:return "建設用地"else:return "請查詢:{0}".format(dlbm)// 二調數據分三大類(水庫水面算農用地) def getClassify(dlbm):nyd=['011','012','013','021','022','023','031','032','033','041','042','104','113','114','117','122','123']wlyd=['043','111','112','115','116','119','124','125','126','127']jsyd=['101','102','103','105','106','107','118','121','201','202','203','204','205']if dlbm in nyd:return "農用地"elif dlbm in wlyd:return "未利用地"elif dlbm in jsyd:return "建設用地"else:return "請查詢:{0}".format(dlbm)// 二調數據分三大類(水庫水面算建設用地) def getClassify(dlbm):nyd=['011','012','013','021','022','023','031','032','033','041','042','104','114','117','122','123']wlyd=['043','111','112','115','116','119','124','125','126','127']jsyd=['101','102','103','105','106','107','113','118','121','201','202','203','204','205']if dlbm in nyd:return "農用地"elif dlbm in wlyd:return "未利用地"elif dlbm in jsyd:return "建設用地"else:return "請查詢:{0}".format(dlbm)// 計算橢球面積 !shape.geodesicArea! // 借助objectid編號 5221110001順序編號 XZQDM+Right("0000" &([OBJECTID],4)// 編號常用代碼 s代表初始值,代表編號位數 rec=0 def autoIncrement(s,n):mystr=n*"0"global recpStart=s#初始值pInterval=1#間隔值if(rec==0):rec=pStartelse:rec=rec+pIntervalmystr=mystr+str(rec)return mystr[-n:]// 面積保留兩位小數 TBMJ=round([TBMJ],2)// 提取常規穩定耕地 NOT ("TBXHMC" IN ( '河道耕地', '林區耕地','石漠化耕地', '湖區耕地') OR( "GDPDJB" = '5' AND "DLBM" = '0103' ))// 三調分類山水林田湖草(這個是我自己分的,官方沒有明確指導,僅供參照) def getClassify(dlbm):gd=['0101','0102','0103']yd=['0201','0202','0203','0204']ld=['0301','0302','0303','0304','0305','0306','0307']cd=['0401','0402','0403','0404']sy=['1101','1102','1103','1104','1105','1106','1107','1108','1110','1104A']jsyd=['05H1','0501','0502','0503','0504','0505','0506','0507','0508','0601','0602','0603','0701','0702','08H1','08H2','08H2A','0809','0810','0901','0902','0903','0904','0905','0906','1001','1002','1003','1004','1005','1007','1008','1009','1109','1201','09','0810A','06H1']if dlbm in gd:return "耕地"elif dlbm in yd:return "園地"elif dlbm in ld:return "林地"elif dlbm in cd:return "草地"elif dlbm in sy:return "水域"elif dlbm in jsyd:return "建設用地"else:return "其他"// 檢索一個數據庫中的每一個要素類,新建一個fieldname字段、把要素類名稱賦予這個字段,最后把所有的內容合并,輸出結果為項目。 import arcpy workspace = r'D:\實驗數據.gdb' arcpy.env.workspace = workspace fieldname = "fieldname" fcls = arcpy.ListFeatureClasses() for ds in arcpy.ListDatasets(feature_type="Feature"):fcls.extend(arcpy.ListFeatureClasses(feature_dataset=ds)) for fcl in fcls:fields = [field.name for field in arcpy.ListFields(fcl)]if fieldname not in fields:arcpy.AddField_management(fcl, fieldname, "TEXT", field_length = 50)print(fcl)with arcpy.da.UpdateCursor(fcl,fieldname) as cursor:for row in cursor:row[0] = fclcursor.updateRow(row)arcpy.env.workspace = r'C:\Users\Minie\Documents\ArcGIS\Default.gdb' arcpy.env.overwriteoutput = True j=[] for fcl in fcls:j.append(fcl) arcpy.Merge_management(j,"項目.shp")//查找字段A中第一個字符或字符串為a的值 "A" LIKE 'a%' //查找字段A中最后一個字符或字符串為a的值 "A" LIKE '%a' //查找字段A中包含字符或字符串a的值 "A" LIKE '%a%' ————————————————

總結

以上是生活随笔為你收集整理的应用于arcgis的代码,长期更新…的全部內容,希望文章能夠幫你解決所遇到的問題。

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