Select to view content in your preferred language

Notebook Error in Executing Tool arcpy.SelectLayerByLocation

506
1
01-18-2024 09:34 AM
Labels (3)
RemyShipman
New Contributor

Hi all,

I am new to using notebooks in ArcOnline and keep getting a "Runtime error: Error in executing tool" while using the arcpy.SelectLayerByLocation tool on two hosted feature layers. The line runs just fine when using local files in python with ArcPro, so I'm assuming there is a difference using them between Online/Pro. 

These are my lines of code:

# variables for layers
streets = gis.content.get("63e410a1a67044e79642f5a4c13a1873")
vehicles = gis.content.get("310e43debfb74081904820174814a58b")

# select by location / intersect on plow routes
print("Selecting snow routes...")
int_layer = arcpy.management.SelectLayerByLocation(streets, "INTERSECT", vehicles, selection_type="NEW_SELECTION")
theCount = arcpy.management.GetCount(int_layer)
print(f"{theCount} features selected")

  And this is the error message that I get whenever I run the code:

RuntimeError                              Traceback (most recent call last)
/tmp/ipykernel_33/2284513187.py in <cell line: 7>()
      5 # select by location / intersect on plow routes
      6 print("Selecting snow routes...")
----> 7 int_layer = arcpy.management.SelectLayerByLocation(streets, "INTERSECT", vehicles, selection_type="NEW_SELECTION")
      8 theCount = arcpy.management.GetCount(int_layer)
      9 print(f"{theCount} features selected")

/opt/conda/lib/python3.9/site-packages/arcpy/management.py in SelectLayerByLocation(in_layer, overlap_type, select_features, search_distance, selection_type, invert_spatial_relationship)
  10589         return retval
  10590     except Exception as e:
> 10591         raise e
  10592 
  10593 

/opt/conda/lib/python3.9/site-packages/arcpy/management.py in SelectLayerByLocation(in_layer, overlap_type, select_features, search_distance, selection_type, invert_spatial_relationship)
  10586     from arcpy.arcobjects.arcobjectconversion import convertArcObjectToPythonObject
  10587     try:
> 10588         retval = convertArcObjectToPythonObject(gp.SelectLayerByLocation_management(*gp_fixargs((in_layer, overlap_type, select_features, search_distance, selection_type, invert_spatial_relationship), True)))
  10589         return retval
  10590     except Exception as e:

/opt/conda/lib/python3.9/site-packages/arcpy/geoprocessing/_base.py in <lambda>(*args)
    518         val = getattr(self._gp, attr)
    519         if callable(val):
--> 520             return lambda *args: val(*gp_fixargs(args, True))
    521         else:
    522             return convertArcObjectToPythonObject(val)

RuntimeError: Object: Error in executing tool

Any help would be greatly appreciated!

0 Kudos
1 Reply
DavidPike
MVP Frequent Contributor

Not sure, but worth a try (python API is always trial and error for me):

 

# variables for layers
streets = gis.content.get("63e410a1a67044e79642f5a4c13a1873")
vehicles = gis.content.get("310e43debfb74081904820174814a58b")

#access layers
# assuming it's the first layer
streets_layer = streets.layers[0] 
vehicles_layer = vehicles.layers[0] 

 
# select by location / intersect on plow routes
print("Selecting snow routes...")
int_layer = arcpy.management.SelectLayerByLocation(streets_layer, "INTERSECT", vehicles_layer, selection_type="NEW_SELECTION")
theCount = arcpy.management.GetCount(int_layer)
print(f"{theCount} features selected")

 

0 Kudos