Book Image

Learning Geospatial Analysis with Python - Third Edition

By : Joel Lawhead
Book Image

Learning Geospatial Analysis with Python - Third Edition

By: Joel Lawhead

Overview of this book

Geospatial analysis is used in almost every domain you can think of, including defense, farming, and even medicine. With this systematic guide, you'll get started with geographic information system (GIS) and remote sensing analysis using the latest features in Python. This book will take you through GIS techniques, geodatabases, geospatial raster data, and much more using the latest built-in tools and libraries in Python 3.7. You'll learn everything you need to know about using software packages or APIs and generic algorithms that can be used for different situations. Furthermore, you'll learn how to apply simple Python GIS geospatial processes to a variety of problems, and work with remote sensing data. By the end of the book, you'll be able to build a generic corporate system, which can be implemented in any organization to manage customer support requests and field support personnel.
Table of Contents (15 chapters)
Free Chapter
Section 1: The History and the Present of the Industry
Section 2: Geospatial Analysis Concepts
Section 3: Practical Geospatial Processing Techniques


The pure Python PyFPDF library is a lightweight way to create PDFs, including maps. Because the PDF format is a widely used standard, PDFs are commonly used to distribute maps. You can install it via PyPI as fpdf. The official name of the software is PyFPDF because it is a part of the PHP language module called fpdf. This module uses a concept called a cell to lay items out at specific locations on a page. As a quick example, we'll import the hancock.png image we created from the PIL example into a PDF called map.pdf to create a simple PDF map. The map will have the header text at the top that says Hancock County Boundary, followed by the map image:

>>> import fpdf
>>> # PDF constructor:
>>> # Portrait, millimeter units, A4 page size
>>> pdf=fpdf.FPDF("P", "mm", "A4")
>>> # create a new page