1. Home
  2. Tutorials
  3. GIS
  4. Map Servers
Yolinux.com Tutorial

GIS Map Servers:

Open Source Geographic Information Systems (GIS) Map, Imagery, Elevation and Data Servers.


Earth mapping and Virtual Globe applications all require geo-located maps to display information or to query for information. Typically the amount of data is in the multi-Tera Bytes and is an overwhelming amount of data to manage. It is typically prohibitively large for installation with all mapping applications or to download in its entirety for internet based mapping applications. The solution to the problem is to download incrementally what is needed from a map server for the region being viewed and at the resolution corresponding the the user's zoom level.

At the core, all use variants of the Geospatial Data Abstraction Library (GDAL) to warp and size map images for display with the proper mapping projection or for the virtual globe geometric representation (sphere or ellipsoidal WGS 84 GPS standard or GRS 80, etc)

Most GIS map servers conform to standards established by the Open Geospatial Consortium (OGC) and standard imagery formats (JPG, PNG, GIF, TIFF) over the standard HTTP protocol. There are standards for elevation data, vector data, observations and measurements.

Open Source Geographic Information Servers:

MapServer Fast and responsive, written in C/C++. Originally developed by the University of Minnesota. Typically runs as an Apache httpd CGI. GDAL bundled separately.
Configuration: non-standard ASCII text configuration files.
Home page: http://mapserver.org/
YoLinux Tutorial: Mapserver installation, configuration and use
GeoServer Java based web application with a web interface for configuration. Bundled with GDAL.
Home page: http://geoserver.org/
QGIS Server QGIS Supports OGC WMS, SLD standards.
Home page: https://qgisenterprise.com/en/qgis-suite/server/
NASA WWSK GeoServer The NASA WorldWind Server Kit is a variant of GeoServer optimized for use with WorldWind clients.
No support for elevation data. Bundled with GDAL and all required JAR file libraries.
Home page: https://github.com/NASAWorldWind/WorldWindServerKit
WorldWind server 1.5.1 No longer supported. Bundled with WorldWind 1.5.1 and located under the directory server/. This is a Java based map server supporting imagery and DOD DTED elevation data. Lots of supported features. Configuration is performed by editing XML Files. GDAL bundled separately.
Home page: https://github.com/NASAWorldWind/WorldWindJava/releases/

GetCapabilities Request:

The GIS map servers can be queried by the GIS client or even by an individual using a "GetCapabilities" request. This request returns information about the server and about the layers of data and the geometric limits being offered as a web service in XML format. Some clients can use this information to automatically configure themselves to access these data layers. For GIS clients which can not, a "GetCapabilities" can be made in a web browser and read. The information can then be used in the client application configuration.

Select these links to view the capabilities of the following servers:

Map Requests:

Map servers respond to HTTP GET requests by stating the map server map layer, the size and resolution of the image, image format of the image, projection and coordinates defining the bounding box. The bounding box is expressed as the South-West corner and the North-East corner.

Example: https://worldwind25.arc.nasa.gov/wms?service=wms&version=1.3.0&request=GetMap&CRS=CRS:84&SRC=EPSG:4326&format=image/jpeg&BBOX=-11.4775,50.53,3.29,58.77&width=600&height=600&layers=esat&style=raster

  • VERSION=version: Request version of WMS standard used in the request
  • REQUEST=GetMap: Request for mapping information
  • LAYERS=layer_list: Comma-separated list of one or more map layers
  • STYLES=style_list: Comma-separated list of one rendering style per requested layer
  • CRS=CRS:identifier: Coordinate Reference System, in this case CRS 84 (WGS84) specifying longitude-latitude and the equivalent projection to EPSG:4326
  • SRS=namespace:identifier: Spatial Reference System, in this case EPSG:4326, a simple equirectangular projection defined by the European Petroleum Survey Group
  • BBOX: Bounding Box - minx,miny,maxx,maxy: Bounding box corners (lower left, upper right) in SRS units
    degrees: most Western Longitude, most Southern Latitude, most Eastern Longitude, most Northern Latitude
    [Potential Pitfall]: the typical GIS ordering of lat/lon used in discussions and presentations does not hold true here as it is defined by CRS:84, its lon/lat!
  • WIDTH=output_width: Width in pixels of map picture
  • HEIGHT=output_height: Height in pixels of map picture
  • FORMAT=output_format: Output raster image format of map

Map of England and Ireland as defined by BBOX coordinates:

GIS Data For Map Servers:

Imagery Data:

Public Earth satellite imagery data is available from NASA and other private and government sources. The very high resolution imagery one sees on google maps or Bing maps is not in fact from satellites but from aircraft. This very high resolution data is typically unavailable.

Vector Data:

Vector data is typically used to represent political boundaries (borders of countries, states or provinces, counties and cities), rivers, lake limits, and roads. These are typically VMap of SHP files.

Elevation Data:

Elevation sources like Shuttle Radar Topography Mission (SRTM) was obtained by flying a radar sensor on board the NASA Space Shuttle. Older data was sometimes obtained by land survey and only available from portions of the planet.
  • Shuttle Radar Topography Mission (SRTM): 900 meters resolution, 2.5 GB
  • National Elevation Data (NED): 10 meter resolution, 560 GB
  • ASTER DEM2: 766 GB
  • Digital Terrain Elevation Data (DTED): U.S. military
  • OpenTopography.org

Other Data:


Book imageBooks:

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