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!
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")