All Topics

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
Real-time GIS Programming and Geocomputation Python for GIS
Natural Language Processing in GIScience Applications PySAL and Spatial Statistics Libraries
Machine Learning Programming for GIS R for Geospatial Analysis & Mapping
Linear Programming and GIS Javascript for GIS
GIS and Parallel Programming SQL Languages for GIS
Object-oriented Programming in GIS Applications GDAL/OGR and IO Libraries
  Application Development
Development Tools Design, Development, Testing, and Deployment of GIS Applications
Visual Programming for GIS Applications Verification & Validation of GIS Applications
SpatialMPI: Message Passage Interface for GIS Applications Commercialization of GIS Applications
GIS APIs Licensing of GIS Applications
  Open Source Software Development
Platform Specific Programming  
GIS and GPU Programming  
Programming of Mobile GIS Applications  
Web GIS Programming  

 

C D G J L N O P R S V W
PD-18 - SpatialMPI: Message Passing Interface for GIS Applications

MPI (Message Passing Interface) is a widely used message passing library for writing parallel programs. The goal of MPI is to establish a portable, efficient, and flexible standard for message passing that will be widely used for writing message passing programs. This chapter motivates the need for using MPI for implementing GIS applications and introduces MPI data types and communication functions. Then, it presents new spatial data types and operations on them using MPI. Finally, it presents pseudocode for parallelizing a range query problem and spatial domain decomposition in GIS.

PD-17 - SQL Languages for GIS

SQL (Structured Query Language) is a declarative programming language that is closely linked to the relational database model. It is an accessible and widely adopted language used for query, data modification, and data definition—that is, defining data structures (tables) and other database objects. Important additions to the SQL standard include SQL/PSM, which adds control flow, local variables, and other procedural language features; and SQL/MM Part 3, which adds spatial support. Many complex geoprocessing workflows typically implemented in desktop GIS or scripting languages can easily be implemented in spatial SQL.