如何使用arcpy将向量要素裁剪到现有栅格数据集的范围


9

我有一个裁剪的栅格数据集,上面覆盖了折线(来自轮廓工具)(请参见附件)。我正在尝试将折线裁剪到栅格数据集的范围,这似乎很简单,但是我尝试了很多事情,但似乎无法使其工作。我最终将需要使用arcpy对此进行编码,但是我认为现在,只是朝着正确的方向轻推一下哪种工具可以完成此操作,这对我现在有帮助。

谢谢。

PS我正在使用ArcInfo 10.0

clipPolylinesToRasterExtent

Answers:


12

您可以使用裁剪工具将数据集范围用作多边形几何,如在地理处理工具中使用几何图形示例中所示。

import arcpy

pnt_array = arcpy.Array()
extent = arcpy.Raster(in_raster).extent
pnt_array.add(extent.lowerLeft)
pnt_array.add(extent.lowerRight)
pnt_array.add(extent.upperRight)
pnt_array.add(extent.upperLeft)

poly = arcpy.Polygon(pnt_array)

arcpy.Clip_analysis(in_lines, poly, "out_dataset")

谢谢!!在我看到这篇文章之前,我至少能够在Arc中手动进行此操作,但是可以肯定的是,我的方法似乎有些复杂。我创建了一个虚拟shapefile,然后使用编辑器工具构造了一个多边形,该工具概述了栅格数据的边界。然后,使用该虚拟shapefile在折线上运行剪切工具,因为它也应该剪切它们。我遇到了一个错误,但是后来我将特征用于多边形,并将其结果用作要剪切的折线的shapefile,并且可以正常工作!我需要arcpy,所以谢谢!!:-)
niklas24年

2

有一个简单的方法可以做到这一点。

首先获取栅格图像的范围。

将其设置为环境范围属性

然后使用复制功能代替片段分析,例如

arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)
...some code here to ...
arcpy.CopyFeatures_management(shapefile,outFeatureClass)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.