arcgis中字段计算器使用python-ArcGIS使用字段计算器python脚本整理三规合一图斑

最近试着使用字段计算器内的python脚本整理图斑,蹒跚学步,做下记录。

1.城规用地代码CGYDDM转用地名称CGYDMC

做一个python字典再索引即可(码齐这些分类还挺累。。)

list = {

"A":"公共管理与公共服务用地",

"A1":"行政办公用地",

"A2":"文化设施用地",

"A21":"图书展览设施用地",

"A22":"文化活动设施用地",

"A3":"教育科研用地",

"A31":"高等院校用地",

"A32":"中等专业学校用地",

"A33":"中小学用地",

"A34":"特殊教育用地",

"A35":"科研用地",

"A4":"体育用地",

"A41":"体育场馆用地",

"A42":"体育训练用地",

"A5":"医疗卫生用地",

"A51":"医院用地",

"A52":"卫生防疫用地",

"A53":"特殊医疗用地",

"A59":"其他医疗卫生用地",

"A6":"社会福利设施用地",

"A7":"文物古迹用地",

"A8":"外事用地",

"A9":"宗教设施用地",

"B":"商业服务业设施用地",

"B1":"商业设施用地",

"B11":"零售商业用地",

"B12":"批发市场用地",

"B13":"餐饮用地",

"B14":"旅馆用地",

"B2":"商务设施用地",

"B21":"金融保险用地",

"B22":"艺术传媒用地",

"B29":"其他商务设施用地",

"B3":"娱乐康体设施用地",

"B31":"娱乐用地",

"B32":"康体用地",

"B4":"公用设施营业网点用地",

"B41":"加油加气站用地",

"B49":"其他公用设施营业网点用地",

"B9":"其他服务设施用地",

"E":"非建设用地",

"E1":"水域",

"E11":"自然水域",

"E12":"水库",

"E13":"坑塘沟渠",

"E2":"农林用地",

"E9":"其他非建设用地",

"G":"绿地与广场用地",

"G1":"公园绿地",

"G2":"防护绿地",

"G3":"广场用地",

"H":"建设用地",

"H1":"城乡居民点建设用地",

"H11":"城市建设用地",

"H12":"镇建设用地",

"H13":"乡建设用地",

"H14":"村庄建设用地",

"H2":"区域交通设施用地",

"H21":"铁路用地",

"H22":"公路用地",

"H23":"港口用地",

"H24":"机场用地",

"H25":"管道运输用地",

"H3":"区域公用设施用地",

"H4":"特殊用地",

"H41":"军事用地",

"H42":"安保用地",

"H5":"采矿用地",

"H9":"其他建设用地",

"M":"工业用地",

"M1":"一类工业用地",

"M2":"二类工业用地",

"M3":"三类工业用地",

"R1":"一类居住用地",

"R11":"一类居住用地-住宅用地",

"R12":"一类居住用地-服务设施用地",

"R2":"二类居住用地",

"R21":"二类居住用地-住宅用地",

"R22":"二类居住用地-服务设施用地",

"R3":"三类居住用地",

"R31":"三类居住用地-住宅用地",

"R32":"三类居住用地-服务设施用地",

"S":"道路与交通设施用地",

"S1":"城市道路用地",

"S1":"城市轨道交通用地",

"S3":"交通枢纽用地",

"S4":"交通站场用地",

"S41":"公共交通站场用地",

"S42":"社会停车场用地",

"S9":"其他交通设施用地",

"U":"公用设施用地",

"U1":"供应设施用地",

"U11":"供水用地",

"U12":"供电用地",

"U13":"供燃气用地",

"U14":"供热用地",

"U15":"通信设施用地",

"U16":"广播电视设施用地",

"U2":"环境设施用地",

"U21":"排水设施用地",

"U22":"环卫设施用地",

"U23":"环保设施用地",

"U3":"安全设施用地",

"U31":"消防设施用地",

"U32":"防洪设施用地",

"U9":"其他公用设施用地",

"W":"物流仓储用地",

"W1":"一类物流仓储用地",

"W2":"二类物流仓储用地",

"W3":"三类物流仓储用地",

}

再给CGYDMC字段赋值

list.get( !CGYDDM! )

遇到一个问题,索引不能用中文??留待解决

"发展备用地":"发展备用地"

2.衔接地类代码整理

城规

cx = ["H11", "H14", "H5"]

fc = ["H2", "H4", "H9"]

fJ = ["E1", "E2", "E9"]

def CGXJDLDM(CG):

if CG in cx:

return "cx"

elif CG in fc:

return "fc"

else:

return "fJ"

赋值:

CGXJDLDM(!CGDLDM!)

3.1 三规合一之城规CG与土规TG建设用地差异CYFQMC

定义一个函数,然后用条件语句分类

因为两规的规划范围不一致,导致两规的衔接地类代码中均出现空值"’,需归为非建fJ。

J = ["cx", "fc"]

fJ = ["fJ",""]

def CYFX(CG,TG):

if TG in J and CG in fJ:

return "土规建设用地,城规非建设用地"

elif CG in J and TG in fJ:

return "土规非建设用地,城规建设用地"

elif TG in J and TG in J:

return "城乡规划和土地利用总体规划均为建设用地"

else:

return "城乡规划和土地利用总体规划均为非建设用地"

下方字段赋值

CYFQMC=

CYFX( !CGXJDLDM!, !TGXJDLDM!)

3.2三规合一之现状XZ与土规TG建设用地差异CYFQMC

需要注意的问题是,ArcGIS10.2.2如果字段使用了中文的字符,python条件语句会执行出错,纠结好久才发现这个问题所在。

被迫把国土已批GTYP和复垦用地FKYD字段改为短整给值1。

J = ["cx", "fc"]

fJ = ["fJ", ""]

def CYFX(XZ,TG,GTYP,FKYD):

if TG in J and XZ in fJ:

if GTYP == 1:

return "土规为建设用地,现状为非建设用地,已批未建"

else:

return "土规为建设用地,现状为非建设用地,未批未建"

elif TG in fJ and XZ in J:

if FKYD == 1:

return "土规为非建设用地,现状为建设用地,复垦用地"

elif GTYP == "国土已批":

return "土规为非建设用地,现状为建设用地,非复垦用地,已批已建"

else:

return "土规为非建设用地,现状为建设用地,非复垦用地,未批已建"

elif XZ in J and TG in fJ:

return "土规与现状均为建设用地"

else:

return "土规与现状均为非建设用地"

赋值:

CYFX( !XZXJDLDM!, !TGXJDLDM!, !GTYP!, !FKYD!)

3.3三规合一之现状XZ与城规CG建设用地差异CYFQMC

J = ["cx", "fc"]

fJ = ["fJ", ""]

def CYFX(XZ,CG,GHYP):

if CG in J and XZ in fJ:

if GHYP == 1:

return "城规为建设用地,现状为非建设用地,已批未建"

else:

return "城规为建设用地,现状为非建设用地,未批未建"

elif XZ in J and CG in fJ:

if GHYP == 1:

return "城规为非建设用地,现状为建设用地,已批已建"

else:

return "城规为非建设用地,现状为建设用地,未批已建"

elif XZ in J and CG in J:

return "城规与现状均为建设用地"

else:

return "城规与现状均为非建设用地" 未完待续

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值