Programming and Development

Computer programming and development are critical to the past, present, and future of geospatial systems and techniques. The increasing ubiquity and diversity of online, mobile, and desktop GIS platforms along with the inclusion of cyber-infrastructure components within the bounds of geographic information systems (e.g., supercomputing, wireless sensor networks) means that GIS researchers and professionals need to be fluent in multiple forms of programming, and the life-cycles of system and software development.

Topics in this Knowledge Area are listed thematically below. Existing topics are in regular font and linked directly to their original entries (published in 2006; these contain only Learning Objectives). Entries that have been updated and expanded are in bold. Forthcoming, future topics are italicized


Algorithm Design/Algorithmic Approaches Programming Languages & Libraries
Dynamic Programming in GIS Applications Python for GIS
Natural Language Processing in GIS Applications  PySAL and Spatial Statistics Libraries
Real Tme Programming in GIS Applications R for Geospatial Analysis & Mapping
Integer Programming Javascript for GIS
Linear Programming and GIS SQL Languages for GIS
Machine Learning Programming for GIS GDAL./OGR and IO Libraries
GIS and Parallel Programming  
Object-oriented Programming in GIS Applications Application Development
Development Tools Software Lifecycles of GIS Applications
Development Environments for Geospatial Applications Software Requirements for GIS Applications
SpatialMPI: Message Passage Interface for GIS Applications Verification & Validation of GIS Applications
Software Frameworks for GIS Applications Implementation of GIS Applications
Visual Programming for GIS Applications Testing of GIS Applications
Computer-Aided Software Engineering (CASE) Tools Deployment of GIS Applications
GIS APIs Design of GIS Applications
Platform Specific Programming Commercialization of GIS Applications
GIS and GPU Programming Licensing of GIS Applications
Programming of Mobile GIS Applications  
Programming of GIS Web Services  
Web GIS Programming