前言
在数据处理和符号化与标注设置过程中,python一个很方便的工具,限于本人的代码水平,每次需要的时候都是一点一点百度拼凑出来,可能不是最优解,也基本能满足需求,希望把用到过的python表达式或者函数记录下来,一点点积累。
ArcGIS环境:ArcGIS pro,与ArcMap的界面区别较大,功能一致
标注
分行标注
目标:两个或多个字段分行标注 python表达式:[市]+'\n'+[NUM] 设置与效果: 对齐细节:默认情况下,多行标注都是居中对齐的,但有时需要左对齐或者右对齐,可在标注的 堆叠 中进行设置
分类标注
目标:用不同颜色标注不同区间的数值 python表达式:
def FindLabel ( [NUM] ):
if int([NUM]) <= 50:
return "<CLR red='200'>"+[NUM]+"</CLR>"
else :
return "<CLR red='50' green='150' blue='200'>"+[NUM]+"</CLR>"
标注表达式设置与效果
分行并分类标注
目标:为多行标注设置不同颜色分类 python表达式:
def FindLabel ( [市],[NUM] ):
if int([NUM]) <= 30:
return "<CLR red='168'>"+[市]+'\n'+[NUM]+"</CLR>"
elif int([NUM])<=80:
return "<CLR green='168'>"+[市]+'\n'+[NUM]+"</CLR>"
else :
return "<CLR blue='168' >"+[市]+'\n'+[NUM]+"</CLR>"
标注表达式设置与效果
PS:对齐方式同样可在 堆叠 中进行设置
字段计算
字段截取与判断
目标:判断省市中省份是否正确 python表达式:
def pd(a,b):
if a[0:2]==b[0:2]:
return "正确"
else:
return "不正确"
计算与结果:
格式化桩号
目标:将长度、距离等数字,格式化为工程图中常用的标准桩号表达式,如K1+123.456
思路:把每一部分提取出来,然后进行拼装
python函数
def ZHLable(ZH):
strdist=format(ZH,'.3f')
loc=str(ZH).find('.')
fractionalpart=str(strdist)[loc+1:loc+4]
hundredpart = str(format(int(ZH%1000),'0>3d'))
thousandpart = str(int(ZH/1000))
ZHL = 'K'+thousandpart+'+'+hundredpart+'.'+fractionalpart
return ZHL
计算结果
|