课本_第四章、地图数据框

 

--查看当前数据框
adf = mxd.activeDataFrame   #此处对应mxd对象
 
--列举所有数据框
1 dfs = mp.ListDataFrames(mxd)  #此处对应 mapping  附加库
2 for df in dfs:
3     print(df.name)

 

--动态旋转地图
复制代码
 1 adf.rotation = i    #属性   旋转i度
 2 time.sleep(secs)    #方法   进程挂起 secs 秒
 3  4 ap.RefreshActiveView()   #刷新活动视图
 5 ap.RefreshTOC()          #刷新内容列表--左侧
 6 ap.RefreshCatalog()      #刷新目录--右侧
 7  8  9 10 11 import time
12 angles = range(1,30) + range(30,-1,-1)
13 for i in angles:
14     adf.rotation = i
15     ap.RefreshActiveView()
16     time.sleep(0.05)
复制代码

 

--查看数据框的空间参考
sr = adf.spatialReference
sr.name

 

--更改数据框显示范围
adf.zoomToSelectedFeatures()     
ap.RefreshActiveView()    #缩放至选择要素
#当没有选择要素时,显示全图

 

--模拟动态跟踪目标
复制代码
 1 zip()  用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回有这些元组组成的列表
 2 xs = [1,2,3]
 3 ys = [4,5,6]
 4 zip(xs,ys)
 5 [(1,4),(2,5),(3,6)]
 6 #可以利用这个函数的组织方式来创建面对象
 7 ap.Extent(XMin,YMin,XMax,YMax)  #创建范围,范围是左下角和右上角坐标确定的一个矩形,单位是地图单位
 8 adf.panToExtent(extent)   #平移至指定范围
 9 10 11 12 13 import numpy as np
14 ext = adf.extent    #这一步要确保窗口的显示范围是最大显示范围
15 xs = np.linespace(ext.XMin,ext.XMax,50)
16 ys = np.linespace(ext.YMin,ext.YMax,50)
17 xys = zip(xs,ys)
18 adf.scale = 250000   #确定比例尺
19 for xy in xys:
20     x = xy[0]
21     y = xy[1]
22     extent = ap.Extent(x,y,x,y)
23     adf.panToExtent(extent)
24     ap.RefreshActiveView()
25     time.sleep(0.05)
复制代码

 

posted @   Agiser0  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示