描述
镶嵌数据集支持与按位置选择图层地理处理工具一起使用,但无论是以编程方式运行选择还是通过地理处理工具运行选择,工作流可能并不直观。
镶嵌数据集将由图像、边界图层和覆盖区组成,这使得此工作流有些独特。
Note:
For the tool to run properly, we need to rely on the mosaic datasets footprint or boundary layer components - the image components are not valid inputs for the Select Layer by Location geoprocessing tool.
请考虑下面的示例工作流。
通过 ArcGIS Pro GUI 在镶嵌数据集上运行按位置选择图层工具
- 确保已创建镶嵌数据集,并创建了另一个要素图层(与镶嵌数据集重叠)以用作选择要素参数。
- 打开 ArcGIS Pro,创建新工程,然后将镶嵌数据集和重叠图层添加到新工程中。
- 在地理处理窗格中,搜索并打开按位置选择图层数据管理地理处理工具。
- 填充工具,使用相交关系将镶嵌数据集的覆盖区或边界图层设置为输入,并将另一个重叠图层设置为选择要素。
- 这将选择镶嵌数据集的覆盖区,前提是它与选择要素图层适当相交。
- 如果使用镶嵌数据集的图像,则该工具将失效。
使用 ArcPy 在镶嵌数据集上运行按位置选择工具
- 确保已创建镶嵌数据集,并创建另一个要素图层(与镶嵌数据集重叠)以用作选择要素。
- 打开 ArcGIS Pro,创建新工程,然后将镶嵌数据集和重叠图层添加到新工程中。
- 考虑按位置选择图层地理处理工具的 Python 语法:
arcpy.management.SelectLayerByLocation(in_layer, {overlap_type}, {select_features}, {search_distance}, {selection_type}, {invert_spatial_relationship})
- 调整脚本以依赖覆盖区或边界图层作为输入,使用相交关系将另一个重叠图层作为选择要素。
- 如果我们依赖于相交重叠类型,下面是基本核心脚本的外观。
arcpy.management.SelectLayerByLocation(MosaicDatasetName, "INTERSECT", SelectingLayerName)
- 要使用 Python 语法选择镶嵌数据集中使用的边界或覆盖区,请使用镶嵌数据集的名称,后跟 /Footprint 或 /Boundary,例如:MosaicDatasetName/Footprint 或 MosaicDatasetName/Boundary。
- 脚本的最终版本如下所示:
arcpy.management.SelectLayerByLocation(MosaicDatasetName/Boundary, "INTERSECT", SelectingLayerName)
- 这将选择名为“MosaicDatasetName”的镶嵌数据集中的边界图层,该数据集与另一个名为“SelectingLayerName”的图层相交。
解决方案或解决方法
- 镶嵌数据集可与按位置选择图层地理处理工具一起使用,但输入要素必须是镶嵌数据集中的覆盖区或边界图层。使用 ArcGIS Pro 地理处理窗格可以轻松完成此操作。
- 尝试通过 ArcPy 使用此功能时,我们通过输入镶嵌数据集的名称,后跟 /Boundary 或 /Footprint 来访问边界和覆盖区组件。 例如,“MosaicDatasetName/Boundary”或“MosaicDatasetName/Footprint”