<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.pythonlidar.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/</loc>
    <lastmod>2026-07-12T19:16:32.500Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/airflow-dag-orchestration/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/</loc>
    <lastmod>2026-07-12T19:16:32.500Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/pdal-docker-containers/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/</loc>
    <lastmod>2026-07-12T19:16:32.500Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/aws-batch-processing/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/s3-cloud-storage-io/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/dsm-generation/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/hillshade-slope-aspect/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/dtm-raster-generation/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/pmf-ground-classification/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/smrf-ground-classification/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/attribute-mapping/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/parallel-execution/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/memory-management/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/pipeline-filtering-logic/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/pdal-stage-chaining/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/</loc>
    <lastmod>2026-07-12T19:16:32.500Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/coordinate-reference-systems/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/spatial-reprojection/</loc>
    <lastmod>2026-07-12T19:16:32.500Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/metadata-header-sync/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/pipeline-validation/</loc>
    <lastmod>2026-07-12T19:16:32.501Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/airflow-dag-orchestration/orchestrating-pdal-workflows-with-airflow/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/pdal-docker-containers/running-pdal-pipelines-in-docker/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/laslaz-file-structure/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/s3-cloud-storage-io/streaming-laz-from-s3-with-pdal/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/aws-batch-processing/scaling-pdal-tile-processing-with-aws-batch/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/point-density-metrics/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/dsm-generation/building-a-dsm-from-first-returns/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/batch-automation-cloud-integration/s3-cloud-storage-io/writing-cloud-optimized-geotiffs-to-s3/</loc>
    <lastmod>2026-07-12T19:16:32.506Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/asprs-classification-codes/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/dsm-generation/dtm-vs-dsm-which-surface-model/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/dtm-raster-generation/filling-nodata-voids-in-dtm-rasters/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/hillshade-slope-aspect/exporting-hillshade-from-a-lidar-dtm/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/dtm-raster-generation/generating-a-dtm-geotiff-with-writers-gdal/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/dtm-raster-generation/idw-vs-mean-interpolation-for-dtm-gaps/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/pmf-ground-classification/classifying-ground-with-progressive-morphological-filter/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/pmf-ground-classification/tuning-pmf-window-and-slope/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/smrf-ground-classification/smrf-vs-pmf-for-dense-urban-lidar/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/ground-filtering-dtm-dsm-generation/smrf-ground-classification/tuning-smrf-for-forested-terrain/</loc>
    <lastmod>2026-07-12T19:16:32.502Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/attribute-mapping/mapping-custom-attributes-in-pdal-pipelines/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/pipeline-validation/validating-pdal-pipelines-in-ci/</loc>
    <lastmod>2026-07-12T19:16:32.504Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/parallel-execution/optimizing-pdal-for-multi-core-processing/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/pipeline-filtering-logic/applying-statistical-outlier-filters-in-pdal/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/spatial-reprojection/reprojecting-point-clouds-from-utm-to-wgs84/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/laslaz-file-structure/how-to-parse-las-headers-with-python/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/coordinate-reference-systems/fixing-crs-mismatches-in-point-clouds/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/metadata-header-sync/syncing-metadata-between-las-and-shapefiles/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/asprs-classification-codes/understanding-asprs-classification-codes/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/laslaz-file-structure/converting-las-to-laz-with-pdal/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/point-cloud-data-standards-fundamentals/point-density-metrics/calculating-point-density-for-drone-surveys/</loc>
    <lastmod>2026-07-12T19:16:32.505Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/pdal-stage-chaining/chaining-pdal-stages-for-data-cleaning/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url><url>
    <loc>https://www.pythonlidar.com/pdal-pipeline-architecture-execution/memory-management/laz-vs-uncompressed-las-for-iterative-processing/</loc>
    <lastmod>2026-07-12T19:16:32.503Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>
