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 |
PD-12 - Commercialization of GIS Applications
The commercialization of GIS applications refers to the process of bringing a software solution to market. The process involves three broad categories of tasks: identifying a problem or aspect of a problem that a GIS application can solve or address; designing and creating a GIS application to address the problem; and developing and executing a marketing plan to reach those with the problem, the potential users. Ideally these categories would be addressed in this order, but in practice, aspects of each are likely to be addressed and iterated throughout the commercialization process.
Bringing a GIS application to market requires expertise in 1) the target industry or market (e.g., forestry); 2) software development (how to design and build a product); 3) law (licenses, contracts, taxes); and 4) business (how to fund development, guide the process, evaluate success, marketing). A single individual or organization, referred to as the provider in this discussion, may lead or execute all three categories of tasks, or engage third parties when specific expertise is required.