Combining GIS concepts and fundamental spatial thinking methodology with real programming examples, this book introduces popular Python-based tools and their application to solving real-world problems. It elucidates the programming constructs of Python with its high-level toolkits and demonstrates its integration with ArcGIS Theory. Filled with hands-on computer exercises in a logical learning workflow this book promotes increased interactivity between instructors and students while also benefiting professionals in the field with vital knowledge to sharpen their programming skills. Readers receive expert guidance on modules, package management, and handling shapefile formats needed to build their own mini-GIS. Comprehensive and engaging commentary, robust contents, accompanying datasets, and classroom-tested exercises are all housed here to permit users to become competitive in the GIS/IT job market and industry.
Table of Contents
Section I. Introduction. Object-Oriented Programming. Section II. Introduction to Python. Python Language Control Structure, File Input/Output, and Exception Handling. Programming Thinking and Vector Data Visualization. Shapefile Handling. Python Programming Environment. Vector Data Algorithms. Section III. ArcGIS Programming. Raster Data Algorithm. Network Data Algorithms. Surface Data Algorithms. Section IV. Performance-Improving Techniques. Advanced Topics. References. Index.
Chaowei Yang is professor of geographic information science at George Mason University (GMU). His research interest is on utilizing spatiotemporal principles to optimize computing infrastructure to support science discoveries. He founded the Center for Intelligent Spatial Computing and the NSF Spatiotemporal Innovation Center. He served as PI or Co-I for projects totaling over $40M and funded by over 15 agencies, organizations, and companies. He has published 150+ articles and developed a number of GIS courses and a training program. He has graduated 20+ postdoctoral and PhD students who serve as professors and scientists in highly acclaimed U.S. and Chinese institutions. He received many national and international awards, such as the U.S. Presidential Environment Protection Stewardship Award in 2009. All his achievements are based on his practical knowledge of GIS and geospatial information systems. This book is a collection of such practical knowledge on how to develop GIS tools from a programming perspective. The content was offered in his programming and GIS algorithm classes during the past 10 years (2004–2016) and has been adopted by his students and colleagues serving as professors at many universities in the United States and internationally.
"GIScience needs more programmers. This book is a great place to start."
— Mark Gahegan, University of Auckland, New Zealand
"Anyone who wants to develop programming skills to solve spatial problems will treasure this book – bringing together as it does practical skills in applying fundamental GIS principles, Python programming and open-source GIS development. This book is developed from the authors’ decades of combined teaching experience, with obvious benefits for training those encountering GIS programming for the first time. The comprehensive online materials are a boon. The treatment of topics proceeds from basic to advanced in a commendably clear and comprehensive manner. This treatment will be particularly useful for students encountering ‘Big’ space-time data that today pervade so many areas of application."
—Tao Cheng, University College London, United Kingdom
"This book will be of benefit to GIS/IT professionals in general as well as to students interested in systematically building GIS programming knowledge and skills. I strongly recommend this book."
— Rui Li, Wuhan University, China
"… an A to Z of GIS. [This book] covers a remarkable breadth of material, from the practical nuts-and-bolts of programming a GIS, to the fundamental concepts that underpin all of spatial information science. As spatial computing skills become increasingly valued both in education and the workplace, a book like this is an invaluable resource for people who want to understand more about and do more with spatial data. Those with a background in GIS and geography will find a wealth of accessible information and exercises to build new programming skills; skilled programmers can uncover the fundamental spatial concepts that are the basis of elegant and robust spatial information systems. By marrying the practice with theory, the book can claim to be a one-stop-shop for all your spatial computing needs."
— Matt Duckham, RMIT University, Me