Cover
Copyright
Credits
About the Author
About the Reviewers
www.PacktPub.com
Table of Contents
Preface
Chapter 1: Preparing the Work Environment
Installing Python
Windows
Ubuntu Linux
Python packages and package manager
The repository of Python packages for Windows
Installing packages and required software
OpenCV
Windows
Ubuntu Linux
Installing NumPy
Windows
Ubuntu Linux
Installing GDAL and OGR
Windows
Ubuntu Linux
Installing Mapnik
Windows
Ubuntu Linux
Installing Shapely
Windows
Ubuntu Linux
Installing other packages directly from pip
Windows
Ubuntu Linux
Installing an IDE
Windows
Linux
Creating the book project
Programming and running your first example
Transforming the coordinate system and calculating the area of all countries
Sort the countries by area size
Summary
Chapter 2: The Geocaching App
Building the basic application structure
Creating the application tree structure
Functions and methods
Documenting your code
Creating the application entry point
Downloading geocaching data
Geocaching data sources
Fetching information from a REST API
Downloading data from a URL
Downloading data manually
Opening the file and getting its contents
Preparing the content for analysis
Combining functions into an application
Setting your current location
Finding the closest point
Summary
Chapter 3: Combining Multiple Data Sources
Representing geographic data
Representing geometries
Making data homogeneous
The concept of abstraction
Abstracting the geocache point
Abstracting geocaching data
Importing geocaching data
Reading GPX attributes
Returning the homogeneous data
Converting the data into Geocache objects
Merging multiple sources of data.
Integrating new functionality into the application
Summary
Chapter 4: Improving the App Search Capabilities
Working with polygons
Knowing well-known text
Using Shapely to handle geometries
Importing polygons
Getting the attributes' values
Importing lines
Converting the spatial reference system and units
Geometry relationships
Touches
Crosses
Contains
Within
Equals or almost equals
Intersects
Disjoint
Filtering by attributes and relations
Filtering by multiple attributes
Chaining filters
Integrating with the app
Summary
Chapter 5: Making Maps
Knowing Mapnik
Making a map with pure Python
Making a map with a style sheet
Creating utility functions to generate maps
Changing the data source at runtime
Automatically previewing the map
Styling maps
Map style
Polygon style
Line styles
Text styles
Adding layers to the map
Point styles
Using Python objects as a source of data
Exporting geo objects
Creating the Map Maker app
Using PythonDatasource
Using the app with filtering
Summary
Chapter 6: Working with Remote Sensing Images
Understanding how images are represented
Opening images with OpenCV
Knowing numerical types
Processing remote sensing images and data
Mosaicking images
Adjusting the values of the images
Cropping an image
Creating a shaded relief image
Building an image processing pipeline
Creating a RasterData class
Summary
Chapter 7: Extract Information from Raster Data
Getting the basic statistics
Preparing the data
Printing simple information
Formatting the output information
Calculating quartiles, histograms, and other statistics
Making statistics a lazy property
Creating color classified images
Choosing the right colors for a map
Blending images.
Showing statistics with colors
Using the histogram to colorize the image
Summary
Chapter 8: Data Miner App
Measuring execution time
Code profiling
Storing information on a database
Creating an Object Relational Mapping
Preparing the environment
Changing our models
Customizing a manager
Generating the tables and importing data
Filtering the data
Importing massive amount of data
Optimizing database inserts
Optimizing data parsing
Importing OpenStreetMap points of interest
Removing the test data
Populating the database with real data
Searching for data and crossing information
Filtering using boundaries
Summary
Chapter 9: Processing Big Images
Working with satellite images
Getting Landsat 8 images
Memory and images
Processing images in chunks
Using GDAL to open images
Iterating through the whole image
Creating image compositions
True color compositions
Processing specific regions
False color compositions
Summary
Chapter 10: Parallel Processing
Multiprocessing basics
Block iteration
Improving the image resolution
Image resampling
Pan sharpening
Summary
Index.