目的
ArcGIS自己维护的表不能直接添加至ArcMap,因为他不需要用户知道有这些表,如(H表,A表,D表),这些表本身是要素列表,可以进行添加。需要自己手动添加
准备工作
- 新建一个空白地图,添加一个随便图层,用来做图层添加参考
代码实现步骤
-
设置添加图层的连接;值为可正常连接的SDE连接
arcpy.env.workspace = r'数据库连接\192.168.204.133_FJQ.sde'
-
获取当前的地图文档。MapDocument参数为固定字符串
CURRENT
,代表当前地图mxd = arcpy.mapping.MapDocument("CURRENT")
-
获取工作数据框
dataframe = arcpy.mapping.ListDataFrames(mxd)[0]
-
获取参照图层,插入新图层时需要参考图层
reflayer = reflayer = arcpy.mapping.ListLayers(mxd)[0]
-
构建新图层。 Layer图层参数为 SDE连接下的要素类名称,可带用户名,如:SDE.Sample
newlayer = arcpy.mapping.Layer('FTEXT1_H')
-
添加新图层至地图,
AFTER
代表添加的图层在参照图层之后,还可接受参数BEFORE
arcpy.mapping.InsertLayer(dataframe, reflayer, newlayer,"AFTER")
大功告成!!!
整理代码如下
arcpy.env.workspace = r'数据库连接\192.168.204.133_FJQ.sde'
mxd = arcpy.mapping.MapDocument("CURRENT")
dataframe = arcpy.mapping.ListDataFrames(mxd)[0]
reflayer = reflayer = arcpy.mapping.ListLayers(mxd)[0]
newlayer = arcpy.mapping.Layer('FTEXT1_H')
arcpy.mapping.InsertLayer(dataframe, reflayer, newlayer,"AFTER")