<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.municipalgis.org/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/address-geocoding-parcel-matching/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/address-geocoding-parcel-matching/handling-po-boxes-and-unnumbered-addresses-in-parcel-matching/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/address-geocoding-parcel-matching/matching-permit-addresses-to-parcels-with-fuzzy-and-spatial-joins/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/address-geocoding-parcel-matching/nominatim-vs-pelias-vs-census-geocoder-for-parcel-work/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/address-geocoding-parcel-matching/resolving-one-address-to-many-parcels-in-condominium-plats/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/address-geocoding-parcel-matching/validating-geocode-results-against-parcel-centroids/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/async-batch-processing/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/async-batch-processing/implementing-async-batch-processing-for-large-gis-datasets/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/attribute-normalization-rules/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/attribute-normalization-rules/normalizing-zoning-attributes-across-different-city-schemas/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/attribute-normalization-rules/reconciling-conflicting-zoning-codes-across-annexation-boundaries/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/error-handling-retry-logic/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/error-handling-retry-logic/designing-a-quarantine-table-for-rejected-parcel-records/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/error-handling-retry-logic/implementing-circuit-breakers-for-flaky-municipal-endpoints/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/geospatial-format-conversion/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/geospatial-format-conversion/converting-shapefiles-to-geoparquet-without-losing-crs-metadata/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/gis-export-sync-workflows/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/gis-export-sync-workflows/automating-shapefile-and-geojson-exports-from-municipal-portals/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/gis-export-sync-workflows/incremental-vs-full-exports-for-large-parcel-datasets/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/municipal-api-rate-limit-management/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/municipal-api-rate-limit-management/aiohttp-vs-httpx-for-municipal-api-polling/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/municipal-api-rate-limit-management/handling-retry-after-headers-that-lie/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/pdf-html-scraping-pipelines/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/pdf-html-scraping-pipelines/extracting-parcel-tables-from-scanned-municipal-pdfs-with-pdfplumber/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/pdf-html-scraping-pipelines/handling-html-table-drift-in-county-planning-portals/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/pdf-html-scraping-pipelines/scraping-zoning-pdfs-with-python-and-pypdf2/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/scheduling-orchestration-dependencies/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/scheduling-orchestration-dependencies/backfilling-a-missed-week-of-county-feeds-without-double-counting/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/scheduling-orchestration-dependencies/cron-vs-airflow-vs-prefect-for-municipal-feed-schedules/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/scheduling-orchestration-dependencies/designing-idempotent-dag-tasks-for-parcel-ingestion/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/scheduling-orchestration-dependencies/managing-watermarks-when-a-portal-restates-history/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/automated-feed-ingestion-gis-data-parsing/scheduling-orchestration-dependencies/staggering-per-jurisdiction-schedules-to-avoid-a-thundering-herd/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/compliance-framework-integration/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/compliance-framework-integration/building-an-end-to-end-audit-trail-across-ingestion-and-architecture/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/compliance-framework-integration/integrating-local-compliance-frameworks-into-automated-pipelines/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/crs-alignment-strategies/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/crs-alignment-strategies/aligning-coordinate-reference-systems-for-cross-jurisdiction-tracking/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/crs-alignment-strategies/handling-epsg-lookup-failures-in-pyproj/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/crs-alignment-strategies/pyproj-vs-gdal-for-batch-reprojection/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/data-lineage-provenance-tracking/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/data-lineage-provenance-tracking/stamping-source-to-target-lineage-hashes-on-every-record/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/fallback-routing-logic/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/fallback-routing-logic/designing-fallback-routing-for-missing-municipal-data-feeds/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/fallback-routing-logic/serving-last-known-good-snapshots-when-a-municipal-feed-goes-dark/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/municipal-data-structures/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/municipal-data-structures/best-practices-for-structuring-municipal-gis-databases/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/municipal-data-structures/postgis-vs-duckdb-geoparquet-for-zoning-overlay-storage/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/overlay-district-modeling/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/overlay-district-modeling/composing-base-zoning-and-overlay-districts-without-losing-either/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/overlay-district-modeling/computing-effective-standards-when-three-overlays-apply/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/overlay-district-modeling/detecting-overlay-changes-that-leave-the-base-code-untouched/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/overlay-district-modeling/representing-planned-unit-developments-as-parcel-specific-overlays/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/overlay-district-modeling/resolving-conflicting-overlay-stacking-rules/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/schema-validation-data-quality-checks/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/schema-validation-data-quality-checks/detecting-silent-schema-drift-in-municipal-feeds/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/schema-validation-data-quality-checks/pandera-vs-pydantic-vs-great-expectations-for-parcel-contracts/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/schema-validation-data-quality-checks/validating-zoning-schema-consistency-across-city-portals/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/spatial-database-indexing-performance/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/spatial-database-indexing-performance/tuning-postgis-gist-indexes-for-parcel-overlay-queries/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/testing-spatial-data-pipelines/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/testing-spatial-data-pipelines/building-golden-file-tests-for-geometry-transformations/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/testing-spatial-data-pipelines/creating-minimal-parcel-fixtures-that-reproduce-topology-bugs/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/testing-spatial-data-pipelines/property-based-testing-for-geometry-normalization/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/testing-spatial-data-pipelines/pytest-fixtures-vs-factory-functions-for-parcel-test-data/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/testing-spatial-data-pipelines/testing-crs-handling-without-a-live-projection-database/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/zoning-taxonomy-mapping/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/zoning-taxonomy-mapping/debugging-zoning-taxonomy-mapping-conflicts-between-adjacent-jurisdictions/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/municipal-zoning-data-architecture-compliance-frameworks/zoning-taxonomy-mapping/how-to-map-local-zoning-codes-to-standardized-taxonomies/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/change-detection-diffing/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/change-detection-diffing/diffing-parcel-geometries-to-detect-zoning-boundary-changes/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/development-capacity-buildable-area/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/development-capacity-buildable-area/calculating-far-and-density-across-split-zoned-parcels/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/development-capacity-buildable-area/computing-a-buildable-envelope-from-setbacks-and-height-limits/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/development-capacity-buildable-area/estimating-unit-yield-under-a-proposed-rezone/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/development-capacity-buildable-area/handling-irregular-and-flag-lots-in-setback-computation/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/development-capacity-buildable-area/shapely-buffer-vs-manual-offsets-for-setback-geometry/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/spatial-overlay-analysis/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/spatial-overlay-analysis/computing-parcel-level-zoning-impact-with-geopandas-overlay/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/temporal-versioning-snapshots/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/temporal-versioning-snapshots/modeling-bitemporal-zoning-history-in-postgis/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/vector-tile-map-publishing/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/vector-tile-map-publishing/building-a-zoning-vector-tile-pyramid-with-tippecanoe/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/vector-tile-map-publishing/invalidating-tile-caches-when-a-rezone-lands/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/vector-tile-map-publishing/joining-zoning-attributes-to-tiles-without-rebuilding-geometry/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/vector-tile-map-publishing/keeping-tile-styling-in-step-with-a-taxonomy-change/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/vector-tile-map-publishing/postgis-st-asmvt-vs-pre-generated-pmtiles/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/zoning-change-alerting/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.municipalgis.org/spatial-impact-analysis-zoning-change-detection/zoning-change-alerting/building-a-zoning-change-notification-pipeline-in-python/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>
