QGIS Python Programming Cookbook


Book Description

Master over 170 recipes that will help you turn QGIS from a desktop GIS tool into a powerful automated geospatial framework About This Book Delve into the undocumented features of the QGIS API Get a set of user-friendly recipes that can automate entire geospatial workflows by connecting Python GIS building blocks into comprehensive processes This book has a complete code upgrade to QGIS 2.18 and 30 new, valuable recipes Who This Book Is For This book is for geospatial analysts who want to learn more about automating everyday GIS tasks as well as programmers responsible for building GIS applications. The short, reusable recipes make concepts easy to understand and combine so you can build larger applications that are easy to maintain. What You Will Learn Use Python and QGIS to produce captivating GIS visualizations and build complex map layouts Find out how to effectively use the poorly-documented and undocumented features of the QGIS Python API Automate entire geospatial workflows by connecting Python GIS building blocks into comprehensive processes Create, import, and edit geospatial data on disk or in-memory Change QGIS settings programmatically to control default behavior Automatically generate PDF map books Build dynamic forms for field input In Detail QGIS is a desktop geographic information system that facilitates data viewing, editing, and analysis. Paired with the most efficient scripting language—Python, we can write effective scripts that extend the core functionality of QGIS. Based on version QGIS 2.18, this book will teach you how to write Python code that works with spatial data to automate geoprocessing tasks in QGIS. It will cover topics such as querying and editing vector data and using raster data. You will also learn to create, edit, and optimize a vector layer for faster queries, reproject a vector layer, reduce the number of vertices in a vector layer without losing critical data, and convert a raster to a vector. Following this, you will work through recipes that will help you compose static maps, create heavily customized maps, and add specialized labels and annotations. As well as this, we'll also share a few tips and tricks based on different aspects of QGIS. Style and approach This book follows a recipe-based problem-solution approach to address and dispel challenges faced when implementing and using QGIS on a regular basis.




QGIS Python Programming Cookbook - Second Edition


Book Description

Over 140 recipes to help you turn QGIS from a desktop GIS tool into a powerful automated geospatial frameworkAbout This Book* Delve into the undocumented features of the new QGIS processing module* Get a set of user-friendly recipes that can automate the entire geospatial workflows by connecting Python GIS building blocks into comprehensive processes* This book has a complete code upgrade to QGIS 2.18 and 30 new, valuable recipesWho This Book Is ForThis book is for geospatial analysts who want to learn more about automating everyday GIS tasks as well as programmers responsible for building GIS applications. The short, reusable recipes make concepts easy to understand and combine so you can build larger applications that are easy to maintain.What You Will Learn* Use Python and QGIS to produce captivating GIS visualizations and build complex map layouts* Find out how to effectively use the poorly-documented and undocumented features of the QGIS Python API* Automate entire geospatial workflows by connecting Python GIS building blocks into comprehensive processes* Create, import, and edit geospatial data on disk or in-memory* Change QGIS settings programmatically to control default behavior* Automatically generate PDF map books* Build dynamic forms for field inputIn DetailQGIS is a desktop geographic information system that facilitates data viewing, editing, and analysis. Paired with the most efficient scripting language-Python, we can write effective scripts that extend the core functionality of QGIS.Based on the latest version QGIS 2.18, this book will teach you how to write Python code that works with spatial data to automate geoprocessing tasks in QGIS. It will cover topics such as querying and editing vector data and using raster data. You will also learn to create, edit, and optimize a vector layer for faster queries, reproject a vector layer, reduce the number of vertices in a vector layer without losing critical data, and convert a raster to a vector. Following this, you will work through recipes that will help you compose static maps, create heavily customized maps, and add specialized labels and annotations. As well as this, we'll also share a few tips and tricks based on different aspects of QGIS.




QGIS 2 Cookbook


Book Description

Become a QGIS power user and master QGIS data management, visualization, and spatial analysis techniques About This Book Explore and create time-based visualizations and build interactive maps Maximize your use of the QGIS features, plugins and toolbox automation Packed with lots of sample datasets to enable a better understanding of the code Who This Book Is For If you are an intermediate GIS user, with either previous experience in QGIS or any other GIS application, this is the book for you. The recipes can be used to learn more advanced techniques in QGIS or to replicate the functionalities equivalent to other GIS platforms. This book assumes that you already have a working QGIS system in place. What You Will Learn Import and export common tricky spatial data formats Perform classic vector and raster analysis with QGIS Utilize spatial databases and data management tools Use and create geographic web services and maps Explore and create time-based visualizations Perform network building and routing analysis Extend QGIS capabilities with popular plugins and toolbox automation Make beautiful and unique maps with customized cartography In Detail QGIS is a user-friendly, cross-platform desktop geographic information system used to make maps and analyze spatial data. QGIS allows users to understand, question, interpret, and visualize spatial data in many ways that reveal relationships, patterns, and trends in the form of maps. This book is a collection of simple to advanced techniques that are needed in everyday geospatial work, and shows how to accomplish them with QGIS. You will begin by understanding the different types of data management techniques, as well as how data exploration works. You will then learn how to perform classic vector and raster analysis with QGIS, apart from creating time-based visualizations. Finally, you will learn how to create interactive and visually appealing maps with custom cartography. By the end of this book, you will have all the necessary knowledge to handle spatial data management, exploration, and visualization tasks in QGIS. Style and approach This book covers practical examples, with step-by-step instructions on how to use real world data covering common GIS operations and the different analysis techniques. It provides detailed explanations and applications of QGIS concepts that will allow the user to effectively analyze spatial data.




Building Mapping Applications with QGIS


Book Description

If you are an experienced Python developer who wants to create your own geospatial applications with minimum fuss, this is the book for you. While some familiarity with mapping applications would be an advantage, no prior knowledge of geospatial concepts is required. Even if you've never used QGIS before, this book will quickly get you up to speed.




Learning Geospatial Analysis with Python


Book Description

Learn the core concepts of geospatial data analysis for building actionable and insightful GIS applications Key Features Create GIS solutions using the new features introduced in Python 3.7 Explore a range of GIS tools and libraries such as PostGIS, QGIS, and PROJ Learn to automate geospatial analysis workflows using Python and Jupyter Book DescriptionGeospatial 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.What you will learn Automate geospatial analysis workflows using Python Code the simplest possible GIS in just 60 lines of Python Create thematic maps with Python tools such as PyShp, OGR, and the Python Imaging Library Understand the different formats that geospatial data comes in Produce elevation contours using Python tools Create flood inundation models Apply geospatial analysis to real-time data tracking and storm chasing Who this book is forThis book is for Python developers, researchers, or analysts who want to perform geospatial modeling and GIS analysis with Python. Basic knowledge of digital mapping and analysis using Python or other scripting languages will be helpful.




Learning QGIS


Book Description

The latest guide to using QGIS 2.14 to create great maps and perform geoprocessing tasks with ease About This Book Learn how to work with various data and create beautiful maps using this easy-to-follow guide. Give a touch of professionalism to your maps both for functionality and look and feel with the help of this practical guide. A progressive hands-on guide that builds on a geo-spatial data and adds more reactive maps by using geometry tools. Who This Book Is For This book is great for users, developers, and consultants who know the basic functions and processes of GIS and want to learn to use QGIS to analyze geospatial data and create rich mapping applications. If you want to take advantage of the wide range of functionalities that QGIS offers, then this is the book for you. What You Will Learn Install QGIS and get familiar with the user interface Load vector and raster data from files, databases, and web services Create, visualize, and edit spatial data Perform geoprocessing tasks and automate them Create advanced cartographic outputs Design great print maps Expand QGIS using Python In Detail QGIS is a user-friendly open source geographic information system (GIS) that runs on Linux, Unix, Mac OS X, and Windows. The popularity of open source geographic information systems and QGIS in particular has been growing rapidly over the last few years. Learning QGIS Third Edition is a practical, hands-on guide updated for QGIS 2.14 that provides you with clear, step-by-step exercises to help you apply your GIS knowledge to QGIS. Through clear, practical exercises, this book will introduce you to working with QGIS quickly and painlessly. This book takes you from installing and configuring QGIS to handling spatial data to creating great maps. You will learn how to load and visualize existing spatial data and create data from scratch. You will get to know important plugins, perform common geoprocessing and spatial analysis tasks and automate them with Processing. We will cover how to achieve great cartographic output and print maps. Finally, you will learn how to extend QGIS using Python and even create your own plugin. Style and approach A step by step approach to explain concepts of Geospatial map with the help of real life examples




The PyQGIS Programmer's Guide


Book Description

Welcome to the world of PyQGIS, the blending of QGIS and Python to extend and enhance your open source GIS toolbox. With PyQGIS you can write scripts and plugins to implement new features and perform automated tasks. This book covers version 3.0 of the QGIS application programming interface (API), featuring Python 3.




Hands-On Geospatial Analysis with R and QGIS


Book Description

Practical examples with real-world projects in GIS, Remote sensing, Geospatial data management and Analysis using the R programming language Key FeaturesUnderstand the basics of R and QGIS to work with GIS and remote sensing dataLearn to manage, manipulate, and analyze spatial data using R and QGISApply machine learning algorithms to geospatial data using R and QGISBook Description Managing spatial data has always been challenging and it's getting more complex as the size of data increases. Spatial data is actually big data and you need different tools and techniques to work your way around to model and create different workflows. R and QGIS have powerful features that can make this job easier. This book is your companion for applying machine learning algorithms on GIS and remote sensing data. You’ll start by gaining an understanding of the nature of spatial data and installing R and QGIS. Then, you’ll learn how to use different R packages to import, export, and visualize data, before doing the same in QGIS. Screenshots are included to ease your understanding. Moving on, you’ll learn about different aspects of managing and analyzing spatial data, before diving into advanced topics. You’ll create powerful data visualizations using ggplot2, ggmap, raster, and other packages of R. You’ll learn how to use QGIS 3.2.2 to visualize and manage (create, edit, and format) spatial data. Different types of spatial analysis are also covered using R. Finally, you’ll work with landslide data from Bangladesh to create a landslide susceptibility map using different machine learning algorithms. By reading this book, you’ll transition from being a beginner to an intermediate user of GIS and remote sensing data in no time. What you will learnInstall R and QGISGet familiar with the basics of R programming and QGISVisualize quantitative and qualitative data to create mapsFind out the basics of raster data and how to use them in R and QGISPerform geoprocessing tasks and automate them using the graphical modeler of QGISApply different machine learning algorithms on satellite data for landslide susceptibility mapping and predictionWho this book is for This book is great for geographers, environmental scientists, statisticians, and every professional who deals with spatial data. If you want to learn how to handle GIS and remote sensing data, then this book is for you. Basic knowledge of R and QGIS would be helpful but is not necessary.




Mastering OpenLayers 3


Book Description

Create powerful applications with the most robust open source web mapping library using this advanced guide About This Book Develop responsive and platform-independent web mapping applications with OpenLayers 3 Learn the key points of creating great applications with native JavaScript through the step-by-step examples Master the use of the library, from compiling custom builds to developing a complete WebGIS application Who This Book Is For This book is intended for front-end developers with basic understanding of JavaScript and GIS concepts, and preferably for those who are familiar with the fundamentals of OpenLayers 3. You might have never used OpenLayers 3 as a seasoned JavaScript developer. If this is the case and you are eager to learn web mapping, this book will definitely set you on the right track. What You Will Learn Use the advanced functionality of the OpenLayers 3 library effectively Implement the library in your application, shaping it to your needs Manage layers and the layer stack dynamically Create not only stunning but also accurate thematic maps Extend OpenLayers 3 with your own custom classes Develop mobile-friendly web mapping applications Make stunning effects with canvas manipulation, or visualize point clouds with WebGL Integrate third-party applications, and create custom builds that completely satisfy your needs In Detail OpenLayers 3 allows you to create stunning web mapping and WebGIS applications. It uses modern, cutting edge browser technologies. It is written with Closure Library, enabling you to build browser-independent applications without painful debugging ceremonies, which even have some limited fallback options for older browsers. With this guide, you will be introduced to the world of advanced web mapping and WebGIS. First, you will be introduced to the advanced features and functionalities available in OpenLayers 3. Next, you will be taken through the key points of creating custom applications with OpenLayers 3. You will then learn how to create the web mapping application of yours (or your company's) dream with this open source, expense-free, yet very powerful library. We'll also show you how to make amazing looking thematic maps and create great effects with canvas manipulation. By the end of this book, you will have a strong command of web mapping and will be well on your way to creating amazing applications using OpenLayers 3. Style and approach This is an advanced guide packed with comprehensive examples, and it concentrates on the advanced parts of OpenLayers 3 and JavaScript. It intentionally skips the basic and well-known methodologies, but discusses the hard-to-understand ones in great detail.




Python Geospatial Analysis Cookbook


Book Description

Over 60 recipes to work with topology, overlays, indoor routing, and web application analysis with Python About This Book Explore the practical process of using geospatial analysis to solve simple to complex problems with reusable recipes Concise step-by-step instructions to teach you about projections, vector, raster, overlay, indoor routing and topology analysis Create a basic indoor routing application with geodjango Who This Book Is For If you are a student, teacher, programmer, geospatial or IT administrator, GIS analyst, researcher, or scientist looking to do spatial analysis, then this book is for you. Anyone trying to answer simple to complex spatial analysis questions will get a working demonstration of the power of Python with real-world data. Some of you may be beginners with GIS, but most of you will probably have a basic understanding of geospatial analysis and programming. What You Will Learn Discover the projection and coordinate system information of your data and learn how to transform that data into different projections Import or export your data into different data formats to prepare it for your application or spatial analysis Use the power of PostGIS with Python to take advantage of the powerful analysis functions Execute spatial analysis functions on vector data including clipping, spatial joins, measuring distances, areas, and combining data to new results Create your own set of topology rules to perform and ensure quality assurance rules in Python Find the shortest indoor path with network analysis functions in easy, extensible recipes revolving around all kinds of network analysis problems Visualize your data on a map using the visualization tools and methods available to create visually stunning results Build an indoor routing web application with GeoDjango to include your spatial analysis tools built from the previous recipes In Detail Geospatial development links your data to places on the Earth's surface. Its analysis is used in almost every industry to answer location type questions. Combined with the power of the Python programming language, which is becoming the de facto spatial scripting choice for developers and analysts worldwide, this technology will help you to solve real-world spatial problems. This book begins by tackling the installation of the necessary software dependencies and libraries needed to perform spatial analysis with Python. From there, the next logical step is to prepare our data for analysis; we will do this by building up our tool box to deal with data preparation, transformations, and projections. Now that our data is ready for analysis, we will tackle the most common analysis methods for vector and raster data. To check or validate our results, we will explore how to use topology checks to ensure top-quality results. This is followed with network routing analysis focused on constructing indoor routes within buildings, over different levels. Finally, we put several recipes together in a GeoDjango web application that demonstrates a working indoor routing spatial analysis application. The round trip will provide you all the pieces you need to accomplish your own spatial analysis application to suit your requirements. Style and approach Easy-to-follow, step-by-step recipes, explaining from start to finish how to accomplish real-world tasks.