Content uploaded by Eric P. Chassignet
Author content
All content in this area was uploaded by Eric P. Chassignet on Apr 05, 2021
Content may be subject to copyright.
An open source Java web application to build self-contained web GIS
sites
Olmo Zavala-Romero
a
,
*
, Arsalan Ahmed
b
, Eric P. Chassignet
c
, Jorge Zavala-Hidalgo
d
,
Agustin Fern
andez Eguiarte
d
, Anke Meyer-Baese
a
a
Department of Scientific Computing, Florida State University, Tallahassee, FL, USA
b
Department of Computer Science, Florida State University, Tallahassee, FL, USA
c
Center for Ocean-Atmospheric Prediction Studies, Florida State University, Tallahassee, FL, USA
d
Centro de Ciencias de la Atm
osfera, Universidad Nacional Aut
onoma de M
exico, Mexico City, Mexico
article info
Article history:
Received 6 March 2014
Received in revised form
14 August 2014
Accepted 29 August 2014
Available online
Keywords:
Web GIS
Open geospatial consortium
OpenLayers
GeoServer
ncWMS
GIS
NetCDF
abstract
This work describes OWGIS, an open source Java web application that creates Web GIS sites by auto-
matically writing HTML and JavaScript code. OWGIS is configured by XML files that define which layers
(geographic datasets) will be displayed on the websites. This project uses several Open Geospatial
Consortium standards to request data from typical map servers, such as GeoServer, and is also able to
request data from ncWMS servers. The latter allows for the displaying of4D data stored using the NetCDF
file format (widely used for storing environmental model datasets). Some of the features available on the
sites built with OWGIS are: multiple languages, animations, vertical profiles and vertical transects, color
palettes, color ranges, and the ability to download data. OWGIS main users are scientists, such as
oceanographers or climate scientists, who store their data in NetCDF files and want to analyze, visualize,
share, or compare their data using a website.
©2014 Elsevier Ltd. All rights reserved.
Software availability
OWGIS is free and it can be downloaded as a Web application
Archive (WAR file) from http://owgis.org/. This WAR file contains
the stable version of OWGIS and can be deployed in any servlet
container, like Apache Tomcat. The source code of OWGIS is
maintained at GitHub and it can be downloaded by enthusiastic
users and developers from https://github.com/olmozavala/OWGIS.
git.
1. Introduction
Over the last decades the amount of geospatial data has grown
rapidly as a result of the number of satellites and the use of Global
Positioning Systems (GPS). To assist in the analysis and visualiza-
tion of all this data, several geographic information systems (GISs)
and Web GIS sites have been developed (Steiniger and Hunter,
2012). Some of the Web GIS sites share common functionalities,
such as access to raw data or the ability to overlap different layers
(Kulawiak et al., 2010; Karnatak et al., 2012; Nair and Katiyar, 2011).
Web GIS sites that display environmental data, like the Pacific
Islands Ocean Observing System (Voyager) or the Web GIS sites
developed by the European Environment Agency, have an even
larger set of common features, such as the ability to identify layer
data at any coordinate, and the capability to plot data in real time.
However, there is not, to the best of our knowledge, any open
source program that automatically generates Web GIS sites with a
minimum set of features that allow efficient publication of 4D
geospatial data.
A common procedure for publishing georeferenced data on a
Web GIS site includes the following steps. First, generate the data to
be published. Then, upload the data into a map server such as
MapServer (Kropla, 2005), GeoServer (Deoliveira, 2008), ArcMap
Server, ncWMS (Blower et al., 2013), etc. Finally, with a group of
programmers and web designers, build the web interface (the Web
GIS site) to display the data for the user. This interface provides
several ways to visualize and serve data, and, even when most Web
GIS sites do not have direct access to the data, they normally obtain
*Corresponding author.
E-mail addresses: olmozavala@gmail.com,osz09@fsu.edu (O. Zavala-Romero),
aahmed@coaps.fsu.edu (A. Ahmed), echassignet@coaps.fsu.edu (E.P. Chassignet),
jzavala@atmosfera.unam.mx (J. Zavala-Hidalgo), agustin@unam.mx (A. Fern
andez
Eguiarte).
Contents lists available at ScienceDirect
Environmental Modelling & Software
journal homepage: www.elsevier.com/locate/envsoft
http://dx.doi.org/10.1016/j.envsoft.2014.08.029
1364-8152/©2014 Elsevier Ltd. All rights reserved.
Environmental Modelling & Software 62 (2014) 210e220
the data through map severs. The software described in this paper
greatly simplifies the final step, building Web GIS sites, thus
reducing the time and costs for publishing geospatial data on the
web.
Free and Open Source Software (FOSS) that helps building Web
GIS sites already exists. Fig. 1, adapted from Steiniger and Hunter
(2013), shows the FOSS GIS software that is available to aid pub-
lishing geographic data on the web at any of the previously dis-
cussed steps. The software in the Desktop GIS category are programs
that run on personal computers and are able to display, query,
update, and analyze geographic data. Quantum GIS (Shekhar and
Xiong, 2007) and GRASS (Neteler et al., 2012) are two of the most
mature FOSS desktop GIS programs. These two programs can
accomplish a multitude of tasks and have been used to prepare and
analyze environmental data for several projects (Gkatzoflias et al.,
2013; Grinand et al., 2013).
The Web Map Servers category accommodates software that
provides several options to access and visualize georeferenced data
through standards of the Open Geospatial Consortium (Web
Mapping Services (WMS) (de la Beaujardiere, 2006), Web Feature
Services (WFS) (Vretanos, 2005), and Web Coverage Services (WCS)
(Baumann, 2010)). The two best-known web map servers are
MapServer and GeoServer, both of them offer vector and raster
support and have comparable functionality to similar proprietary
software (Steiniger and Hunter, 2013).
Another web map server, that is worth mentioning for the
environmental modeling community, is the ncWMS which has the
particular feature of being able to serve 4D data stored as NetCDF
files, a widely used file format for storing environmental model
datasets (Rew and Davis, 1990). The DEFENSE (Tiranti et al., 2014),
and the interactive visualization system by Kulawiak et al. (2010)
are some examples of environmental decision support systems
that use FOSS web map servers.
The Web GIS libraries and the Web Map Development Frameworks
are two categories that encompass GIS software used to build the
final interface to display geographic data as dynamic maps on the
web. The web GIS libraries are application programming interfaces
(API's) for the visualization and manipulation of spatial data that
implement the WMS, WFS, etc. OpenLayers (Hazzard, 2011) is one
of the most extensive libraries in this category, it is implemented in
JavaScript. Finally, the software in the Web Map Development
Frameworks category, contribute with tools for creating advanced
web applications. These frameworks use the web GIS libraries and
contain tools for the management of layers, menus, and themes of
the Web GIS sites. Some well known programs in this category are
Mapbender3 (http://mapbender3.org/), GeoMajas (http://www.
geomajas.org/), MapFish (http://www.mapfish.org/) and Geo-
MOOSE (http://www.geomoose.org/). OWGIS belongs to this last
category as it gives an easy way to develop Web GIS sites through
the configuration of XML files. The main feature that differentiates
OWGIS from the rest of the development frameworks is the set of
tools that OWGIS provides to visualize 4D data through the web.
OWGIS (http://owgis.org/), originally Open Web GIS, is an open
source software that creates self-contained Web GIS sites with
common features used by the scientific community. OWGIS is a Java
web application that generates websites by automatically writing
HTML and JavaScript code. The websites built with OWGIS are
configured by XML files and can accommodate maps with layers
served through any map server, such as GeoServer, that complies
with the WMS standard. OWGIS is also capable of constructing Web
GIS sites that display 3D data served by the THREDDS servers
(Domenico et al., 2006) or the ncWMS servers, using the WMS
extension proposed by Blower et al. (2013).
The current features that OWGIS provides on the generated Web
GIS sites are: multiple languages, animations, mobile interface,
Contextual Query Language (CQL) filtering (http://en.wikipedia.
org/wiki/Contextual_Query_Language), identify features, the abil-
ity to download data as KML, GeoTIFF or shape files, and the ca-
pacity to plot vertical profiles and vertical transects at different
locations. Though some of these features are already available in
many Web GIS sites, regardless of whether or not they display
scientific data or other types of geographic data, OWGIS allows
building and maintaining new sites with all these features by
simply editing XML files.
OWGIS is being developed at the Center for Ocean-Atmospheric
Prediction Studies (COAPS), Florida State University (FSU), in
collaboration with the Universidad Nacional Aut
onoma de M
exico
(UNAM). OWGIS is currently used as the interactive visualization
map of the Digital Climatic Atlas of Mexico (Zavala-Hidalgo et al.,
2010), which has been available since 2009 and provides access
to more than 2000 layers of oceanic climate, climate change sce-
narios, bioclimatic parameters, and socioeconomic indicators,
among other variables. OWGIS is also used by the Deep-C Con-
sortium (http://deep-c.org/) to display oceanographic data from the
Gulf of Mexico.
The paper is organized as follows. Section 2describes the ar-
chitecture of OWGIS and the design principles that it follows when
creating websites. Section 3explains how to configure OWGIS for
new applications. Section 4illustrates the current features provided
by OWGIS. Section 5describes a specific case study where OWGIS is
Fig. 1. Simplified scheme of the free and open source geographic information software
for the web. Adapted from.Steiniger and Hunter (2013).
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220 211
successfully used to display ocean data from the Gulf of Mexico.
Section 6ends with a discussion on the presented software and
outlines some future functionality of OWGIS.
2. Architecture
Like other Java web applications, OWGIS can be contained in a
web archive (WAR) file that can be deployed in any servlet
container, such as Apache Tomcat. Similar to a common web
application, OWGIS creates web content, JavaScript, and HTML;
however with OWGIS, the final websites are self-contained Web
GIS sites. The JavaScript code generated by OWGIS uses OpenLayers
(http://openlayers.org/), an open source library for creating dy-
namic maps. OWGIS also creates custom JavaScript code for
requesting data from servers that comply with the WMS and WFS
standards.
OWGIS-created websites display layers that are served through
map servers. The information about each layer, such as the name of
the layer, is configured using XML files. These files are used to
modify the look and content of the OWGIS sites and are described
in Section 3. OWGIS monitors any changes to these files, made by
the administrators, and is able to update websites without
reloading the web application on the server. This feature is very
useful when the data being displayed on the map is modified often.
Fig. 2 shows a simple diagram of the process used by OWGIS to
generate web content for the user.
When a user makes a new HTML request, OWGIS verifies that
have been no modifications to the XML configuration files. If there
have been any changes, OWGIS parses all the information in the
XML files and rebuilds internal data structures for the sites. Once
the information is stored internally, OWGIS uses it to build the
desired interface, taking into account the specific user request.
The OWGIS source code is divided in four general modules:
model,business,servlets, and tools. The model module stores all
the layers obtained from the XML files as well as the menus in a set
of data structures. The servlets module contains all the servlets,
which are in charge of receiving new requests from the user and
redirecting each request to the proper method in the business
module. The servlets module also sends customized JavaScript code
to the user. The business module is in charge of reading the current
user's configuration and the data of the model module to build the
proper JavaScript code for the user. The tools module contains a
number of static functions used to create web content.
2.1. Design principles
There are infinite ways to build Web GIS sites and OWGIS can
not create all of them. The websites that are created by OWGIS
follow a set of design principles that we believe can be applied in
a large number of circumstances. These design principles were
defined by analyzing a few of the currently available Web GIS
sites.
Sites that display scientific data have, in many cases, a large set
of layers that can be overlayed all at the same time. Having many
layers available at the same time makes it difficult, for a normal
user, to find the specific data to visualize. Moreover, there are
several Web GIS sites where the majority of the data are raster
(pixel based) layers, which occlude themselves when super-
imposed with each other, and overlaying raster layers makes a map
incomprehensible.
With this in mind OWGIS separates layers into three different
categories:
Background. Layers in this category are used as the spatial
reference of the map and normally cover the whole domain. This
category is designed to have just a few layers that are visible
bellow layers in other categories. The Blue Marble dataset (Stckli
et al., 2005) is widely used as a background layer on scientific
Web GIS sites.
Main. This category should contain the majority of the data
being displayed by OWGIS sites. There can be thousands of main
layers on each OWGIS site. Main layers are hierarchically orga-
nized and can be grouped easily. Layers in the main category are
displayed one at the time and are positioned above background
layers and below optional layers. This category is expected to
contain raster data but is not restricted to do so.
Optional. Layers in this category can be overlayed with any
other optional layer and are located above the main layers. This
category is designed to contain just a couple of tens of layers, to
avoid overwhelming the user, but there is no limit on the total
number of optional layers. Optional layers are hierarchically
organized and, even though they are not restricted to do so,
optional layers are designed to accommodate vector data.
One last design principle that OWGIS sites follow is to show only
the most important features to the user, rather than all the features
available. More advanced tools, like the manipulation of the color
ranges, color palettes, and the CQL filtering are encapsulated in
submenus that an experienced user can access within the main site.
Section 4describes the features available on OWGIS sites.
In summary, the design principles that OWGIS follows when
creating WebGIS sites are: the layers displayed on the maps are
grouped into three categories: background layers, main layers, and
optional layers; the main layers can only be visualized one at the
time; the 4D layers retrieved from ncWMS servers have to be
configured as main layers; the available features are divided by
categories that can be accessed through the main web site but are
not displayed in the default view of the maps.
Fig. 2. Simplified scheme of OWGIS sites generation from XML files.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220212
3. Configuration
OWGIS sites are configured by two types of files: Java properties
file and XML files. There is only one Java properties file for each
OWGIS site and it is used to define general display options of the
Web GIS interface, such as setting the default center of the map. The
Java properties file is normally modified just once for each OWGIS
site. The XML files are used to configure the layers that will be
displayed on the map as well as the texts of the menus to be used in
the interface. XML files are expected to be constantly modified to
add new data into the OWGIS sites.
3.1. Configuration files
Java properties files contain a set of parameters which are
simply defined using the syntax var ¼value.Table 1 shows the
options that are configured by OWGIS using this file. For every
modification in the Java properties file it is necessary to reload the
OWGIS site on the web server. The variables in Table 1 are used to
define the initial view of the map and should be configured once for
each Web GIS site.
The XML files are mainly divided into four element tags: Menus,
BackgroundLayers,MainLayers, and OptionalLayers. The purpose
of the Menus tag is to allow the creation of independent menus to
which multiple layers can point to. For example, layers that hold
temperature data from the month of January for different years can
all point to the same menu January. Each menu is defined using the
Menu tag which has two required attributes: ID, to identify the
menu, and EN, to specify the menu text in English. OWGIS allows
additional menu languages by using two character attributes, such
as ES for Spanish. OWGIS compares the browser language with the
two character strings defined on the menu tag and selects the text
that is displayed on the Web GIS site.
As mentioned in Section 2, layers are grouped in three cate-
gories: background, main and optional. The BackgroundLayers,
MainLayers and OptionalLayers XML elements relate directly to
this division. There are many configurable attributes for each layer
type but for most Web GIS sites, the default values will generate the
expected behavior. Nevertheless, each layer type requires some
attributes to be specified. For BackgroundLayers the required at-
tributes are: server, which contains the URL of the WMS server that
stores the layer, and name, which denotes the name of the layer on
the server. MainLayers have server and name as required attributes
plus EN, which defines the title of the main layer in English and
MenuIds, which is a set of menu ids separated by colons that define
the menu hierarchy of the layer. The title of the main layers can be
defined for other languages but only English is mandatory. Another
attribute for MainLayers that is not required but is worth
mentioning is ncWMS, this attribute needs to be set to true if a layer
is been retrieved from a ncWMS server, otherwise the layer may
still be displayed on the map but the 4D tools provided by OWGIS
will not be available. OptionalLayers have server,name and
MenuIds as required attributes. The complete set of attributes that
can be configured with BackgroundLayers,MainLayers and
OptionalLayers element tags are described in detail at the website
http://owgis.org/.
The code in Listing 1 is an example of an XML configuration file
with three layers: the BlueMarble as a background layer, the
average precipitation of the month of January for the U.S. in 2004 as
a main layer, and the U.S. States boundary as an optional layer.
Fig. 3 shows the self contained Web GIS site built by OWGIS
using the example XML file shown in Listing 1. OWGIS creates a
black window that contains the optional layers and a transparent
window with drop-down menus for the main layers. The example
in Fig. 3 also shows a set of features built by OWGIS (Google Earth,
Transparency, Download Data, and Help). Section 4describes all the
features that can be generated by OWGIS.
If the user wants to add new layers into the Web GIS site, it is
necessary to modify the XML file by adding new menus and new
layers. The configuration made through the XML files can be
divided into multiple files or it can be automatically created using a
scripting language. Using scripting languages it is possible to build
Web GIS sites with hundreds of layers quickly. OWGIS will monitor
any change in the XML files and update the generated Web GIS site
automatically.
3.2. Languages
The texts used for the menus can be modified for different
languages as described in the previous Section, but the Web GIS
sites built by OWGIS contain many more texts, for example texts on
buttons, headers, help texts, etc. These texts can also be modified
for different languages using the standard internationalization
approach for JSP/Servlets web applications. This approach uses a
resource bundle (properties file) for each language. The resource
bundles in OWGIS are stored in the messages package. Current
version 1.0.0 contains the English and Spanish resource bundle. To
add another language, it is necessary to create a new bundle, which
can be done easily by copying one of the available bundles,
Table 1
Software parameters.
Variable Description
basepath Indicates the name of the website. Its default value is
OWGISTemplate.
tilesOrigin The location that OpenLayers uses to generate tiles. Default
value is [180, 90] which will work for most cases.
numZoomLevels Defines the number of levels available on the sites. Level
0 corresponds to maxResolution, and numZoomLevels
corresponds to minResolution.
zoom Initial zoom level to use on the website. Ranges from 0 to
numZoomLevels, and the default value is 4.
mapcenter Defines the initial center of the map. Its default value is
“lat ¼0, lon ¼0.”
maxResolution Defines the maximum resolution of the map. Larger
numbers allow the map to be seen from farther away.
minResolution Sets the minimum resolution of the map. Smaller numbers
allow closer views of the map.
restrictedExtent Restricts the domain where the user can move on the map.
The default value is [180, 90, 180, 90] (no restriction).
defaultLanguage Defines the default language to be used on the website. The
default language is EN.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220 213
translating each text inside it to the desired language, and saving it
with the rest of the bundles. Because this software is open source,
any new translation made by an individual can be shared with the
rest of the world, expanding in this way the available languages of
OWGIS.
4. Features
The features available through OWGIS depend on the type of
layer. In this case, the division of layers is different from the cate-
gories explained in Section 2. Here, the types of layers are divided
into: vector layers, raster layers from GeoTIFF files (GeoTIFF layers),
and raster layers served through ncWMS servers (ncWMS layers).
This division is necessary because each type of layer has its own
characteristics. For example, it is not possible to create vertical
profiles from vector layers only from ncWMS layers. Vector layers
and GeoTIFF layers can be used in any of the categories explained in
Section 2, but ncWMS layers can only be used as main layers. This
restriction is to avoid overwhelming the users with too many
options.
The features that are available independently of the layer type
are: mobile interface,multiple languages,identify features,download
as KML, and transparency. The mobile interface is a specifically
designed interface that displays on Web GIS sites when they are
accessed by a mobile phone or Tablet. Fig. 4 shows the mobile
interface when is visualized through an iPad 2 tablet in portrait
mode.
The mobile interface displays the menu options in a separate
page, allowing a better visualization of the menus and, at the same
time, giving more space to visualize the maps. This interface is not a
mobile app, it is a web interface that has been designed for mobile
devices and can be accessed through any mobile browser. The mo-
bile interface allows accessing the Web GIS sites from any mobile
device, independently of the platform, but it does not take advan-
tage of native input controls that each mobile platform provides.
The identify features tool uses the WMS and the WFS standards
to request data at specific locations in the map. OWGIS uses AJAX to
identify layer features asynchronously, allowing multiple requests
to run simultaneously without having to queue each request. Fig. 5
shows an example of the identify features capability used on a map
with three visible layers: topography, average precipitation for the
month of January, and state boundaries for the United States.
OWGIS builds the proper requests to generate KML files from
map servers such as GeoServer or ncWMS. This feature, download
Fig. 3. Example interface built by OWGIS with three layers: the Blue Marble as a background image, precipitation data as a main layer and states boundaries as an optional layer.
Fig. 4. Example of the user interface generated by OWGIS for mobile devices.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220214
data as KML, allows visualizing layers in clients that display KML
data, such as Google Earth. People have being using this feature to
compare data from OWGIS's servers with different data available in
the KML clients. Fig. 6 shows sea surface temperature of the Gulf of
Mexico displayed using Google Earth.
The transparency feature allows users to change the opacity of
any main layer or optional layer. Being able to modify the opacity of
the layers has become a core functionality in many Web GIS sites
and is used for comparison between layers, mainly when the layers
contain raster data.
The CQL filter feature is exclusivelyavailable for vectorlayers and
allows, as the name implies, filtering vector data using CQL. The
scientific community uses this feature regularly to analyze data by
filtering vector data. CQL filters modify data being displayed by the
main layer and update the KML and download data URL requests by
applying the filter into the requests. Fig. 7 shows an example of the
generated interface for filtering vector data using CQL.
Some features are only available for ncWMS layers. Those fea-
tures are animations, vertical profile, vertical transect, time series,
color palettes, and depth selection. Animations and time series are
available for temporal data. These two features are very important
for scientists, especially oceanographers and climate scientists,
because these features allow them to visualize and analyze changes
in data across time. Version 1.0.0 of OWGIS can generate animations
where the smallest time step is one day; future versions will be able
to generate animations using smaller time steps. OWGIS is capable
of requesting animations with three different resolutions
128 128, 256 256, and 512 512 pixels.
Depth selection is available for ncWMS layers that contain a z-
axis coordinate, normally depth, but the z-axis can refer to a
different variable, such as height or pressure. OWGIS builds a nicely
paginated window where users can select from the available z-axis
values. The depth selection feature is one of the tools that OWGIS
provides for visualizing 3D data. Fig. 8 shows an example of the
interface built by OWGIS that shows sea temperature from the Gulf
of Mexico at different depths.
Vertical profiles and vertical transects are also available for
ncWMS layers with z-axis information. Vertical profiles and vertical
transects can be requested at any location on the map and are
obtained in real time by the ncWMS servers. These two features are
also very important for the scientific community and used regu-
larly. An example of a vertical transect of Gulf of Mexico tempera-
ture's is shown in Fig. 9.
Color palettes is another feature available for ncWMS layers.
OWGIS queries ncWMS servers, asking for available color palettes,
and generates the proper web interface that allows the user to
switch between these palettes. Fig. 10 shows an example of the web
interface generated by OWGIS to select color palettes.
The features presented in this Section are currently available for
version 1.0.0 of OWGIS, and it is worth mentioning that these fea-
tures have yet to be tested when layers are stored in different map
servers. The CQL filter feature has only been tested with GeoServer,
and the color palette, vertical profile, vertical transect, and time
series features are only feasible for layers served by ncWMS servers.
5. Environmental modeling case study
This Section describes a successful example where OWGIS was
used to build a self-contained Web GIS site that displays environ-
mental data from an operational ocean model system. The Web GIS
site, available at http://viewer.coaps.fsu.edu/DeepCProject/
mapviewer, was built for the Deep-C Consortium at the Center for
Ocean-Atmospheric Prediction Studies (COAPS), Florida State Uni-
versity (FSU). The Deep-C Consortium is a long-term, interdisci-
plinary study of deep sea to coast connectivity in the northeastern
Gulf of Mexico. The Consortium is investigating the environmental
consequences of petroleum hydrocarbon release in the deep Gulf
on living marine resources and ecosystem health. Deep-C examines
the geomorphologic, hydrologic, and biogeochemical settings that
influence the distribution and fate of the oil and dispersants
released during the Deepwater Horizon (DwH) accident, and use
the resulting data for model studies that support improved re-
sponses to possible future incidents. More than 100 scientists and
students at 10 academic and research institutions in the United
States and Norway are participating in Deep-C.
This case study, referred to as the Deep-C MapViewer, displays
temperature, salinity, sea surface elevation, and ocean currents for
the Gulf of Mexico. The oceanographic variables are generated
daily, using outputs from the HYbrid Coordinate Ocean Model
(HYCOM) ocean prediction system (Chassignet et al., 2009). The end
Fig. 5. Data obtained with OWGIS by the identify features capability for three layers: topography, average precipitation for the month of January, and states boundaries for the U.S.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220 215
product is a Web GIS site that shows daily data of four oceano-
graphic variables from 2010 to the time of access and forecasts for
the next 15 days. This project has been available since January 2013.
The main benefit that OWGIS provides to this project is the
ability to display 4D data generated by the HYCOM model and
served through an ncWMS server. Most environmental models,
such as the Weather Research and Forecasting (WRF) Model and
the WAVEWATCH III wave model, use the NetCDF output format
and could benefit from OWGIS following the same architecture as
this project. A wide variety of variables, such as wind, sea ice,
Fig. 6. Example of the download as KML feature of OWGIS. Sea surface temperature of the Gulf of Mexico visualized using Google Earth.
Fig. 7. CQL filtering example. In this example, the layer that displays the state boundaries for the U.S. is filtered to show only those states whose initials are ‘CA’or ‘TX’.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220216
relative humidity, surface temperature, etc., could also be displayed
by OWGIS.
The architecture used on the Deep-C MapViewer project has
four modules: a configuration of HYCOM as an operational sys-
tem; an instance of the ncWMS server to provide WMSs of the
environmental model; an instance of GeoServer to provide 2D
geospatial layers through the WMS and WFS standards; and an
instance of OWGIS to generate a self-contained Web GIS user
interface. These four modules interact with each other as shown
in Fig. 11.
Whichever environmental model the project uses, the archi-
tecture shown in Fig. 11 can be applied. If the environmental data is
already available through an ncWMS server or other WMS
compliant map server, the only module that is required to build a
Web GIS site is the OWGIS module. The rest of the Section explains
in detail how each of these four modules where implemented for
the Deep-C MapViewer project.
5.1. Environmental model (HYCOM)
A detailed description of the HYCOM ocean prediction system is
available at http://hycom.org/dataserver/goml0pt04/expt-31pt0.
The HYCOM configuration used for the Deep-C MapViewer has a 1/
25
equatorial resolution, a latitudinal resolution of 1/25
cos(lat),
and 20 coordinate surfaces in the vertical. This system uses the
Navy Coupled Ocean Data Assimilation (NCODA) system
(Cummings, 2005) to assimilate ocean variables obtained through
satellites and in-situ measurements. The system runs at the Naval
Oceanographic Office (NAVOCEANO) Major Shared Resource Cen-
ter, and the output of each run is saved to CF-compliant NetCDF.
Fig. 8. Multiple depth selection example. Paginated window displays different elevations available for layers served by ncWMS servers.
Fig. 9. Vertical transects obtained through the OWGIS software using temperature data for the Gulf of Mexico.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220 217
5.2. ncWMS
The ncWMS (Blower et al., 2013) is a web application used to
visualize multidimensional environmental data stored as NetCDF
files. ncWMS can be easily deployed in an application server such as
WebSphere, JBoss, Jetty, or, as in this project, Apache Tomcat.
ncWMS is configured through a web interface where the admin-
istrator defines each of the datasets being published. For The Deep-
C MapViewer, ncWMS is used to serve the output of HYCOM with
five datasets configured, one for every year from 2010 to 2014. Each
dataset points to a folder where NetCDF files with all the
oceanographic variables generated by HYCOM are stored. The only
folder that is being refreshed daily is 2014.
5.3. GeoServer
GeoServer (Deoliveira, 2008) is an open source web application
that is used to view and edit geospatial data using standards from
the Open Geospatial Consortium (OGC). GeoServer is a more
mature server than ncWMS, it has better documentation, the users
can easily modify the output format of the web feature service
(used by the identify feature), and it provides additional features for
vector layers, like CQL filtering or been able to request data in JSON
format. For those reasons we believe it is better suited for serving
geospatial data that is not stored as NetCDF files. For the Deep-C
MapViewer project, GeoServer is configured to serve the Blue
Marble dataset (the background layer) and several vector layers,
such as the state boundaries of the U.S. and the bathymetry con-
tours of the Gulf of Mexico. There is extensive documentation on
the GeoServer website (http://geoserver.org/) on how to configure
vector and raster layers on the server.
5.4. OWGIS
OWGIS is used to build the interface with the user. Once all the
data is available through the map servers, OWGIS provides an easy
way to build Web GIS sites to visualize, analyze and share that data.
In this case study, OWGIS is configured with the Blue Marble layer
as a background, 20 main layers that store each of the four
oceanographic variables for each year from 2010 to 2014, and two
optional layers that display U.S. state boundaries and bathymetry
contours of the Gulf of Mexico.
The Java properties 3.1 is configured with DeepCProject as the
basepath and lon ¼87.81606, lat ¼28.45786 as the center of the
map. The rest of the parameters retain their default values from the
OWGIS template. For the Deep-C MapViewer project, four XML files
define the menu titles, background layers, main layers and optional
layers. As an example, the XML code on listing 2 shows how to
Fig. 10. Example of the windows generated by OWGIS that allow users to select color palettes and to modify color ranges.
Fig. 11. Architecture used to build the Deep-C MapViewer. Its four modules are: an
instance of GeoServer and ncWMS servers; HYCOM model as an operational ocean
model; and OWGIS to generate the web interface for the user.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220218
configure all the oceanographic variables for the year 2013 as main
layers in OWGIS.
By creating these two simple configuration files, OWGIS builds
a Web GIS site with all the required functionality to visualize
the oceanographic variables: color palettes, depth selection,
animations, multiple language menus, etc. Fig. 12 shows the
interface of the Deep-C MapViewer project when ocean velocity for
the 14th of January, 2014 is selected.
The amount of data displayed on the Deep-C MapViewer website
is growing rapidly thanks to the ease of configuration of OWGIS.
6. Discussion and conclusion
OWGIS is the first open source software that can build Web GIS
sites that display 2D, 3D, and 4D data served from distinct map
servers that can be located anywhere. The main features OWGIS
provides in the interfaces it builds are: multiple languages; ani-
mations; vertical profiles and vertical transects; color palettes; and
the ability to download data. All these features are created auto-
matically depending on the type of data and without any additional
web programming.
In the introduction, OWGIS was placed inside the vast family of
open source programs where OWGIS's tools for visualizing 4D data
stand out. Within the commercial GIS software, where esri is the
international leading enterprise, the overview is similar. Some ex-
amples of environmental Web GIS sites created with esri's system
ArcGIS are: PRAGIS (McCool, 2014), Virtual Fire (Kalabokidis et al.,
2013), and River run (Halls, 2003). ArcGIS online (http://arcgis.
com/) is the key component of the ArcGIS system that provides
similar features than OWGIS to build Web GIS sites. ArcGIS online
has a web interface that allows the user to choose from different
base maps, and it has a searching tool where the users can find
content that has been made public by the community. It also has
the capability of displaying 4D layers on the maps it creates, as well
as the option to download layers in GIS format or as KML files.
OWGIS lacks an administration interface as well as a searching
engine for geographical data on the web. Nevertheless, OWIGS
Fig. 12. Ocean currents of the Gulf of Mexico displayed from the Deep-C MapViewer for the 14th of January, 2014.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220 219
exceeds ArcGIS online in its features provided to display and style
4D data acquired from ncWMS servers. The only ArcGIS online
example, that we know off, that has the ability to retrieve data from
ncWMS servers (http://dtc-sci01.esri.com/MultiDimWMSViewer/)
do not has the possibility to modify color palettes or the color
ranges of layers. This example also lacks the option to crate vertical
profiles, vertical transects, and time series. These extra features,
plus the fact that ArcGIS online license costs thousands of dollars
per year, makes OWGIS a good alternative to build WebGIS in-
terfaces, specially for environmental scientists that store their
geospatial data as NetCDF files.
Configuring new instances of OWGIS is made easy through XML
files. In these files, the layers and texts of the websites are defined,
providing an easy way to add and edit new layers that expand the
content of each project. At the same time it allows sharing content
between institutions and eases the maintenance of the websites.
OWGIS conveniently stores all the texts in separate files to allow
multiple languages on the Web GIS sites, thus increasing the po-
tential number of users who can access the data.
The current version of OWGIS uses Java 7 and OpenLayers 2 to
build maps. This version has been used by scientists who store their
data in NetCDF files, but it has also been used to display other types
of geospatial data. It is used to visualize ocean variables of the Gulf
of Mexico in the Deep-C MapViewer project (http://viewer.coaps.
fsu.edu/DeepCProject/mapviewer); it is used to display forecast
data for the ocean and the atmosphere using the Weather Research
and Forecasting Model (WRF) and the Regional Ocean Modeling
System (ROMS), also in the Gulf of Mexico area, (http://viewer.
coaps.fsu.edu/GoM-FS/mapviewer); is the main component of the
Digital Climatic Atlas of Mexico, which displays more than 300
layers of climate data (http://uniatmos.atmosfera.unam.mx/ACDM/
servmapas); and it has also been used to display public trans-
portation data (http://viajandodf.com) and useful information for
immigrants (http://www.americas.datafest.net).
The current development of OWGIS is focused on incorporating
new web technologies that allow visualizing data faster. OWGIS 2.0
will use OpenLayers 3, taking advantage of WebGL and HTML5 to
build new and faster responsive Web GIS sites, placing emphasis in
the user experience for mobile devices. We hope that OWGIS be-
comes a popular open source software and the standard tool for
building Web GIS sites in scientificfields where netCDF files are the
default file format for storing data.
Acknowledgments
This projectwas made possible in part bya grant from BP/The Gulf
of Mexico Research Initiative to the Deep-C Consortium, and in part
by normal funding through the UNAM. The present work benefited
from the input of Ossian Foley, Meredith Field, and Rosario Romero
who provided valuable comments on the writing of this paper.
References
Baumann, P., 2010. The OGC web coverage processing service (WCPS) standard.
GeoInformatica 14, 447e479. http://dx.doi.org/10.1007/s10707-009-0087-2.
URL: http://link.springer.com/10.1007/s10707-009-0087-2.
de la Beaujardiere, J., 2006. OpenGIS Web Map Server Implementation Specifica-
tion. Open Geospatial Consortium Inc.
Blower, J., Gemmell, A., Griffiths, G., Haines, K., Santokhee, A., Yang, X., 2013. A web
map service implementation for the visualization of multidimensional gridded
environmental data. Environ. Model. Softw. 47, 218e224. URL: http://www.
sciencedirect.com/science/article/pii/S1364815213000947 http://dx.doi.org/10.
1016/j.envsoft.2013.04.002.
Chassignet, E.P., Hurlburt, H.E., Metzger, E.J., Smedstad, O.M., Cummings, J.A.,
Halliwell, G.R., Bleck, R., Baraille, R., Wallcraft, A.J., Lozano, C., 2009. US GODAE:
Global Ocean Prediction with the HYbrid Coordinate Ocean Model (HYCOM).
Technical Report. DTIC Document. URL: http://oai.dtic.mil/oai/oai?
verb¼getRecord&metadataPrefix¼html&identifier¼ADA504037.
Cummings, J.A., 2005. Operational multivariate ocean data assimilation. Q. J. Royal
Meteorol. Soc. 131, 3583e3604. http://dx.doi.org/10.1256/qj.05.105. URL: http://
doi.wiley.com/10.1256/qj.05.105.
Deoliveira, J., 2008. GeoServer: uniting the GeoWeb and spatial data infrastructures.
In: Proceedings of the 10th International Conference for Spatial Data Infra-
structure, St. Augustine, Trinidad. URL: http://www.gsdi.org/gsdiconf/gsdi10/
papers/TS26.4paper.pdf.
Domenico, B., Caron, J., Davis, E., Kambic, R., Nativi, S., 2006. Thematic real-time
environmental distributed data services (thredds): incorporating interactive
analysis tools into nsdl. J. Digit. Inf. 2. URL: http://journals.tdl.org/jodi/index.
php/jodi/article/view/51.
Gkatzoflias, D., Mellios, G., Samaras, Z., 2013. Development of a web GIS application
for emissions inventory spatial allocation based on open source software tools.
Comput. Geosci. 52, 21e33. http://dx.doi.org/10.1016/j.cageo.2012.10.011. URL:
http://linkinghub.elsevier.com/retrieve/pii/S0098300412003512.
Grinand, C., Rakotomalala, F., Gond, V., Vaudry, R., Bernoux, M., Vieilledent, G., 2013.
Estimating deforestationin tropicalhumid anddry forestsin madagascarfrom 2000
to 2010 using multi-date landsatsatellite images and therandom forests classifier.
Remote Sens. Environ.139, 68e80.http://dx.doi.org/10.1016/j.rse.2013.07.008.URL:
http://linkinghub.elsevier.com/retrieve/pii/S0034425713002204.
Halls, J., 2003. River run: an interactive GIS and dynamic graphing website for
decision support and exploratory data analysis of water quality parameters of
the lower cape fear river. Environ. Model. Softw. 18, 513e520. http://dx.doi.org/
10.1016/S1364-8152(03)00026-4. URL: http://linkinghub.elsevier.com/retrieve/
pii/S1364815203000264.
Hazzard, E., 2011. OpenLayers 2.10: Create, Optimize, and Deploy Stunning Cross-
browser Web Maps with OpenLayers JavaScript Web-mapping Library _ Be-
ginner's Guide. Packt, Birmingham, UK. URL: http://search.ebscohost.com/login.
aspx?direct¼true&scope¼site&db¼nlebk&db¼nlabk&AN¼365664.
Kalabokidis, K., Athanasis,N., Gagliardi,F., Karayiannis, F.,Palaiologou,P., Parastatidis, S.,
Vasilakos, C., 2013. Virtual fire: a web-based GIS platform for forest fire control.
Ecol. Inform.16,62e69. http://dx.doi.org/10.1016/j.ecoinf.2013.04.007.URL:http://
linkinghub.elsevier.com/retrieve/pii/S1574954113000332.
Karnatak, H.C., Shukla, R., Sharma, V.K., Murthy, Y., Bhanumurthy, V., 2012. Spatial
mashup technology and real time data integration in geo-web application using
open source GIS a case study for disaster management. Geocarto Int. 27,
499e514. http://dx.doi.org/10.1080/10106049.2011.650651. URL: http://www.
tandfonline.com/doi/abs/10.1080/10106049.2011.650651.
Kropla, B., 2005. Beginning MapServer: Open Source GIS Development. Apress.
Kulawiak, M., Prospathopoulos, A., Perivoliotis, L., Åuba, M., Kioroglou, S.,
Stepnowski, A., 2010. Interactive visualization of marine pollution monitoring
and forecasting data via a web-based GIS. Comput. Geosci. 36, 1069e1080.
http://dx.doi.org/10.1016/j.cageo.2010.02.008. URL: http://linkinghub.elsevier.
com/retrieve/pii/S0098300410001603.
McCool, J.P.P., 2014. PRAGIS: a test case for a web-based archaeological GIS.
J. Archaeol. Sci. 41, 133e139. http://dx.doi.org/10.1016/j.jas.2013.07.037. URL:
http://linkinghub.elsevier.com/retrieve/pii/S0305440313002963.
Nair, S.S., Katiyar, S.K., 2011. Web enabled open source GIS based tourist information
system for bhopal city. Int. J. Eng. Sci. Technol. 3, 14571466. URL: http://doaj.org/
doaj?func¼fulltext&aId¼718755.
Neteler, M., Bowman, M.H., Landa, M., Metz, M., 2012. GRASS GIS: a multi-purpose
open source GIS. Environ. Model. Softw. 31, 124e130. http://dx.doi.org/10.1016/
j.envsoft.2011.11.014. URL: http://linkinghub.elsevier.com/retrieve/pii/S136481
5211002775.
Rew, R., Davis, G., 1990. Netcdf: an interface for scientific data access. Comput.
Graph. Appl. IEEE 10.
Shekhar, S., Xiong, H., 2007. Quantum GIS. Springer, New York ; Berlin.
Stckli, R., Vermote, E., Saleous, N., Simmon, R., Herring, D., 2005. The Blue Marble
Next Generation-a True Color Earth Dataset Including Seasonal Dynamics from
MODIS. NASA Earth Observatory. URL: ftp://ftp.cscs.ch/out/stockli/bluemarble/
bmng/bmng.pdf.
Steiniger, S., Hunter, A.J., 2012. Free and open source GIS software for building a
spatial data infrastructure. In: Geospatial Free and Open Source Software in the
21st Century. Springer, p. 247261.
Steiniger, S., Hunter, A.J., 2013. The 2012 free and open source GIS software map a
guide to facilitate research, development, and adoption. Comput. Environ. Ur-
ban Syst. 39, 136e150. http://dx.doi.org/10.1016/j.compenvurbsys.2012.10.003.
URL: http://linkinghub.elsevier.com/retrieve/pii/S0198971512000890.
Tiranti, D., Cremonini, R., Marco, F., Gaeta, A.R., Barbero, S., 2014. The DEFENSE
(debris flows triggEred by storms nowcasting system): an early warning system
for torrential processes by radar storm tracking using a geographic information
system (GIS). Comput. Geosci. 70, 96e109. http://dx.doi.org/10.1016/
j.cageo.2014.05.004. URL: http://linkinghub.elsevier.com/retrieve/pii/S0098300
414001174.
Vretanos, P.A., 2005. OpenGIS Web Feature Server Implementation Specification.
Open Geospatial Consortium Inc.
Zavala-Hidalgo, J., Fernandez-Eguiarte, A., Romero-Centeno, R., Zavala-Romero, O.,
2010. Digital atlas of Mexico provides accessible climate information. Eos, Trans.
Am. Geophys. Union 91, 125e126. URL: http://onlinelibrary.wiley.com/doi/10.
1029/2010EO140001/abstract.
O. Zavala-Romero et al. / Environmental Modelling & Software 62 (2014) 210e220220