- Rust setup
- Install Docker
- Rust (book)
-
Clone the repo
-
Copy
.env.exampleto.envand update values -
Start the database
# todo- Run migrations
# todo- Start the dev server
DUCKDB_DOWNLOAD_LIB=1 cargo run- Run tests
DUCKDB_DOWNLOAD_LIB=1 cargo testDUCKDB_DOWNLOAD_LIB=1 cargo fmt
DUCKDB_DOWNLOAD_LIB=1 cargo clippy
DUCKDB_DOWNLOAD_LIB=1 cargo testThis repo includes a static parcel tile pipeline for the full silver.parcels dataset
(82,152 parcels). It extracts parcel geometries from DuckDB/GCS, writes newline-delimited
GeoJSON, and builds a single PMTiles archive for MapLibre.
Prerequisites:
duckdbCLItippecanoeGCS_KEY_IDandGCS_SECRETin your environment or.env
Run:
set -a
source .env
set +a
./scripts/generate_parcel_pmtiles.shOutput:
build/tiles/parcels.geojson.ndjsonbuild/tiles/madison-parcels.pmtiles
Defaults:
- minimum zoom:
10(citywide Madison view) - maximum zoom:
14
Override those if needed:
MIN_ZOOM=9 MAX_ZOOM=15 ./scripts/generate_parcel_pmtiles.shThe scheduled workflow is in .github/workflows/parcel-tiles.yml. It runs weekly and can
also be triggered manually.
Required GitHub secrets:
GCS_KEY_IDGCS_SECRETCLOUDFLARE_R2_ACCESS_KEY_IDCLOUDFLARE_R2_SECRET_ACCESS_KEY
Required GitHub repository variables:
CLOUDFLARE_R2_BUCKETCLOUDFLARE_R2_ENDPOINT
Optional GitHub repository variable:
CLOUDFLARE_R2_OBJECT_KEY(defaults tomadison-parcels.pmtiles)