课本_第四章、地图数据框
--查看当前数据框
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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)