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

955 94 53MB

English Pages 432 Year 2023

Report DMCA / Copyright

DOWNLOAD FILE

Learning Geospatial Analysis with Python: Unleash the power of Python 3 with practical techniques for learning GIS and remote sensing [4 ed.]
 9781837639175

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

Polecaj historie