Master over 170 recipes that will help you turn QGIS from a desktop GIS tool into a powerful automated geospatial frameworkAbout This BookDelve into the undocumented features of the QGIS APIGet a set of user-friendly recipes that can automate entire geospatial workflows by connecting Python GIS building blocks into comprehensive processesThis 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 LearnUse Python and QGIS to produce captivating GIS visualizations and build complex map layoutsFind out how to effectively use the poorly-documented and undocumented features of the QGIS Python APIAutomate entire geospatial workflows by connecting Python GIS building blocks into comprehensive processesCreate, import, and edit geospatial data on disk or in-memoryChange QGIS settings programmatically to control default behaviorAutomatically generate PDF map booksBuild 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 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 approachThis book follows a recipe-based problem-solution approach to address and dispel challenges faced when implementing and using QGIS on a regular basis.