for attr in dir(mxd):
... if not attr.startswith("_")and hasattr(mxd,attr):
... print(attr,getattr(mxd,attr))
...
查看地图文档的所有属性。
(‘activeDataFrame’, <DataFrame object at 0x2581d690[0x25832b60]>)
(‘activeView’, u’\u77e2\u91cf\u5730\u56fe’)
(‘author’, u’‘)
(‘credits’, u’‘)
(‘dateExported’, datetime.datetime(2019, 4, 17, 17, 9, 55))
(‘datePrinted’, datetime.datetime(1899, 12, 30, 0, 0))
(‘dateSaved’, datetime.datetime(2020, 4, 19, 11, 58, 59))
(‘deleteThumbnail’, <bound method MapDocument.deleteThumbnail of <MapDocument object at 0x2581db30[0x2581d540]>>)
(‘description’, u’‘)
(‘filePath’, u’F:\1615273438559\\u94a6\u5dde\u5e02\\u94a6\u5dde\u5e0210.0.mxd’)
(‘findAndReplaceWorkspacePaths’, <bound method MapDocument.findAndReplaceWorkspacePaths of <MapDocument object at 0x2581db30[0x2581d540]>>)
(‘hyperlinkBase’, u’‘)
(‘isDDPEnabled’, False)
(‘makeThumbnail’, <bound method MapDocument.makeThumbnail of <MapDocument object at 0x2581db30[0x2581d540]>>)
(‘pageSize’, PageSize(width=8.266666666666667, height=11.694166666666666))
(‘relativePaths’, True)
(‘replaceWorkspaces’, <bound method MapDocument.replaceWorkspaces of <MapDocument object at 0x2581db30[0x2581d540]>>)
(‘save’, <bound method MapDocument.save of <MapDocument object at 0x2581db30[0x2581d540]>>)
(‘saveACopy’, <bound method MapDocument.saveACopy of <MapDocument object at 0x2581db30[0x2581d540]>>)
(‘summary’, u’‘)
(‘tags’, u’‘)
(‘title’, u’')
打印数据框的四至空间范围。
下面查看图层的四至空间地理范围:
>>> lyrs=mp.ListLayers(mxd)#获取当前地图文档的所有图层列表
>>> lyr=lyrs[0]#通过下标找到列表的某个图层,本次我们找到是第一个。
>>> ext=lyr.getExtent()#获取图层的空间范围
>>> print(ext.XMin,ext.XMax,ext.YMin,ext.YMax)#获取x和y的最大值、最小值。
验证中心点是否位于图层之内:
lyrs=mp.ListLayers(mxd)
>>> lyr=lyrs[0]
>>> ext=lyr.getExtent()
>>> x0=(ext.XMin+ext.XMax)/2
>>> y0=(ext.YMin+ext.YMax)/2
>>> p0=arcpy.Point(x0,y0)
>>> ext.contains(p0)
结果:位于图层中心内。