Search Page

Showing 1 - 10 of 18
PD-29 - Programming of Mobile GIS Applications

Mobile technology has significantly changed how we communicate and interact with the outside world. With the increasing use of mobile devices and advancement of information communication information (ICT) technologies, mobile GIS emerged to provide real-time data collection and update, and made GIS easier and convenient to access. This entry introduces the concept, types, and general architecture of mobile GIS, key technologies used for mobile GIS development, and examples of mobile GIS applications.

PD-32 - JavaScript for GIS

JavaScript (which has no connection to the Java computer language) is a popular high-level programming languages used to develop user interfaces in web pages. The principle goal of using JavaScript for programming web and mobile GIS applications is to build front-end applications that make use of spatial data and GIS principles, and in many cases, have embedded, interactive maps. It is considered much easier to program than Java or C languages for adding automation, animation, and interactivity into web pages and applications. JavaScript uses the leading browsers as runtime environments (RTE) and thus benefits from rapid and continuously evolving browser support for all web and mobile applications.

PD-16 - Web GIS Programming

Web GIS programming involves creating, extending, utilizing, Web GIS or web mapping solutions to solve specific problems, build complete applications, or consume or produce data and geospatial processing services. With the expansion of the internet and availability of Web GIS or Web mapping options, web GIS programming is becoming a commonly required skill set in many organizations. Web GIS programming is a type of software development that provides a means of handling internet, browser-based software application development tasks which require unique solutions to web GIS or web mapping problems. In addition, a number of Web GIS software options offer application programming interfaces (APIs) that provide a means by which developers can leverage the published data and processing services of others to build and customize applications through standardized interfaces with external web GIS software, data, and services. Web GIS programming applies to mobile as well as desktop application development. A browser typically runs software applications by submitting Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secure (HTTPS) requests to a server hosting resources the application user wishes to access available through a Uniform Resource Locator (URL), and the server replies by providing resources or performing functions requested by the user. This entry reviews the fundamentals of web GIS programming, accompanying the Web Mapping and other entries in the Programming and Development section, the Web GIS entry in the Computing Platforms section, and the User Interface and User Experience (UI/UX) Design entry in the Cartography and Visualization section (Sack, 2017; Quinn, 2018; Roth, 2017).

PD-19 - GIS APIs

GIS APIs are collections of library modules that resemble various functionalities of GIS software through programming. GIS APIs evolved from desktop GIS. GIS APIs, as a distributed solution, are interoperable, scalable, light-weight, user-friendly, and versatile to a wide range of GIS users. This entry provides an overview of common GIS APIs, their functionalities as well as other related APIs. The general procedure to develop customized GIS applications is briefly discussed and demonstrated in a case study.

PD-15 - R for Geospatial Analysis and Mapping

R is a programming language as well as a computing environment to perform a wide variety of data analysis, statistics, and visualization. One of the reasons for the popularity of R is that it embraces open, transparent scholarship and reproducible research. It is possible to combine content and code in one document, so data, analysis, and graphs are tied together into one narrative, which can be shared with others to recreate analyses and reevaluate interpretations. Different from tools like ArcGIS or QGIS that are specifically built for spatial data, GIS functionality is just one of many things R offers. And while users of dedicated GIS tools typically interact with the software via a point-and-click graphical interface, R requires command-line scripting. Many R users today rely on RStudio, an integrated development environment (IDE) that facilitates the writing of R code and comes with a series of convenient features, like integrated help, data viewer, code completion, and syntax coloring. By using R Markdown, a particular flavor of the Markdown language, RStudio also makes it particularly easy to create documents that embed and execute R code snippets within a text and to render both, static documents (like PDF), as well as interactive html pages, a feature particularly useful for exploratory GIS work and mapping.

PD-28 - Visual Programming for GIS Applications

Visual programming languages (VPLs) in GIS applications are used to design the automatic processing of spatial data in an easy visual form. The resulted visual workflow is useful when the same processing steps need to be repeated on different spatial data (e.g. other areas, another period). In the case of visual programming languages, simple graphical symbols represent spatial operations implemented in GIS software (tools, geoalgorithms). Users can create a sequence of operation in a simple visual form, like a chain of graphical symbols. Visual programs can be stored and reused. The graphical form is useful to non-programmers who are not familiar with a textual programming language, as is the case with many professionals such as urban planners, facility managers, ecologists and other users of GIS. VPLs are implemented not only in GIS applications but also in remote sensing (RS) applications. Sometimes both types of applications are bundled together in one geospatial application that offers geoalgorithms in a shared VPL environment. Visual programming languages are an integral part of software engineering (SE). Data flow and workflow diagrams are one of the oldest graphical representations in informatics.

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.

PD-33 - GDAL/OGR and Geospatial Data IO Libraries

Manipulating (e.g., reading, writing, and processing) geospatial data, the first step in geospatial analysis tasks, is a complicated step, especially given the diverse types and formats of geospatial data combined with diverse spatial reference systems. Geospatial data Input/Output (IO) libraries help facilitate this step by handling some technical details of the IO process. GDAL/OGR is the most widely-used, broadly-supported, and constantly-updated free library among existing geospatial data IO libraries. GDAL/OGR provides a single raster abstract data model and a single vector abstract data model for processing and analyzing raster and vector geospatial data, respectively, and it supports most, if not all, commonly-used geospatial data formats. GDAL/OGR can also perform both cartographic projections on large scales and coordinate transformation for most of the spatial reference systems used in practice. This entry provides an overview of GDAL/OGR, including why we need such a geospatial data IO library and how it can be applied to various formats of geospatial data to support geospatial analysis tasks. Alternative geospatial data IO libraries are also introduced briefly. Future directions of development for GDAL/OGR and other geospatial data IO libraries in the age of big data and cloud computing are discussed as an epilogue to this entry.

PD-37 - Open Source Software Development

Open source geospatial software is now ubiquitous – it is used and supported across industries, in government agencies, as well as research institutions and academia. This entry describes general principles of open source software development and provides an overview of the development platforms and tools. Specific focus is on the Open Source Geospatial Foundation’s software stack, its development principles, practices, and initiatives. Several additional major open source software systems with geospatial support are also briefly discussed with examples of open source applications developed by integrating multiple libraries and packages.

PD-31 - PySAL and Spatial Statistics Libraries

As spatial statistics are essential to the geographical inquiry, accessible and flexible software offering relevant functionalities is highly desired. Python Spatial Analysis Library (PySAL) represents an endeavor towards this end. It is an open-source python library and ecosystem hosting a wide array of spatial statistical and visualization methods. Since its first public release in 2010, PySAL has been applied to address various research questions, used as teaching materials for pedagogical purposes in regular classes and conference workshops serving a wide audience, and integrated into general GIS software such as ArcGIS and QGIS. This entry first gives an overview of the history and new development with PySAL. This is followed by a discussion of PySAL’s new hierarchical structure, and two different modes of accessing PySAL’s functionalities to perform various spatial statistical tasks, including exploratory spatial data analysis, spatial regression, and geovisualization. Next, a discussion is provided on how to find and utilize useful materials for studying and using spatial statistical functions from PySAL and how to get involved with the PySAL community as a user and prospective developer. The entry ends with a brief discussion of future development with PySAL.

Pages