Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Python Geospatial Development - Second Edition
Python Geospatial Development - Second Edition

Python Geospatial Development - Second Edition: If you're experienced in Python here's an opportunity to get deep into Geospatial development, linking data to global locations. No prior knowledge required – this book takes you through it all, step by step. , Second Edition

eBook
$22.99 $32.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Python Geospatial Development - Second Edition

Chapter 2. GIS

The term GIS generally refers to Geographical Information Systems, which are complex computer systems for storing, manipulating, and displaying geospatial data. GIS can also be used to refer to the more general Geographic Information Sciences, which is the science surrounding the use of GIS systems.

In this chapter we will look at:

  • The central GIS concepts you will have to become familiar with: location, distance, units, projections, datums, coordinate systems, and shapes

  • Some of the major data formats you are likely to encounter when working with geospatial data

  • Some of the processes involved in working directly with geospatial data

Core GIS concepts


Working with geospatial data is complicated because you are dealing with mathematical models of the earth's surface. In many ways it is easy to think of the earth as a sphere on which you can place your data. That might be easy, but it isn't accurate—the earth is more like an oblate spheroid than a perfect sphere. This difference, as well as other mathematical complexities we won't get into here, means that representing points, lines, and areas on the surface of the earth is a rather complicated process.

Let's take a look at some of the key GIS concepts you will have to become familiar with as you work with geospatial data.

Location

Locations represent points on the surface of the earth. One of the most common ways to measure location is through the use of latitude and longitude coordinates. For example, my current location (as measured by a GPS receiver) is 38.167446 degrees south and 176.234436 degrees east. What do these numbers mean, and how are they useful?

Think of the...

GIS data formats


A GIS data format specifies how geospatial data is stored in a file (or multiple files) on disk. The format describes the logical structure used to store geospatial data within the file(s).

Note

While we talk about storing information on disk, data formats can also be used to transmit geospatial information between computer systems. For example, a web service might provide map data on request, transmitting that data in a particular format.

A GIS data format will typically support:

  • Geospatial data describing geographical features.

  • Additional metadata describing this data, including the datum and projection used, the coordinate system and units that the data is in, the date this file was last updated, and so on.

  • Attributes providing additional information about the geographical features that are being described. For example, a city feature may have attributes such as "name", "population", "average temperature", and others.

  • Display information such as the color or line style to use...

Working with GIS data manually


Let's take a brief look at the process of working with GIS data manually. Before we can begin, there are two things you need to do:

  • Obtain some GIS data

  • Install the GDAL Python library so that you can read the necessary data files

Let's use the US Census Bureau's website to download a set of vector maps for the various US states. The main site for obtaining GIS data from the US Census Bureau can be found at:

http://www.census.gov/geo/www/tiger

To make things simpler though, let's bypass the website and directly download the file we need from the following link:

http://www2.census.gov/geo/tiger/TIGER2012/STATE/tl_2012_us_state.zip

The resulting file, tl_2009_us_state.zip, should be a ZIP-format archive. After uncompressing the archive, you should have the following files:

  • tl_2012_us_state.dbf

  • tl_2012_us_state.prj

  • tl_2012_us_state.shp

  • tl_2012_us_state.shp.xml

  • tl_2012_us_state.shx

These files make up a Shapefile containing the outlines of all the US states. Place these files...

Summary


In this chapter, we discussed many of the core concepts that underlie GIS development, looked briefly at the history of GIS, examined some of the more common GIS data formats, and got our hands dirty exploring US state maps downloaded from the US Census Bureau website. We have learned the following:

  • Locations are often, but not always, represented using coordinates

  • Calculating the distance between two points requires you to take into account the curvature of the earth's surface

  • You must be aware of the units used in geospatial data

  • Map projections represent the three-dimensional shape of the earth's surface as a two-dimensional map

  • There are three main classes of map projections: cylindrical, conic and azimuthal

  • Datums are mathematical models of the earth's shape

  • The three most common datums in use are called NAD 27, NAD 83, and WGS 84

  • Coordinate systems describe how coordinates relate to a given point on the earth's surface

  • Unprojected coordinate systems directly represent points on the...

Left arrow icon Right arrow icon

Key benefits

  • Build your own complete and sophisticated mapping applications in Python.
  • Walks you through the process of building your own online system for viewing and editing geospatial data
  • Practical, hands-on tutorial that teaches you all about geospatial development in Python

Description

Geospatial development links your data to places on the Earth's surface. Writing geospatial programs involves tasks such as grouping data by location, storing and analyzing large amounts of spatial information, performing complex geospatial calculations, and drawing colorful interactive maps. In order to do this well, you'll need appropriate tools and techniques, as well as a thorough understanding of geospatial concepts such as map projections, datums and coordinate systems. Python Geospatial Development - Second Edition teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. Python Geospatial Development teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. This book provides an overview of the major geospatial concepts, data sources and toolkits. It teaches you how to store and access spatial data using Python, how to perform a range of spatial calculations, and how to store spatial data in a database. Because maps are such an important aspect of geospatial programming, the book teaches you how to build your own “slippy map” interface within a web application, and finishes with the detailed construction of a geospatial data editor using Geodjango. Whether you want to write quick utilities to solve spatial problems, or develop sophisticated web applications based around maps and geospatial data, this book includes everything you need to know.

Who is this book for?

Experienced Python developers who want to learn about geospatial concepts, work with geospatial data, solve spatial problems, and build map-based applications. This book will be useful those who want to get up to speed with Open Source GIS in order to build GIS applications or integrate Geo-Spatial features into their existing applications.

What you will learn

  • Access, manipulate and display geospatial data from within your Python programs
  • Master the core geospatial concepts of location, distance, units, projections and datums
  • Read and write geospatial data in both vector and raster format
  • Perform complex, real-world geospatial calculations using Python
  • Store and access geospatial information in a database
  • Use points, lines and polygons within your Python programs
  • Use Python-based tools for converting geospatial data into good looking maps
  • Build complete web-based mapping applications using Python

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : May 24, 2013
Length: 508 pages
Edition : 2nd
Language : English
ISBN-13 : 9781782161530
Category :
Languages :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : May 24, 2013
Length: 508 pages
Edition : 2nd
Language : English
ISBN-13 : 9781782161530
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 164.97
Python Geospatial Development - Second Edition
$54.99
PostGIS Cookbook
$54.99
Learning Geospatial Analysis with Python
$54.99
Total $ 164.97 Stars icon
Banner background image

Table of Contents

11 Chapters
Geospatial Development Using Python Chevron down icon Chevron up icon
GIS Chevron down icon Chevron up icon
Python Libraries for Geospatial Development Chevron down icon Chevron up icon
Sources of Geospatial Data Chevron down icon Chevron up icon
Working with Geospatial Data in Python Chevron down icon Chevron up icon
GIS in the Database Chevron down icon Chevron up icon
Working with Spatial Data Chevron down icon Chevron up icon
Using Python and Mapnik to Generate Maps Chevron down icon Chevron up icon
Putting It All Together – a Complete Mapping System Chevron down icon Chevron up icon
ShapeEditor – Implementing List View, Import, and Export Chevron down icon Chevron up icon
ShapeEditor – Selecting and Editing Features Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(3 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
sushmit sarmah Jan 05, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is an excellent starting point for anyone who wants to get started on Geospatial development. The author takes you from the very basics of geospatial development explaining all definitions that you would require to get proficient in this subject. It is then a deep dive into programming in python starting with all the different libraries that are needed and how to make use of them. Code examples are provided for each topic.The best way to follow this book is to read and then practice the examples alongside. Very soon you would get comfortable with using the different tools available in python for geospatial development like gdal/ogr, shapely, mapnik, etc. It teaches you where to get your data, how to convert them from different formats, then customize them to your liking, store it in a database and the pros and cons of different databases and their spatial capabilities.You learn how to create your own maps with mapnik going into great detail with all the options available in mapnik. Lastly you learn how to use all the skills learnt throughout the book to create a web application.I would recommend this book to anyone who wishes to get started with geospatial development. All you need is some familiarity with python. It gives you a solid background and a starting point from which to learn more about the subject.
Amazon Verified review Amazon
W_v_N Sep 16, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book explained very clearly everything I needed to know about the "under the hood" workings of a GIS. I really like how it deals with every aspect, from the database to the graphics and everything in between. I highly recommend this book to anyone who wants a better understanding of how each component of a GIS function and work together to display an intelligent map.
Amazon Verified review Amazon
Dean Howell Aug 17, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Python Geospatial Development - Second Edition.The book is a comprehensive guide to all aspects of using Python in geospatial development. The book is a hands on tutorial taking you right from the libraries you and tools you will require, through every aspect of development to putting it all together in a complete mapping application.If you are new to the geospatial industry the book even has sections on the fundamentals of coordinate systems, projections, datums and common GIS data formats.The best part of the book, in my opinion, is all the code examples that guide you through every aspect of becoming a proficient geospatial developer. There are also many reference sites pointing you to further information about specific platforms, software packages and developer forums.I also liked the section on data formats and where to obtain data. This can be very useful for developers starting in the industry or even those who have been in the industry for a while. Data is the key to any good geospatial system.So if you are looking for a great resource to take your geospatial system to the next level, I highly recommend Python Geospatial Development - Second Edition.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.