Introduction to GIS Programming and Fundamentals with Python and ArcGIS® (Hardback) book cover

Introduction to GIS Programming and Fundamentals with Python and ArcGIS®

By Chaowei Yang

© 2017 – CRC Press

302 pages | 100 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781466510081
pub: 2017-04-07
SAVE ~$19.99
$99.95
$79.96
x
eBook (VitalSource) : 9781315156682
pub: 2017-04-25
from $99.95
$69.97


SAVE 25%
When you buy 2 or more print books!
See final price in shopping cart.
FREE Standard Shipping!
Comp Exam Copy

About the Book

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.

Reviews

"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, Melbourne, Australia

"This book will be useful for those studying GIS who wish to deepen their knowledge of how spatial data is handled on the computer and for those with IT skills who wish to understand more about the particulars of spatial data. A strong plus is that the book takes a very hands-on approach with lots of practical examples and problems for the reader to work on. Python is used as the language which is a good choice since it is freely available."

— Steve Wise, University of Sheffield, United Kingdom

"In today’s GIS job market, Python Programming and ArcGIS are the must-have skills for many students and professionals. This book provides excellent basic programming concepts and step-by-step code examples for GIS students and professionals to enhance their programming skills. GIS professionals and students will learn fundamental programming concepts and great examples in Object-Oriented Programming, Data Visualization, GIS Data Structures, and GIS Algorithms."

— Ming-Hsiang Tsou, San Diego State University, California, USA

Table of Contents

Section I

Introduction

Computer Hardware and Software

GIS and Programming

Python

Class and Object

GIS Data Models

UML

Hands-On Experience with Python

Chapter Summary

Problems

Object-Oriented Programming

Programming Language and Python

Class and Object

Point, Polyline, and Polygon

Hands-On Experience with Python

Chapter Summary

Problems

Section II

Introduction to Python

Object-Oriented Support

Syntax

Data Types

Miscellaneous

Operators

Statements

Functions

Hands-On Experience with Python

Chapter Summary

Problems

Python Language Control Structure, File Input/Output, and Exception Handling

Making Decisions

Loops

Other Control Structures

File Input/Output

Exceptions

Hands-On Experience with Python

Chapter Summary

Problems

Programming Thinking and Vector Data Visualization

Problem: Visualizing GIS Data

Transforming Coordinate System

Visualizing Vector Data

Point, Polyline, Polygon

Programming Thinking

Hands-On Experience with Python

Chapter Summary

Problems

Shapefile Handling

Binary Data Manipulation

Shapefile Introduction

Shapefile Structure and Interpretation

General Programming Sequence for Handling Shapefiles

Hands-On Experience with Mini-GIS

Chapter Summary

Problems

Python Programming Environment

General Python IDE

Python Modules

Package Management and Mini-GIS

Hands-On Experience with Mini-GIS

Chapter Summary

Problems

Vector Data Algorithms

Centroid

Area

Length

Line Intersection

Point in Polygon

Hands-On Experience with Python

Chapter Summary

Problems

Section III

ArcGIS Programming

ArcGIS Programming

Introduction to ArcPy Package

Automating ArcTools with Python

Accessing and Editing Data with Cursors

Describing and Listing Objects

Manipulating Complex Objects

Automating Map Production

Creating ArcTools from Scripts

Handling Errors and Messages

External Document and Video Resources

Implementing Spatial Relationship Calculations Using ArcGIS

Summary

Assignment

Raster Data Algorithm

Raster Data

Raster Storage and Compression

Raster Data Formats

Color Representation and Raster Rendering

Raster Analysis

Hands-On Experience with ArcGIS

Chapter Summary

Problems

Network Data Algorithms

Network Representation

Finding the Shortest Path

Types of Network Analysis

Hands-On Experience with ArcGIS

Chapter Summary

Problems

Surface Data Algorithms

3D Surface and Data Model

Create Surface Model Data

Surface Data Analysis

Hands-On Experience with ArcGIS

Chapter Summary

Problems

Section IV

Performance-Improving Techniques

Problems

Disk Access and Memory Management

Parallel Processing and Multithreading

Relationship Calculation and Spatial Index

Hands-On Experience with Mini-GIS

Chapter Summary

Problems

Advanced Topics

Spatial Data Structure

GIS Algorithms and Modeling

Distributed GIS

Spatiotemporal Thinking and Computing

Chapter Summary

Problems

References

Index

About the Author

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.

Subject Categories

BISAC Subject Codes/Headings:
COM059000
COMPUTERS / Computer Engineering
SCI019000
SCIENCE / Earth Sciences / General
TEC036000
TECHNOLOGY & ENGINEERING / Remote Sensing & Geographic Information Systems