“Select By Location” Feature Layer — Spatial query that is fast, modifiable, and refreshable

1050
3
03-26-2023 06:36 AM
Status: Open
Labels (1)
Bud
by
Notable Contributor

This idea was previously named "Convert selected features from Select By Location into a fully-functional feature layer".


We need spatial queries that are:

  • Fast
  • Easy to set up
  • Dynamic
  • Modifiable
  • Refreshable

One option would be Spatial SQL Definition Queries. But as mentioned in that idea, spatial database operations are notoriously slow and are difficult to set up correctly (as @JoshuaBixby mentions in a comment here).

So I'm wondering if “Select By Location” functionality could be used as an alternative mechanism, since that tool is surprisingly fast, even for large datasets.

Idea:
Could functionality be added to ArcGIS Pro that lets us convert the selected features from Select By Location into a fully functional feature layer? 

  1. Refresh the layer dynamically. When the map refreshes, the spatial operation automatically re-queries.
  2. Or, the user could choose to manually refresh the layer as needed.

We would need the ability to modify the Select By Location parameters after the feature layer was created. For example, put modifiable Select By Location parameters right in the layer properties. Or a button that brings up the Select By Location window with the existing layer's settings preloaded, ready to be adjusted and rerun. 

 

3 Comments
avillamo

I will like to select by coordinates my layers. 

Bud
by

I’m aware that it’s possible to create a layer from a selection using the Create Layer from Selected Features tool. But I don’t think those layers are dynamic/modifiable/refreshable, so they have limited use.

It might be possible to create a model or Python script to produce FCs that are similar to what we want — output a FC using spatial operations and re-run the script on-demand to replace the data. But that would require time, effort, and skill to develop. And couldn’t be refreshed automatically. Further, even manual refreshing would be slow because ArcPy is slow to initialize compared to Select By Location.


One of the benefits of this idea is that it would use ArcObjects, which means it would support all datatypes, such as file geodatabases.
Whereas the Spatial SQL Definition Query idea would only work for datatypes that have spatial functions in the database, such as enterprise and mobile geodatabases, not file geodatabases.

I suppose, behind the scenes, the layer would be a list of objectids, which is somewhat similar to "Create Layer from Selected Features". But the difference would be: the layer is modifiable and refreshable.