What this book covers
Chapter 1, Geospatial Development Using Python, provides an overview of the Python programming language and the concepts behind geospatial development. Major use cases of geospatial development and recent and upcoming developments in the field are also covered.
Chapter 2, GIS, introduces the core concepts of location, distance, units, projections, shapes, datums, and geospatial data formats, before discussing the process of working with geospatial data by hand.
Chapter 3, Python Libraries for Geospatial Development, explores the major Python libraries available for geospatial development, including the available features, how to install them, the major concepts you need to understand about the libraries, and how they can be used.
Chapter 4, Sources of Geospatial Data, investigates the major sources of freely available geospatial data, what information is available, the data format used, and how to import the data once you have downloaded it.
Chapter 5, Working with Geospatial Data in Python, uses the libraries introduced earlier to perform various tasks using geospatial data, including changing projections, importing and exporting data, converting and standardizing units of geometry and distance, and performing geospatial calculations.
Chapter 6, Spatial Databases, introduces the concepts behind spatial databases before looking in detail at the PostGIS spatially enabled database and how to install and use it from a Python program.
Chapter 7, Using Python and Mapnik to Produce Maps, provides a detailed look at the Mapnik map-generation toolkit and how to use it to produce a variety of maps.
Chapter 8, Working with Spatial Data, works through the design and implementation of a complete geospatial application called DISTAL, using freely available geospatial data stored in a spatial database.
Chapter 9, Improving the DISTAL Application, improves the application written in the previous chapter to solve various usability and performance issues.
Chapter 10, Tools for Web-based Geospatial Development, examines the concepts of web application frameworks, web services, JavaScript UI libraries, and slippy maps. It introduces a number of standard web protocols used by geospatial applications and finishes with a survey of the tools and techniques that will be used to build the complete mapping application in the final three chapters of this book.
Chapter 11, Putting it all Together – a Complete Mapping Application, introduces ShapeEditor, a complete and sophisticated web application built using PostGIS, Mapnik, and GeoDjango. We start by designing the overall application, and we then build the ShapeEditor's database models.
Chapter 12, ShapeEditor – Importing and Exporting Shapefiles, continues with the implementation of the ShapeEditor system, concentrating on displaying a list of imported shapefiles, along with logic for importing and exporting shapefiles via a web browser.
Chapter 13, ShapeEditor – Selecting and Editing Features, concludes the implementation of the ShapeEditor, adding logic to let the user select and edit features within an imported shapefile. This involves the creation of a custom tile map server and the use of the OpenLayers JavaScript library to display and interact with geospatial data.