1. Home
  2. Tutorials
  3. GIS
Yolinux.com Tutorial

Open Source GIS:

Open Source Geographic Information Systems (GIS). There are a plethora of GIS applications, tools and data to support the mapping of Earth data (and sometimes other planets).

Description:

Digital mapping systems take various forms to provide a solution for Uber and Lyft apps to show location, GPS applications to show location and direction, civil engineering applications to help in the building of roads and bridges, flight planning, land use management (farming), meteorology data display and scientific data display, just to name a few. The components of GIS systems were born out of educational and governmental research and thus there is a strong Open Source presence.

They can be categorized into 2-D or 3-D map visualization applications and web applications with front-end and back-end components. GIS applications usually take form as a client-server software system out of necessity. The server component is required because of the vast size of the data (imagery, elevation, vector, scientific data, etc) which needs to be located on computes with adequate resources. The client component is necessitated by the need for mobility (GPS and guidance), viewability (in 2-D or 3-D) and if required, embedded into a device.

GIS Clients:

Client applications fall within two main categories, "web applications" and "desktop applications". Each of these have 2D and 3D categories. Web applications were initiated with 2-D mapping but with the advent of WebGL, 3-D web solutions are becoming mainstream. These 3-D solutions avoid the distortions of 2-D map projections and display the Earth as it is, a 3-D ellipsoid. Web maps in 2-D can use Javascript frameworks like OpenLayers which can display map tiles, vector data and markers and interface with GIS servers. See our review of Virtual Globes, in particular, the very feature rich NASA WorldWind.

Web ApplicationsDesktop Applications
2D: (Javascript APIs) 3D: (Javascript APIs) 2D: 3D:

GIS Servers:

See our review of GIS Servers which have the ability to host enormous amounts of data but only feed what is necessary to the client applications. GIS Servers offer data in "layers" of specialized types such as images of vector data. The GIS Server may put the layer data through various geometric transformations in order to fulfill the client's request. Layer data may come from local image and geometry files resident on the server or from a GIS database for more dynamic and changing data. A GIS Client may access numerous servers in order to access the data required for its' task.

GIS Standards:

Interoperability between client and server GIS applications necessitated the development of GIS standards. Standards apply to the HTTP protocols used between the GIS client and server, the media (eg image and vector file formats) and the GIS protocol layers which utilize these. Many of the GIS protocols have been defined by the Open Geospatial Consortium (OGC) OpenGeospatial.org, an international consortium first formed in 1994.
  • WMS: Web Map Service (Request map images from map servers, Defines projection, coordinate system of the request)
  • WTS: Web Terrain Service
  • WFS: Web Feature Service
  • WMTS: Web Map Tile Service
  • WCS: Web Coverage Service
  • OWS: OGC Web Service (map servers. Superset of services: WFS, WMS, WMTS, WCS, ...)
  • CSW: Catalog Service for the Web
  • GML: Geography Mark-up Language
  • OLS: Open Location Service
  • ...
Additional standards like the Keyhole Markup Language (KML) (from Google Earth's founder Keyhole Inc.) and Esri's SHP files have been contributed by the industry.

GIS Data:

Raster images, elevations, vector data for roads, rivers and political boundaries. The vast majority of GIS data is derived from airborne or orbital sensors. Much of it is publicly available from government research and space institutions worldwide. The GIS data standards for imagery are well established image types such as JPEG, PNG, GIF and TIFF. Vector data is typically made available as a "shape file" or "shp", a format defined by the ESRI corporation and accepted as a GIS standard. Elevations, while following standards, do not conform to a single definition but most often to those defined by the Department of Defense (USA) or the U.S. Geological Survey (USGS).

GIS Databases:

There are some notable GIS extensions to the SQL relational database which support the storage, query and display of geometry and location data. Query operations supported include distance, within boundaries, geometry length and intersection. While Oracle's commercial relational database and the open source MySQL database support GIS extensions, it is PostgreSQL which seems to be the favored SQL database for GIS when used with the PostGIS extensions, PostGisGui admin tool and the QGIS data viewing tool. Many GIS servers support a GIS relational back-end. GIS relational databases support SQL searches to find location based entities and addresses or store GIS information. See our tutorial on PostGIS with PostgreSQL.

GIS Libraries and Supporting GIS Tools:

The GIS clients, servers and databases would not be useful if it were not for the GIS libraries and their data transformation tools. Typically there is limited user interaction with the APIs and libraries. The exception is GDAL which has a solid set of command line tools which translate, transform vector and raster data for use with GIS systems.
  • GDAL: Geospatial Data Abstraction Library: translator library for raster and vector geospatial data formats. Command line tools and API library. Supported formats include GeoTIFF, JPEG, DTED, NITF, ...
  • PROJ: coordinate transformation software, that transforms geospatial coordinates from one coordinate reference system (CRS) to another (eg. convert geodetic coordinates into projected coordinates using a number of different cartographic projections.
  • GEOS: C++ geometry library (C++ port of JTS)
  • Java:
    • JTS: geometry library with spatial predicates and functions for processing geometry
    • GEOTools: Java library which provides standards compliant methods for the manipulation of geospatial data

GIS Acronyms:

AcronymDescription
CRSCoordinate Reference System
EPSGEuropean Petroleum Survey Group
GISGeographic Information Systems
KMLKeyhole Markup Language (GIS XML geometry)
LLALatitude-Longitude-Altitude (coordinate system where Greenwich England is 0 degrees longitude and the equator is 0 degrees latitude and sea level is 0)
NEDNational Elevation Data (USA)
NEDNorth-East-Down (coordinate system on plane on Earth's surface where down points to the center of the Earth)
NEUNorth-East-Up (coordinate system on plane on Earth's surface where up points outward)
SRIDSRS ID assigned by the EPSG. eg WGS84 is SRID 4326
SRTMNASA Shuttle Radar Topography Mission (Earth elevation data)
SRSSpatial Reference System (projection. eg WGS84)
USGAUS Geological Service
UTMUniversal Transverse Mercator (2D map projection -90 to +90, -180 to +180 degrees lat/lon coordinates) Also UTMREF
WKBWell Known Binary. First byte indicates the byte order
WKTWell Known Text (human readable)

Links:

Book imageBooks:

"GIS Fundamentals: A First Text on Geographic Information Systems"
by Paul Bolstad
ISBN # 1506695876, XanEdu Publishing Inc; 5th edition

Amazon.com