PD 16 WebGISProgramming - GISTBodyofKnowledge
PD 16 WebGISProgramming - GISTBodyofKnowledge
net/publication/331265626
CITATIONS READS
3 2,420
2 authors, including:
Jennifer N. Swift
University of Southern California
31 PUBLICATIONS 299 CITATIONS
SEE PROFILE
All content following this page was uploaded by Jennifer N. Swift on 13 November 2020.
Instructional Resources consume or produce data and geospatial processing services. With the
expansion of the internet and availability of Web GIS or Web mapping options,
Additional Resources
web GIS programming is becoming a commonly required skill set in many
Related Topics organizations. Web GIS programming is a type of software development that
provides a means of handling internet, browser-based software application
Keywords
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).
This entry was first published on February 20, 2019. No earlier editions exist.
Topic Description:
1. Definitions
1. Definitions
big data: unstructured or structured data volumes that are so large that they
are difficult to gather store, analyze, manage and disseminate using traditional
technologies (Li et al., 2016)
open source: developers can access, use and alter the software source code
as needed
in user demand
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. 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
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. 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. Sack (2017) provides a list of commonly used open source
and proprietary software APIs used in web GIS programming projects focused
on mashups. Among the most popular are the Google Maps API, Mapbox GL
JS, OpenLayers, Esri ArcGIS API for Javascript, ArcGIS REST API, ArcGIS
Python API, ArcGIS Runtime SDKs (software development kits), and Leaflet.
For example, the Esri GeoServices REST specification provides a standard
way for clients to communicate with servers through the REST architecture
using Restful web services and URLs (Esri, 2010). In web GIS programming,
such hosted Web GIS software libraries and other scripting language
libraries such as JQuery provide globally available, reliable collections of
modular code that can be used by developers to simplify writing programs.
Open Layers and Leaflet are examples of open source libraries used to create
web map mashups.
options, the following questions offer project planning guidance for the
developer:
5. Are there specific browsers that the program must work in, or must it
work in all browsers?
7. Will data be provided to the user, or gathered from the user, or both?
9. What are the locations of the spatial datasets to be displayed in the web
maps, and how will they be accessed?
10. Is the data stored in a database on the server hosting the web GIS
program, or being streamed as a web service to the web map from
another server?
11. What are the web GIS and supporting programming languages that can
be supported by both the application developer, and those who
requested the application, if maintenance of the application will be turned
over after completion?
Where the data will reside, such as within the application development
environment data server versus data that must be streamed through web
services or geospatial web services from remote sources may
significantly impact programming tasks and network optimization.
Geospatial web services consist of images and data resources delivered
real-time or near-real-time by a server. Near-real-time data is used when
data processing time in minutes versus seconds in acceptable in an
application. Sack (2017) provides a list of OGC geospatial web services’
descriptions of standards which can be consumed through web GIS
programs to publish raster map images, tilesets, vector data, space/time-
varying visualizations, and geoprocessing services, all of which generally
produce some output or response that is brought into a web GIS
application.
A developer must also ensure that applicable copyrights for data and all
software used and developed as part of a project are documented and
transparent to other developers and end users (Buckley, 2010;
audience.
HTML, CSS, and JavaScript are scripting or front-end languages that work
together in the browser, or the client, to control what is displayed and what
There are many compiled languages, and some scripting languages used in
the spatial sciences and the geospatial industry that run on servers. These are
often known as server-side, or back-end languages. A selection of the most
common, general-purpose, object-oriented server-side programming languages
used in web GIS programming that can also be used with many databases is
listed in Table 2. Python, Java and ASP.NET, for example, can also be
deployed as client-side languages.
References:
Buckley, A. (2010, December 3). Using and citing Esri data [Blog]. Retrieved
August 17, 2018, from https://www.esri.com/arcgis-
blog/products/product/mapping/using-and-citing-esri-data/?
rmedium=redirect&rsource=/esri/arcgis/2010/12/03/using-and-citing-esri-data .
Li, S., Dragicevic, S., Castro, F. A., Sester, M., Winter, S., Coltekin, A., Pettit,
C., Jiang, B., Haworth, J., Stein, A., & Cheng, T. (2016). Geospatial Big Data
Handling Theory and Methods: A Review and Research Challenges. ISPRS
Journal of Photogrammetry and Remote Sensing 115, 119–33.
DOI: 10.1016/j.isprsjprs.2015.10.012 .
Mell, P., & Grance, T. (2011). The NIST Definition of Cloud Computing.
Recommendations of the National Institute of Standards and Technology.
Special Publication 800-145. U.S. Department of Commerce.
DOI: 10.6028/NIST.SP.800-145 .
Rey, S. J. (2017). Python for GIS. The Geographic Information Science &
Technology Body of Knowledge (3rd Quarter 2017 Edition), John P. Wilson
(ed). DOI: 10.22224/gistbok/2017.3.4
Roth, R. E. (2017). User Interface and User Experience (UI/UX) Design. The
Geographic Information Science & Technology Body of Knowledge (2nd
Quarter 2017 Edition), John P. Wilson (ed.). DOI: 10.22224/gistbok/2017.2.5 .
Learning Objectives:
Define and illustrate the purpose of web GIS programming, such as how to
use it to build or extend GIS software functionality.
3. How do you select the various components for a web GIS programming
project?
Additional Resources:
1. ASP.NET - https://www.asp.net/ .
3. C# Guide - https://docs.microsoft.com/en-us/dotnet/csharp/index .
5. Java - https://www.oracle.com/java/ .
6. php - http://php.net/ .
7. Ruby - https://www.ruby-lang.org/en/.
8. W3C (World Wide Web Consortium) (2017, January 31). CSS Snapshot
2017, W3C Working Group Note. Retrieved August 17, 2018, from
www.w3.org/TR/CSS/#css .
9. W3C (World Wide Web Consortium) (2017, December 14). HTML 5.2
W3C Recommendation. Retrieved August 17, 2018, from
http://www.w3.org/TR/html5/ .
Related Topics:
Web GIS
Web Mapping
Keywords:
web mapping. web services, application, programming, development, tier,
Copyright © 2020 by
ucgis <[email protected] >
https://gistbok.ucgis.org/bok-topics/web-gis-programming[11/12/2020
View publication stats 4:13:23 PM]