You are previewing Learning Geospatial Analysis with Python.
O'Reilly logo
Learning Geospatial Analysis with Python

Book Description

If you know Python and would like to use it for Geospatial Analysis this book is exactly what you’ve been looking for. With an organized, user-friendly approach it covers all the bases to give you the necessary skills and know-how.

  • Construct applications for GIS development by exploiting Python

  • Focuses on built-in Python modules and libraries compatible with the Python Packaging Index distribution system – no compiling of C libraries necessary

  • SThis is a practical, hands-on tutorial that teaches you all about Geospatial analysis in Python

  • In Detail

    Geospatial analysis is used in almost every field you can think of from medicine, to defense, to farming. It is an approach to use statistical analysis and other informational engineering to data which has a geographical or geospatial aspect. And this typically involves applications capable of geospatial display and processing to get a compiled and useful data.

    "Learning Geospatial Analysis with Python" uses the expressive and powerful Python programming language to guide you through geographic information systems, remote sensing, topography, and more. It explains how to use a framework in order to approach Geospatial analysis effectively, but on your own terms.

    "Learning Geospatial Analysis with Python" starts with a background of the field, a survey of the techniques and technology used, and then splits the field into its component speciality areas: GIS, remote sensing, elevation data, advanced modelling, and real-time data.

    This book will teach you everything there is to know, from using a particular software package or API to using generic algorithms that can be applied to Geospatial analysis. This book focuses on pure Python whenever possible to minimize compiling platform-dependent binaries, so that you don’t become bogged down in just getting ready to do analysis.

    I"Learning Geospatial Analysis with Python" will round out your technical library with handy recipes and a good understanding of a field that supplements many a modern day human endeavors.

    Table of Contents

    1. Learning Geospatial Analysis with Python
      1. Table of Contents
      2. Learning Geospatial Analysis with Python
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Learning Geospatial Analysis with Python
        1. Geospatial analysis and our world
          1. Beyond politics
        2. History of geospatial analysis
          1. Geographic Information Systems
          2. Remote sensing
          3. Elevation data
          4. Computer-aided drafting
        3. Geospatial analysis and computer programming
          1. Object-oriented programming for geospatial analysis
        4. Importance of geospatial analysis
        5. Geographic Information System concepts
          1. Thematic maps
          2. Spatial databases
          3. Spatial indexing
          4. Metadata
          5. Map projections
          6. Rendering
        6. Raster data concepts
          1. Images as data
          2. Remote sensing and color
        7. Common vector GIS concepts
          1. Data structures
          2. Buffer
          3. Dissolve
          4. Generalize
          5. Intersection
          6. Merge
          7. Point in polygon
          8. Union
          9. Join
          10. Geospatial rules about polygons
        8. Common raster data concepts
          1. Band math
          2. Change detection
          3. Histogram
          4. Feature extraction
          5. Supervised classification
          6. Unsupervised classification
        9. Creating the simplest possible Python GIS
          1. Getting started with Python
          2. Building SimpleGIS
        10. Summary
      9. 2. Geospatial Data
        1. Data structures
          1. Common traits
            1. Geo-location
            2. Subject information
            3. Spatial indexing
              1. Indexing algorithms
                1. Quad-Tree index
                2. R-Tree index
              2. Grids
              3. Overviews
            4. Metadata
            5. File structure
        2. Vector data
          1. Shapefiles
          2. CAD files
          3. Tag and markup-based formats
          4. GeoJSON
        3. Raster data
          1. TIFF files
          2. JPEG, GIF, BMP, and PNG
          3. Compressed formats
          4. ASCII GRIDS
          5. World files
        4. Point cloud data
        5. Summary
      10. 3. The Geospatial Technology Landscape
        1. Data access
          1. GDAL
          2. OGR
        2. Computational geometry
          1. PROJ.4
          2. CGAL
          3. JTS
          4. GEOS
          5. PostGIS
          6. Other spatially-enabled databases
            1. Oracle spatial and graph
            2. ArcSDE
            3. Microsoft SQL Server
            4. MySQL
          7. SpatiaLite
          8. Routing
            1. Esri Network Analyst and Spatial Analyst
            2. pgRouting
        3. Desktop tools
          1. Quantum GIS
          2. OpenEV
          3. GRASS GIS
          4. uDig
          5. gvSIG
          6. OpenJUMP
          7. Google Earth
          8. NASA World Wind
          9. ArcGIS
        4. Metadata management
          1. GeoNetwork
          2. CatMDEdit
        5. Summary
      11. 4. Geospatial Python Toolbox
        1. Installing third-party Python modules
          1. Installing GDAL
            1. Windows
            2. Linux
            3. Mac OS X
        2. Python networking libraries for acquiring data
          1. Python urllib module
          2. FTP
          3. ZIP and TAR files
        3. Python markup and tag-based parsers
          1. The minidom module
          2. ElementTree
            1. Building XML
          3. WKT
        4. Python JSON libraries
          1. json module
          2. geojson module
        5. OGR
        6. PyShp
        7. dbfpy
        8. Shapely
        9. GDAL
        10. NumPy
        11. PIL
        12. PNGCanvas
        13. PyFPDF
        14. Spectral Python
        15. Summary
      12. 5. Python and Geographic Information Systems
        1. Measuring distance
          1. Pythagorean theorem
          2. Haversine formula
          3. Vincenty formula
        2. Coordinate conversion
        3. Reprojection
        4. Editing shapefiles
          1. Accessing the shapefile
          2. Reading shapefile attributes
          3. Reading shapefile geometry
          4. Changing a shapefile
            1. Adding fields
          5. Merging shapefiles
          6. Splitting shapefiles
            1. Subsetting spatially
        5. Performing selections
          1. Point in polygon formula
          2. Attribute selections
        6. Creating images for visualization
        7. Dot density calculations
        8. Choropleth maps
        9. Using spreadsheets
        10. Using GPS data
        11. Summary
      13. 6. Python and Remote Sensing
        1. Swapping image bands
        2. Creating histograms
          1. Performing a histogram stretch
        3. Clipping images
        4. Classifying images
        5. Extracting features from images
        6. Change detection
        7. Summary
      14. 7. Python and Elevation Data
        1. ASCII Grid files
          1. Reading grids
          2. Writing grids
        2. Creating a shaded relief
        3. Creating elevation contours
        4. Working with LIDAR
          1. Creating a grid from LIDAR
          2. Using PIL to visualize LIDAR
          3. Creating a Triangulated Irregular Network (TIN)
        5. Summary
      15. 8. Advanced Geospatial Python Modelling
        1. Creating an NDVI
          1. Setting up the framework
          2. Loading the data
          3. Rasterizing the shapefile
          4. Clipping the bands
          5. Using the NDVI formula
          6. Classifying the NDVI
            1. Additional functions
            2. Loading the NDVI
            3. Creating classes
        2. Creating a flood inundation model
          1. The flood fill function
          2. Making a flood
        3. Least cost path analysis
          1. Setting up the test grid
          2. The simple A* algorithm
          3. Generating the test path
          4. Viewing the test output
          5. The real-world example
            1. Loading the grid
            2. Defining the helper functions
            3. The real-world A* algorithm
            4. Generating a real-world path
        4. Summary
      16. 9. Real-Time Data
        1. Tracking vehicles
          1. Nextbus agency list
          2. Nextbus route list
          3. Nextbus vehicle locations
          4. Mapping Nextbus locations
        2. Storm chasing
        3. Summary
      17. 10. Putting It All Together
        1. A typical GPS report
        2. Working with GPX-Reporter.py
          1. Stepping through the program
          2. Initial setup
          3. Working with utility functions
          4. Parsing the GPX
          5. Getting the bounding box
          6. Downloading OpenStreetMap images
          7. Creating the hillshade
          8. Creating maps
          9. Measuring elevation
          10. Measuring distance
          11. Retrieving weather data
        3. Summary
      18. Index