近期做arcpy的制图图例,从新建图例属性中建立图例项,并通过arcpy在制图脚本中引用,途中出现一些问题,希望与大家一起探讨:
在码时发现arcpy里有些函数无法使用路径的ur:(pycharm中运行)
# -*- coding:utf-8 -*-
import arcpy
import os
mxd = arcpy.mapping.MapDocument(ur"C:\ArcGIS\T初始.mxd")
df = arcpy.mapping.ListDataFrames(mxd)[0]
lyrFile = arcpy.mapping.Layer(ur"C:\ArcGIS\新建图层组.lyr")
arcpy.mapping.AddLayer(df, lyrFile, "TOP")
styleItem = arcpy.mapping.ListStyleItems("USER_STYLE", "Legend Items", u"图例项宋体25")[0] # "Legend Items"注意这里用英文,而不是样式管理器中显示的中文
lyr = arcpy.mapping.ListLayers(mxd, u'KZST汇总_Merge')[0]
legend = arcpy.mapping.ListLayoutElements(mxd, "LEGEND_ELEMENT")[0]
legend.updateItem(lyr, styleItem)
mxd.save()
del mxd
运行错误:
File "C:/ArcGIS/pythonProject/test.py", line 4
mxd = arcpy.mapping.MapDocument(ur"C:\ArcGIS\T初始.mxd")
SyntaxError: (unicode error) 'rawunicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX
仅保留r:<

文章讲述了在使用arcpy进行地图制图时遇到的路径处理问题,特别是涉及到中文路径和urllib编码时出现的错误。通过试验,作者发现arcpy.mapping.MapDocument不支持中文路径,并且在处理路径时应注意使用r前缀或正确编码。最后,作者提供了成功的代码示例,强调了路径字符串的正确表示方式以及在处理图例项时应使用英文而非中文的注意事项。
最低0.47元/天 解锁文章
1901





