This web viewer can be used to call a web processing service to generate heat map layers which are derived from sensor data and display them in a web map. The generated maps can be tweaked by the user using the provided user interface for defining kernel density radius, type of sensor and target dates. The screenshot shows the software's user interface along with some sample output.
Acknowledgement: The JavaScript libraries and map data used for the user interface are jQuery, OpenLayers 3 and OpenStreetMap.
This software is designed to be run as a Tomcat webapp. To install, simply clone
this repository in the Tomcat webapp directory and restart Tomcat. The
application should then be available under localhost/sensorWebApp
.
The map overlay is generated by a local GeoServer instance with the WPS (Web Processing Service) extension installed. For further information, see the Tomcat 7, GeoServer and WPS installation guides.
Because of the many available versions of the used software products, not all combinations can be guaranteed to work. Setups in which this software was tested successfully are
Tomcat 7
andJRE 1.8.0_91
, running onUbuntu 15.10
withGeoServer 2.8.3
Tomcat 8
andJRE 1.8.0_92
, running onWindows Server 2012R2
withGeoServer 2.9.0
In all cases the data was stored in a PostgreSQL 9.3
database with a PostGIS 2.1
extension.
The credentials for the database have to be stored in Tomcat's
conf/dbConfig.xml
in the following form
<?xml version="1.0" encoding="UTF-8"?>
<config>
<jdbc>
<driver>org.postgresql.Driver</driver>
<url>jdbc:postgresql://myHost.com:5432/dbName</url>
<username>myUsername</username>
<password>myPassword</password>
</jdbc>
</config>
To create heat map layers, the database table has to be published on GeoServer
first. After that, a style has to be defined in form of an SLD (Style Layer Descriptor) document, which is then applied to the
layer. The file ./sampledata/sampleStyle.sld
is a template SLD for use in this application. To use it,
the element <ogc:Literal>heartrate_int<ogc:Literal>
has to be changed to the
respective table column name from the data to be represented.
The data from which the heat maps are derived has to be point data of the
PostGIS
datatype geometry
and feature a timestamp
. Also, at least one weighting factor represented
by a numeric data type has to be present. In this case, these are sensor data.
The file sampledata/sampleDBtable.sql
contains the SQL query for creating a
minimal example for a table with 100 randomly generated data points that can be
used for testing this software.