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
€41.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
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 : 9781782161523
Category :
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

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

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.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
€189.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
€264.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 125.97
Python Geospatial Development - Second Edition
€41.99
PostGIS Cookbook
€41.99
Learning Geospatial Analysis with Python
€41.99
Total 125.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

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.