学习
实践
活动
工具
TVP
写文章

python在arcgis中的求交分析与数据融合

最近正好在学习python在arcgis方面的应用,这是最近利用到项目的需求例子。

首先这是一个利用arcpy求交、以及数据融合、文件复制操作例子。大概需求是这样的,这里有一个图幅结合表的shapefile面数据,该面属性表数据对应有图幅号,现在利用某一区域(暂且一个县)的面shapefile数据与图幅结合表相交,计算出相交结果的图幅结合表,然后遍历该结果图幅结合表的图幅字段,最后利用利用这些字段信息在指定文件将多个分幅好的DEM数据拼接为该区域(一个县)一大块DEM数据,整个工作流程就结束了。

来看一下相关的文件。如下图所示是一个图幅里面对应的DEM数据文件。

现在利用arcpy的函数Intersect_analysis计算出图幅结合图表相交面,然后利用里面的属性数据找出所有上面所有文件的DEM数据。最后利用MosaicToNewRaster_management函数将上面所有的DEM数据融合到一起。其中利用求交函数得出的DEM文件如下所示。下图的文件夹对应上图中的各个文件。

在MosaicToNewRaster_management函数中传入了,各个文件夹里面的DEM绝对路径的字符串,设置相应的输出路径、文件名、以及合成DEM波段,因为DEM也是可以是一种tif格式数据,这里根据原始数据的设置了32个波段。而如果使用Arcgis的工具箱来合成新的数据,依次选择【Data ManageMent Tools】、【Raster】、【Raster Dataset】、【Mosaic To New Raster】,弹出如下的设置界面对话框。

设置完上面的合成界面后,就可以做数据融合工作。注意上面数据就两个,在这里我们可以将上面选择arcgis的toolbox转为相应的python脚本,供我们使用,可以说非常方便。具体操作如下,操作完上面的融合测试工作后(因为只是选择了两个DEM数据,而我们接下来需要选择一个区域的多个DEM数据),我们在Arcgis依次选择【Geoprocessing】、【Results】

右击刚才的融合操作【Mosaic To New Raster】、选择【Copy As Python Snippet】,就可以将刚才的融合需要输入的参数、输入参数信息以及需要调用的arcpy函数变为python脚本。具体如下图所示。

这也是需要在我们自己脚本中调用的python脚本,经过这样的操作极大方便我们使用arcpy函数。

好了,说了这么多,来看一下我们写的python脚本吧。

如果觉得这篇文章有用,欢迎微信分享转载。更多内容,敬请微信关注公众号:测绘科技。

排版|测绘科技

文案|测绘科技

公众号:测绘科技

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180926G0AVSH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券