Learning Geospatial Analysis with Python: Unleash the power of Python 3 with practical techniques for learning GIS and remote sensing [4 ed.]
9781837639175
Harness the powerful Python programming language to navigate the realms of geographic information systems, remote sensin
Table of contents : Cover Title Page Copyright Dedication Contributors Acknowledgments Table of Contents Preface Part 1:The History and the Present of the Industry Chapter 1: Learning about Geospatial Analysis with Python Technical requirements Geospatial analysis and our world History of geospatial analysis Evolution of Geographic Information Systems (GISs) Remote sensing Point cloud data Computer-aided drafting Geospatial analysis and computer programming Object-oriented programming for geospatial analysis The importance of geospatial analysis GIS concepts Thematic maps Spatial databases Spatial indexing Metadata Map projections Rendering Remote sensing concepts Images as data Remote sensing and color Common vector GIS concepts Data structures Buffer Dissolve Generalize Intersection Merge Point in polygon Union Join Common raster data concepts Band math Change detection Histogram Feature extraction Supervised and unsupervised classification Creating the simplest possible Python GIS Getting started with Python Building a SimpleGIS Summary Questions Further reading Chapter 2: Learning about Geospatial Data Technical requirements Overview of common data formats Understanding data structures Common traits Understanding spatial indexing Spatial indexing algorithms What are overviews? What is metadata? Understanding the file structure Knowing about the most widely used vector data types Shapefiles CAD files Tag-based and markup-based formats GeoJSON GeoPackage Understanding raster data types TIFF files JPEG, GIF, BMP, and PNG Compressed formats ASCII grids World files What is point cloud data? LIDAR More realistic geospatial models with 3D data What are web services? Understanding geospatial databases Sharing data with interchange formats Introducing spatiotemporal data Summary Questions Further reading Chapter 3: The Geospatial Technology Landscape Technical requirements Understanding data access GDAL PDAL Understanding computational geometry The PROJ projection library CGAL JTS GEOS PostGIS Other spatially enabled databases Routing Understanding desktop tools (including visualization) Quantum GIS GRASS GIS gvSIG OpenJUMP Google Earth NASA WorldWind ArcGIS Leaflet and OpenLayers Understanding metadata management Python’s pycsw library GeoNode GeoNetwork A quick look at artificial intelligence Summary Questions Further reading Part 2:Geospatial Analysis Concepts Chapter 4: Geospatial Python Toolbox Technical requirements Using QGIS Installing third-party Python modules Anaconda Jupyter PyPI and pip The Python virtualenv module Python networking libraries for acquiring data The Python urllib module The Python requests module FTP Bundling and compressing files Python markup and tag-based parsers The minidom module The ElementTree module Building XML using ElementTree and minidom Well-Known Text (WKT) Python JSON libraries The json module The geojson module OGR PyShp Shapely Fiona GDAL NumPy PIL PNGCanvas GeoPandas PyFPDF PyMySQL Rasterio OSMnx Folium Summary Questions Further reading Chapter 5: Python and Geospatial Algorithms Technical requirements Measuring distance Using the Pythagorean theorem to measure distance Using the haversine formula Using the Vincenty formula Calculating line direction Understanding coordinate conversion Understanding reprojection Understanding coordinate format conversion Calculating the area of a polygon Using ChatGPT to measure a polygon perimeter Summary Questions Further reading Chapter 6: Creating and Editing GIS Data Technical requirements Editing shapefiles Accessing the shapefile Changing a shapefile Adding fields Merging shapefiles Splitting shapefiles Performing selections Aggregating geometry Extracting geometry Connecting polygon faces to the nearest line point Creating images for visualization Dot density calculations Choropleth maps Using spreadsheets Creating heat maps Using GPS data Turning addresses into points with geocoding Performing GIS analysis faster with multiprocessing Summary Questions Further reading Chapter 7: Python and Remote Sensing Technical requirements Examining raster data properties Swapping image bands Creating image histograms Performing a histogram stretch Clipping images Classifying images Extracting features from images Understanding change detection Extracting image footprints using ChatGPT Summary Questions Further reading Chapter 8: Python and Elevation Data Technical requirements Accessing ASCII Grid files Reading grids Writing grids Creating a shaded relief Creating elevation contours Working with LiDAR data Creating a grid from the LiDAR data Using PIL to visualize LiDAR data Creating a triangulated irregular network Colorizing LiDAR with aerial images Classifying LiDAR Working with bathymetry Summary Questions Further reading Part 3:Practical Geospatial Processing Techniques Chapter 9: Advanced Geospatial Modeling Technical requirements Creating a normalized difference vegetation index (NDVI) Setting up the framework Loading the data Rasterizing the shapefile Clipping the bands Using the NDVI formula Classifying the NDVI Creating a flood inundation model The flood fill function Creating a color hillshade Performing least cost path analysis The real-world example Converting the route to a shapefile Routing along streets Geolocating photos Calculating satellite image cloud cover Summary Questions Further reading Chapter 10: Working with Real-Time Data Technical requirements Limitations of real-time data Using real-time data Tracking vehicles Getting a vehicle location Mapping a vehicle location Storm chasing Gathering reports from the field Summary Questions Further reading Chapter 11: Putting It All Together Technical requirements Understanding a typical GPS report Building a GPS reporting tool Importing libraries Setting up logging Helper functions Program variables Parsing the GPX file Downloading the basemap and elevation data Hillshading the elevation data Creating a map Adding a photo marker Creating an elevation profile chart Creating a weather report Generating a PDF report Summary Questions Further reading Assessments Chapter 1 – Learning about Geospatial Analysis with Python Chapter 2 – Learning about Geospatial Data Chapter 3 – The Geospatial Technology Landscape Chapter 4 – Geospatial Python Toolbox Chapter 5 – Python and Geospatial Algorithms Chapter 6 – Creating and Editing GIS Data Chapter 7 – Python and Remote Sensing Chapter 8 – Python and Elevation Data Chapter 9 – Advanced Geospatial Modeling Chapter 10 – Working with Real-Time Data Chapter 11 – Putting It All Together Index About Packt Other Books You May Enjoy