在数据处理和符号化与标注设置过程中,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
计算结果