Learning Geospatial Analysis with Python
"Learning Geospatial Analysis with Python" by Joel Lawhead is a comprehensive guide to using Python for geospatial analysis. The book is divided into two sections: the history and present of the geospatial industry, and geospatial analysis concepts.
In Section 1, the book begins with Chapter 1, which introduces readers to geospatial analysis and its importance in our world. The author covers the history of geospatial analysis, including Geographic Information Systems (GIS), remote sensing, elevation data, and computer-aided drafting. The chapter also delves into the relationship between geospatial analysis and computer programming, particularly object-oriented programming for geospatial analysis. The author further explains GIS concepts, thematic maps, spatial indexing, metadata, map projections, rendering, remote sensing concepts, and common vector GIS concepts.
Chapter 2 focuses on learning geospatial data, including an overview of common data formats, understanding data structures, spatial indexing algorithms, and an in-depth explanation of widely used vector and raster data types. The chapter also covers point cloud data and web services, as well as an introduction to geospatial databases.
Chapter 3 explores the geospatial technology landscape, including data access, computational geometry, routing, desktop tools for visualization, and metadata management. The author provides detailed explanations of various libraries and tools, such as GDAL, PROJ, CGAL, JTS, GEOS, PostGIS, Oracle Spatial and Graph, ArcSDE, Microsoft SQL Server, MySQL, SpatiaLite, GeoPackage, Esri Network Analyst and Spatial Analyst, Quantum GIS, OpenEV, GRASS GIS, gvSIG, OpenJUMP, Google Earth, NASA WorldWind, ArcGIS, Python's pycsw Library, GeoNode, and GeoNetwork.
In Section 2, Chapter 4 focuses on the geospatial Python toolbox, including installing third-party Python modules, Python virtualenv, Conda, installing GDAL, Python networking libraries for acquiring data, markup and tag-based parsers, JSON libraries, OGR, NumPy, PIL, PNGCanvas, GeoPandas, PyMySQL, PyFPDF, Geospatial PDF, Rasterio, OSMnx, Jupyter, and Conda.
Chapter 5 explores Python and Geographic Information Systems, covering measuring distance, calculating line direction, coordinate conversion and reprojection, coordinate format conversion, calculating the area of a polygon, editing shapefiles, and working with shapefile attributes and geometry.
The book is a comprehensive resource for geospatial analysts, GIS professionals, and Python developers who want to learn how to use Python for geospatial analysis. It provides a solid foundation in geospatial concepts and technologies, along with practical examples and tutorials using Python libraries and tools. Whether you are a beginner or an experienced programmer, "Learning Geospatial Analysis with Python" is a valuable reference that will help you master geospatial analysis using the power of Python.