gpt4 book ai didi

python - 无法为 arcpy 中的给定多边形输入选择图层

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:42 26 4
gpt4 key购买 nike

我已经创建了 python 脚本工具,并且能够通过提供如下要素类来选择图层。

import arcpy

arcpy.env.workspace = "C:/project/pmms.gdb"

arcpy.SelectLayerByLocation_management('stops', 'intersect', 'adminarea')
<小时/>

但是当我使用以下代码获取用户输入多边形(FeatureSet)时,它失败并给出错误消息。我创建了一个 FeatureSet 类型的参数,以允许用户提供交互式多边形输入。请提出您的建议。

import arcpy

fc = "C:/project/pmms.gdb/stops"

infeat = arcpy.GetParameterAsText(0)

arcpy.SelectLayerByLocation_management(fc, 'intersect', infeat)

错误消息:

Traceback (most recent call last):
File "C:\project\scripts\select.py", line 7, in <module>
arcpy.SelectLayerByLocation_management(fc, 'intersect', infeat)
File "c:\program files\arcgis\desktop10.1\arcpy\arcpy\management.py", line 6585, in SelectLayerByLocation
raise e
ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000368: Invalid input data.
Failed to execute (SelectLayerByLocation).

最佳答案

来自 ArcGIS help page on the Select Layer By Location function :

The input must be a feature layer; it cannot be a feature class.

包括Make Feature Layer尝试选择之前进行操作,它应该按预期工作。

fc = "C:/project/pmms.gdb/stops"
arcpy.MakeFeatureLayer_management(fc, 'stops')
arcpy.SelectLayerByLocation_management('stops', 'intersect', infeat)

只需确保您的 ArcMap 内容列表中尚不存在名为 stops 的图层(这可能是您的代码的先前版本能够正常工作的原因)。

关于python - 无法为 arcpy 中的给定多边形输入选择图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36076557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com