Python Geospatial Development Essentials
eBook - ePub

Python Geospatial Development Essentials

Karim Bahgat

Partager le livre
  1. 192 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Python Geospatial Development Essentials

Karim Bahgat

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Python Geospatial Development Essentials est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Python Geospatial Development Essentials par Karim Bahgat en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Ciencia de la computaciĂłn et Desarrollo de aplicaciones. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Année
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 des matiĂšres