How nycdepartmentoffinance/github_actions_demo works
This repository’s product is a Python geospatial extraction and transformation workflow: a user selects a geography and polygon or centroid output, the CLI invokes extraction from ArcGIS Online, normalizes and validates geometries, optionally remaps lot BBLs, and writes compressed GeoParquet for Python or R consumers. The README also documents neighborhood extraction from a local shapefile and scheduled or manually triggered updates; the sampled query implementation does not show how that neighborhood path is wired, so it is represented as a documented optional input without inferred call edges.
Main entry points: query.py ArcGIS extraction · output GeoParquet files · main.yml Scheduled updates · python_maps.ipynb Python mapping
Components 13
Invocation
- CLI
query.py - Scheduled updates
.github/workflows/main.yml
Geospatial transformation
- ArcGIS extraction
query.py - Geography selection
query.py - Centroid option
query.py - Geometry validation
query.py - Lot BBL crosswalk
query.py
GeoParquet outputs
- GeoParquet files
output
Data consumption
- Python mapping
python_maps.ipynb - R mapping
R_maps.Rmd
Other components
- Data user
- ArcGIS Online
- Neighborhood shapefile
Connections 14
- Data user → CLI: selects options
- CLI → ArcGIS extraction: invokes
- ArcGIS extraction → Geography selection: selects level
- ArcGIS extraction → ArcGIS Online: queries layers
- ArcGIS extraction → Centroid option: requests option
- ArcGIS extraction → Geometry validation: validates geometries
- ArcGIS extraction → Lot BBL crosswalk: queries for lots
- Lot BBL crosswalk → ArcGIS Online: reads table
- ArcGIS extraction → GeoParquet files: writes files
- Data user → GeoParquet files: reads files
- GeoParquet files → Python mapping: loads data
- GeoParquet files → R mapping: loads data
- Scheduled updates → CLI: runs updates
- Neighborhood shapefile → ArcGIS extraction: documented input