In ArcGIS, what are the options for automatically computing a field in an enterprise geodatabase?
- Example: Populate a field in a road polyline FC (4,000 rows) —with— the zone number from a zone polygon FC (10 rows).
- Purpose: Serve up the data to an Excel pivot table report; connect to the geodatabase via an ODBC connection. Various other GIS uses.
- Environment: Oracle 18c; SDE.ST_GEOMETRY spatial datatype; ArcMap/geodatabase 10.7.1.
Options:
- Trigger-like mechanism (update FC field or a parallel table in real-time):
- Calculation attribute rule (ArcMap incompatibility/db view workaround)
- Database trigger
- Materialized view - fast refresh option; using materialized view logs
- Scheduled job (update FC field or a parallel table):
- Windows task scheduler on a server: ArcPy script & .SDE connection file
- Windows task scheduler on a local PC, which is the mechanism that's used for Scheduling geoprocessing tools: ArcPy script & .SDE connection file
- Oracle scheduler to run a stored procedure
- Materialized view - scheduled
- ArcGIS Notebook Server (extra cost) (not available for 10.7.1 geodatabases)
- 3rd party application (example: FME)
- Web-based automation services?
- Integromat; now called Make
- Microsoft Power Automate
- Others
- Server customization:
- Custom application/server to make HTTP calls to ArcGIS REST API.
- Server object extension (SOEs) or server object interceptors (SOIs)? (extra cost)
- Query (SDE.ST_GEOMETRY functions are slow)
- Database view
- Function-based spatial index
- Hidden virtual column
- Add a function-based index?
- SQL query in Excel or other application.
- ODBC connection
- Microsoft Query (store SQL query right in Excel file)
- Power Query for Excel (connect to database tables and views?)
- ArcMap or ArcGIS Pro (doesn't help me with my Excel report):
- Query layer
- Logic options:
- When a zone gets edited, edit all roads (real-time)
- When a road gets edited, update the road's zone field (real-time)
- Update all roads on a schedule
- Update roads that have been recently edited (editor tracking date) — on a schedule. What if the zone was edited?
- Manual
- Manually run a geoprocessing tool
- Manually run a ArcPy script
- Manually use the field calculator in ArcMap
- Manual data entry in attribute table in ArcMap
Any other options/ideas?
Thanks.