Skip to Content

Software and Application Development

Design and development of geospatial software and applications, including GIS software products, applications for processing, analysis, or adding value to remotely sensed data, and applications to automate routine tasks and to customize end-user interfaces.

Critical Work Functions

  • Develop use cases for user-centered requirements analyses
    • Perform a feasibility study and cost/benefit analysis
      • Design a geospatial system architecture that responds to user needs, including desktop, server, and mobile applications
        • Communicate effectively with end-users to ensure that software applications meet user needs
          • Optimize geospatial system performance
            • Identify appropriate software development tools for particular end uses
              • Create geospatial software programs using programming languages such as C, C++, and Java
                • Ensure that software code complies with industry standards, such as those promulgated by the Open Geospatial Consortium (OGC)
                  • Identify the factors that affect the interoperability of geospatial software applications
                    • Automate geospatial analysis methods such as transformations, raster analysis, and geometric operations
                      • Use scripting languages such as Python and others to automate repetitive tasks in desktop geospatial software
                        • Customize geospatial software using proprietary and open source software components, such as ESRI’s ArcObjects, Intergraph’s GeoMedia software suite, and the GeoTools open source project
                          • Use scripting languages such as JavaScript, PHP, and KML to create web mapping applications
                            • Employ query languages such as SQL to interrogate spatial databases
                              • Work effectively in teams to plan and coordinate software and application development
                                • Stay informed about trends and best practices in information technology and software engineering, such as unit testing, version control, and continuous integration
                                  • Evaluate open source software components for re-use and potential return contributions
                                    • Realize opportunities to leverage positioning technology to create mobile end-user applications
                                      • Explain how geospatial software in large enterprises fits into SOA (Service Oriented Architectures) and SaaS (Software as a Service)
                                        • Be able to leverage new architectural opportunities such as cloud computing
                                          Technical Content Areas

                                          : Headings below correspond to select knowledge areas identified in the First Edition of the GIS&T Body of Knowledge (UCGIS 2006). Professionals who work in this sector are also responsible for knowledge areas defined in bodies of knowledge of the Computer Science, Software Engineering, and Information Technology fields.
                                          • Analytical Methods
                                            • Structured Query Language
                                            • Spatial Queries
                                          • Design Aspects
                                            • System Design
                                            • Project Definition
                                            • Resource Planning
                                            • Database Design
                                            • Analysis Design
                                            • Application Design
                                            • System Implementation