ArcMap中使用arcpy进行网格截图

前段时间有小朋友问我如何在ArcMap中使用使用python对遥感影像进行网格截图,我分析了一下,其实arcpy有出图的方法,我们只需要用数学定义一个网格,进行循环出图就可以了。

先看我们的例子。


然后我的需求是将广州市用一个3X3的网格进行截图。所以我需要定义网格的初始左下角坐标,和网格的宽和高。(具体根据你自己的需求设定,什么100X200的网格。)

首先我们打开我们的Python交互环境。

然后直接上代码:


接下来我们一行一行解释一下代码。

mxd=arcpy.mapping.MapDocument("CURRENT")//表示获取当前的mxd文档

df=arcpy.mapping.ListDataFrames(mxd)[0]//获取mxd文档的第一个数据框架

newExtent=df.extent //获取数据框架的extent(范围)

x,y,increx,increy=690993,2495221,42157,54151//x,y表示的是网格的左下角起始坐标,increx,increy表示的是网格的宽和高,可以自己画个图理解一下

for i in range(1,4): //表示行数3行,1、2、3
for j in range(1,4): //表示
数3列,1、2、3
newExtent.XMin,newExtent.YMin=x+increx*(j-1),y+increy*(i-1)
//赋值新的范围
newExtent.XMax,newExtent.YMax=x+increx*j,y+increy*i
df.extent=newExtent
arcpy.mapping.ExportToJPEG(mxd,r"e:\test\test"+str(i)+str(j)+r".jpg")
//在E盘的根目录下新建一个test文件夹,将结果输出


然后我们打开E盘根目录下的test文件夹,来查看一下结果:


想象力好一点应该可以能够将这幅广州市的拼图拼起来吧!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值