Python Geospatial Development Essentials
eBook - ePub

Python Geospatial Development Essentials

Karim Bahgat

Share book
  1. 192 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Python Geospatial Development Essentials

Karim Bahgat

Book details
Book preview
Table of contents
Citations

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Python Geospatial Development Essentials an online PDF/ePUB?
Yes, you can access Python Geospatial Development Essentials by Karim Bahgat in PDF and/or ePUB format, as well as other popular books in Informatique & Développement d'applications. We have over one million books available in our catalogue for you to explore.

Information

Year
2015
ISBN
9781782175407

Python Geospatial Development Essentials


Table of Contents

Python Geospatial Development Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Preparing to Build Your Own GIS Application
Why reinvent the wheel?
Setting up your computer
Installing third-party packages
Imagining the roadmap ahead
Summary
2. Accessing Geodata
The approach
Vector data
A data interface for vector data
The vector data structure
Computing bounding boxes
Spatial indexing
Loading vector files
Shapefile
GeoJSON
File format not supported
Saving vector data
Shapefile
GeoJSON
File format not supported
Raster data
A data interface for raster data
The raster data structure
Positioning the raster in coordinate space
Nodata masking
Loading raster data
GeoTIFF
File format not supported
Saving raster data
GeoTIFF
File format not supported
Summary
3. Designing the Visual Look of Our Application
Setting up the GUI package
Creating the toolkit building blocks
Themed styling
Basic buttons
Buttons with icons
Toolbars
The Ribbon tab system
The bottom status bar
The layers pane
The Map widget
Pop-up windows
Dispatching heavy tasks to thread workers
Using the toolkit to build the GUI
Testing our application
Summary
4. Rendering Our Geodata
Rendering
Installing PyAgg
A sequence of layers
The MapCanvas drawer
Individual layer renderings
Vector layers
Raster layers
Interactively rendering our maps
Linking the MapView to the renderer
Requesting to render a map
Resizing the map in proportion to window resizing
The LayersPane as a LayerGroup
Adding layers
Editing layers in the LayersPane widget
Click-and-drag to rearrange the layer sequence
Zooming the map image
Map panning and one-time rectangle zoom
A navigation toolbar
Putting it all together
Summary
5. Managing and Organizing Geographic Data
Creating the management module
Inspecting files
Organizing files
Vector data
Splitting
Merging
Geometry cleaning
Raster data
Mosaicking
Resampling
Weaving functionality into the user interface
Layer-specific right-click functions
Defining the tool options windows
Setting up the management tab
Defining the tool options windows
Summary
6. Analyzing Geographic Data
Creating the analysis module
Analyzing data
Vector data
Overlap summary
Buffer
Raster data
Zonal statistics
Weaving functionality into the user interface
Layer-specific right-click functions
Defining the tool options windows
Setting up the analysis tab
Defining the tool options window
Summary
7. Packaging and Distributing Your Application
Attaching an application logo
The icon image file
Assigning the icon
The application start up script
Packaging your application
Installing py2exe
Developing a packaging strategy
Creating the build script
Adding the visual C runtime DLL
Creating an installer
Installing Inno Setup
Setting up your application's installer
Summary
8. Looking Forward
Improvements to the user interface
Saving and loading user sessions
File drag and drop
GUI widgets
Other variations of the user interface
Adding more GIS functionality
Basic GIS selections
More advanced visualization
Online data services
Converting between raster and vector data
Projections
Geocoding
Going the GDAL/NumPy/SciPy route
Expanding to other platforms
Touch devices
Summary
Index

Python Geospatial Development Essentials

Copyright © 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: June 2015
Production reference: 1100615
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78217-540-7
www.packtpub.com

Credits

Author
Karim Bahgat
Reviewers
Gregory Giuliani
Jorge Samuel Mendes de Jesus
Athanasios Tom Kralidis
John Maurer
Adrian Vu
Commissioning Editor
Amarabha Banerjee
Acquisition Editors
Larissa Pinto
Rebecca Youé
Content Development Editor
Merwyn D'souza
Technical Editor
Prajakta Mhatre
Copy Editor
Charlotte Carneiro
Project Coordinator
Neha Bhatnagar
Proofreader
Safis Editing
Indexer
Rekha Nair
Production Coordinator
Manu Joseph
Cover Work
Manu Joseph

About the Author

Karim Bahgat holds an MA in peace and conflict transformation from the University of Tromsø in Norway, where he focused on the use of geographic information systems (GIS), opinion survey data, and open source programming tools in conflict studies. Since then, he has been employed as a research assistant for technical and geospatial work at the Peace Research Institute Oslo (PRIO) and the International Law and Policy Institute (ILPI). Karim was part of the early prototyping of the PRIO-GRID unified spatial data structure for social science and conflict research, and is currently helping develop a new updated version (https://www.prio.org/Data/PRIO-GRID/).
His main use of technology, as a developer, has been with Python programming, geospatial tools and mapping, the geocoding of textual data, data visualization, application development, and some web technology. Karim is the author of a journal article publication, numerous data- and GIS-oriented Python programming libraries, the Easy Georeferencer free geocoding software, and several related technical websites, including www.pythongisresources.wordpress.com.

About the Reviewers

Gregory Giuliani is a geologist with a PhD in environmental sciences (theme: spatial data infrastructure for the environment). He is a senior scientific associate at the University of Geneva (Switzerland) and the focal point for spatial data infrastructure (SDI) at GRID-Geneva. He is the manager of the EU/FP7 EOPOWER project and the work package leader in the EU/FP7 enviroGRIDS and AfroMaison projects, where he coordinates SDI development and implementation. He also participated in the EU/FP7 ACQWA project and is the GRID-Geneva lead developer of the PREVIEW Global Risk Data Platform (http://preview.grid.unep.ch). He coordinates and develops capacity building material on SDI for enviroGRIDS and actively participates and contributes to various activities of the Global Earth Observation System of Systems (GEOSS). Specialized in OGC standards, interoperability, and brokering technology for environmental data and services, he is the coordinator of the Task ID-02 "Developing Institutional and Individual Capacity" for GEO/GEOSS.
Jorge Samuel Mendes de Jesus has 15 years of programming experience in the field of Geoinformatics, with a focus on Python programming, OGC web services, and spatial databases.
He has a PhD in geo...

Table of contents