Samuel Lee Toepke; Avineon, Inc. 911 Lighthouse Ave. #9 Monterey, CA 93940
(911) 9119111 samueltoepke@gmail.com
Open Source Mapping in Geographic Information Systems (GIS)
March, 2008 for MILCOM 2008 http://www.milcom.org/
Status, submitted, unaccepted.
Abstract:
Defenseoriented Geospatial Information Systems (GIS) generally rely on costly, proprietary software to provide geospatial
functionality. Proprietary software is expansive and featurerich but often lacks flexibility and interoperability, while requiring a
very large startup and significant maintenance costs. Many Department of Defense (DoD) applications make no use of the GIS
analytics, histograms and/or evaluation algorithms; instead, they require the most basic services such as displaying relational
data in a geospatial context. For example, a military base commander might be looking for a way to map the locations of
soldiers/material. This basic operation can be done easily and inexpensively with existing hardware, open source software, and
online documentation.
Enter open source mapping; the practice of using open source software for GIS needs. The open source GIS community is
mature, stable, and growing rapidly. Open Geospatial Consortium (OGC) standards are at the heart of almost all open source
GIS tools and yield a high degree of interoperability and basic geospatial capability on par with commercial products.
Adherence to open standards ensures that DoD tools and environments remain open and mitigate the danger of being locked
into specific proprietary toolsets. Open source GIS tools include spatially enabled databases, webbased map servers, and image
layering services to build rich enduser environments. This paper describes the development of open source GIS architecture,
the primary components, integration points with other open source as well as proprietary environments, and potential
performance and security issues and mitigations.
Body:
Geospatial Information Systems:
A geographic information system is a system that is used for the capture, use, study/manipulation, and presentation of
geospatially enabled data. GIS systems have application in diverse fields, examples of modern usage are: military, automotive,
and environmental.
The military has long used GIS systems for intelligence purposes. Two primary uses are reconnaissance and resource allocation.
Using satellite imagery from private companies, or from their own spy satellites, analysts view the information and try to
discern what a target is building, constructing or planning. GIS can also be used in combat for rapid and realtime resource
allocation. Tanks, planes, soldiers and material can be outfitted with global positioning sensors, which is then read back into a
GIS system, and overlaid on any number of informative maps. This helps officers properly order material to where it needs to
be, as well as visually understand the layout of the battlefield in a rapid manner. The deployed soldier also benefits from a GIS
system, as he will be deployed and used more properly, as well as be able to see where his fellow soldiers are located, ideally
leading to less friendly fire accidents.
The automotive industry is now fully embracing video units in the dashboard, and G.P.S. locators in each vehicle. This leads to
some very convenient onboard directional units that show where the vehicle is, where it is going, and gives step by step
instructions on how to get there. Anyone who has ever been lost, been given incorrect directions, or visiting an unfamiliar
cityscape can appreciate one of these tools. These tools are not limited in use to automobiles; aviators, boaters and hikers benefit
from geolocation.
Environmental science and engineering relies on the study and understanding of the environment for benefit of the community.
A prime example is the analyzing of flooding during hurricanes or storms. This information can be used for insurance
information, demarcation of flooding danger zones, possible areas for health concerns, as well as historical information as to
where flooding occurred. This can also be used in future construction which will hopefully limit the risk of property damage
during future storms.
Closed source, or proprietary software is computer software with restrictions on copying and modifying placed on it by the
creator or distributor (Proprietary software). Closed source software is not open to user manipulation, recompiling, or
redistribution. There is typically a large upfront cost for software, as well as costs per user/seat/server/connection etc. Support
and documentation might cost extra, and new functionality as well as bugfixes must be waited for. Benefits of open source are
reliability, high end functionality, and friendliness towards nontechnically minded people.
Closed source software is useful, but for a typical code shop, open source is far more costefficient as well as functional.
Open source software is open for a user to download the source code, as well as to modify and redistribute as he/she wishes. A
good open source project will be well documented, modular (code updates shouldn’t require a change of the internal workings
of the code), have a well defined development team as well as active user and developer communities (The State of Open
Source GIS).
GIS System Architecture:
Four specific layers can be used in the understanding of a GIS system: creation layer, information layer, server layer and
presentation layer.
The creation layer contains the steps that are taken to actually create geospatial data. This can include using a Global
Positioning System (G.P.S.) tracker to take point readings of municipal bus stations, using aerial photography to take images of
an area of interest, using weather stations to gather specific weather information, etc. When this information is processed and
turned into GIS ingestible artifacts, the result is the information layer.
The information layer is the result of the creation layer data being processes, translated into GIS ingestible artifacts, and stored
in a GIS industry standard format. Popular data formats include the ESRI shapefile, Geospatial Tagged Information File Format
(GeoTIFF), or a geospatially enabled database. The shapefile is most commonly used to store static geospatiallyrelevant
information. GeoTIFF files contain raster image data often derived from photography, radar, or satellite observations accurately
linked to a geographical area. A geospatially enable database typically contains dynamic geospatial information such as weather
systems and moving objects, in addition to static geographic features.
The server layer distributes the underlying data for ingestion by thick client systems (desktop GIS processing systems), thin
client systems (WMS/WFS readers) etc. The server layer listens for requests for information, processes the request and returns
the requested information. The server layer should have a high degree of reliability and be able to handle a large number of
concurrent requests. This is ideally completed using Open Geospatial Consortium (OGC) standards such as Web Map Service
(WMS) and Web Feature Service (WFS), thus ensuring interoperability.
The presentation layer consists of any program that ingests the served geospatial information and provides it for manipulation,
viewing, and/or processing by a user. This layer can be implemented within thick client systems such as Google Earth, the ESRI
ArcMap, or a thinclient solution such as Open Layers running within a web browser.
For example: GeoServer, an open source WMS/WFS server, and OpenLayers, a Javascript map viewer, both have active
development and user forums. There are dozens of posts per day from professionals, users, and full time coders that are paid by
private organizations to work solely on these open source solutions. Forums are an excellent, and free, way to view questions,
get new ideas, and to collaborate with other likeminded users from around the world.
Open source GIS has many applications that can make effective use. Hardcore manipulation, GIS analyzing algorithms and
247 tech support are not always required. A state park on a low budget may only need locations of a certain type of tree to be
served as a WMS layer so park rangers in the field can use a hand held device to find them. Perhaps a military sect requires
code inspection before operability, not all commercial vendors are that interested in handing over source code. Perhaps a web
startup wants to be able to add their own proprietary data information to a GIS system. Instead of having to wait for a
commercial vendor to deploy a patch (if they would even do that), a modular code patch can be created by the company, and
deployed to the projects online code tree. This allows the company to get immediate usability, as well as to promote their own
data source by having support for it already in the open source project.
Open Source GIS, from Data to Presentation Layer:
The open source creation layer can be attacked from any number of angles. Either by direct feature (point, line, area) recording,
imagery or downloading geospatial information can be attained from a myriad of sources. Then, using open source libraries; can
often be created and manipulated for ingest into a server layer.
The majority of commercial G.P.S. transceivers come with proprietary software that allows the reading of recorded points, lines
and areas. If a park ranger is tasked to go out and find all of the eucalyptus trees in the park, he/she can use a G.P.S. unit, and
simply take a reading as he/she is standing next to each tree. When they get back to the office, these points can be downloaded
from the unit using this software, into a computer understandable file (comma delineated, database, etc.). The outputted data
format can then be imported into house software for shapefile creation of geospatial database insertion.
An open source geospatially enabled database of choice would be Postures with the addon module Postgres. Postgres follows
the Simple Features for SQL specification from the Open Geospatial Consortium (PostGIS: Home). This leads to effective
interoperability as well as high functionality. PostGIS supports data types such as: points, line strings, polygons, multipoints,
multiline strings, multipolygons and geometry collections. There is also functionality for geospatial operations such as length,
distance, area etc. A convenient use of this GIS SQL would be, ‘select eucalyptus trees within 1 mile of lat/lon x/y’. This is a
simple query, which can be wrapped within a programming language and a website, thus giving a user an online tool to make
geospatial queries.
Raster or imagery data can be obtained from the internet (open aerial maps), from company planes or satellites or even scanned
maps. Then, using libtiff and or libgeotiff, a geospatiallyenabled image can be created and ready for ingestion for a GIS
system. Java’s Java Advanced Imaging libraries as well as the Geospatial Data Abstraction Library for C make this process
rapid and easily repeatable.
An example of effective use of raster data is a topography map that might be attained from USGS. The map can be scanned into
a computer, and then geospatially indexed as a GeoTIFF using libgeotiff. The GeoTIFF can now be ingested as a geographic
layer, and can be used as either a base map for other points to be laid on, or a semitransparent overlay that adds more
information to a base map.
All of the used data formats: GeoTIFF, ESRI Shapefile, Geospatial databases, are well documented and supported on the
internet. There are tutorials, specifications and plenty of documentation and support for each format.
Each format is also industry standard, and in use across many commercial, governmental and military applications. Each format
is well defined, actively supported, and updated as necessary by the different format owners (groups).
The server layer sits on top of the data, and is responds to information requests similarly to a webpage server. GIS servers
follow standards set forth by the OGC, thus allowing different systems to interact and share information seamlessly.
Two of the most used OGC services are Web Map Service (WMS) and Web Feature Service (WFS). WMS produces maps of
spatially referenced data dynamically from geographic information. The maps are returned to the presentation layer typically in
the format of a PNG or GIF which also allows for transparency between layers, as we mentioned with the topography map.
These returned images or properly geospatially enabled i.e. proper lat/longs in the corners, thus effectively representing the
information in the information layer. WFS is a vector service that returns information behind a map. This includes latitudes,
longitudes, altitudes, and any information that might be behind the map in the information layers. This allows for spatial
analyzing of the returned map, as well as more actual information to come through.
An example of an effective mashup would be a voting district map. The WFS call could return the layer boundaries, as well as
information on each county such as: size, population, voting habits. A WMS call could then lay a 50% transparent traffic map
onto the previous information, allowing the map viewer to get a much better; and easier idea of where the counties are. Most
people do not navigate by county lines, and instead use roads, this combination of information will lead to more effective use of
the geospatial information.
Different servers sometimes come with other served non standard formats; going above and beyond to maintain inter
operability. GeoServer has an option to view all of its layers in PDF, GeoRSS and KML. The PDF request allows a map to be
requested, with a return of an industry standard PDF file that can be saved, sent through email, or used on any machine that has
a PDF reader. GeoRSS is a type of geospatially enabled RSS feed, and is used to show up to date information in mashups. A
prime example is current real estate listings in a city map. Finally, KML, the keyhole markup language is Google’s proprietary
XML format for their Google Earth product. KML is being considered by the OGC at the time of printing to be a GIS standard.
The final layer is the presentation layer. This encompasses the final viewing of the map, either in a thick client, or thin client
format.
OpenLayers is an open source map viewer that respects OGC standards. It is a JavaScript library that can be embedded in any
web page; this will create a map object which is a pane in the website. Using the code APIs, the user can specify where to get
layers, how to display them, which zoom level and bounding boxes to pick, and be able to pan and zoom around the map.
OpenLayers also supports some nice features such as visible layer selection, marker addition, and point/line/polygon drawing on
maps.
OpenLayers allows GIS information to be absorbed by any web browser, and thus allows GIS information to be highly
prevalent and available. With the advent of laptops, municipal wireless, satellite internet, Blackberry, iPhone etc. many more
people have the ability to view graphic intensive websites, anywhere at anytime, for low cost. Essentially, if you can get on the
internet, you can view GIS information.
A thick client open source view is uDig. This is written in Java, and meant to run on a user’s desktop computer. It allows
viewing, editing, and accessing of different information layers from any available server.
As an added note, GeoServer’s OGC compliance allows seamless integration with powerful tools such as Google Earth and
NASA’s World Wind. Neither tool is open source, however their use is free. The WMS, KML and GeoRSS outputs allow
integration, and the user to benefit from the imagery and topography that is included with these tools for no cost.
In conclusion, open source GIS offers powerful functionality out of the box. Many GIS users’ needs can be met with these
tools, without additional functionality that may be too expensive or cumbersome. A combination of freely available tools, can
lead to interoperability, flexibility, lowcost, with high value.
References:
“PostGIS: Home.” 02 Feb 2008. Refractions Research Inc. 9 Mar 2008
.
"Proprietary software." Wikipedia, The Free Encyclopedia. 13 Mar 2008,
13:31 UTC. Wikimedia Foundation, Inc. 14 Mar 2008
.
“The Purdue OWL.” 26 Aug 2008. The Writing Lab and OWL at Purdue and Purdue
University. 23 April 2008 .
“The State of Open Source GIS.” 15 Sep 2007. Refractions Research Inc. 8 Mar
2008 .
“Web Feature Service.” 13 Mar 2008. Open Geospatial Consortium Inc. 13 Mar 2008
.
“Web Map Service.” 13 Mar 2008. Open Geospatial Consortium Inc. 13 Mar 2008
.