Notes from Edinburgh workshop, 20th November 2006
Web server is Apache, dynamic content served by Tomcat. Just use Tomcat on its own for development.
Rob Pedley uses Struts - helpful for session persistence and handling forms (repopulates forms).
Spatial location of data is really an attribute of the geomag data (doesn't change). Are there any standards for general timeseries data?
Software engineering practices: Subversion, Maven, JUnit
Project tracking: Trac - does bug reporting, progress checking: a lightweight web-based project management solution. Integrates with Subversion.
System Architecture
GeoMagServlet
GetCapabilities
Returns list of observatories with their unique codes (NAME), lat, long, elevation, human-readable name (TITLE) and possibly address, contact details
http://myserver/GeoMag?REQUEST=GetCapabilities&FORMAT=XML&LEVEL_OF_DETAIL=??? (maybe HTML also)
(LEVEL_OF_DETAIL: need to define possible levels of detail)
Capabilities document for an OGC Web Map Service:
http://lovejoy.nerc-essc.ac.uk:8080/ncWMS/WMS.py?SERVICE=WMS&REQUEST=GetCapabilities
Schema document for the WMS Capabilities doc:
http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd
DescribeData
Returns metadata for an observatory's data holdings: start time, end time, measurements per day, available publication states
http://myserver/GeoMag?REQUEST=DescribeData&OBSERVATORY_CODE=esk&start_time=???&end_time=???&FORMAT=XML
| Parameter |
Mandatory/Optional? |
Default |
Notes |
| REQUEST |
M |
always DescribeData |
| OBSERVATORY_CODE |
M |
none |
| START_TIME |
O |
data start time |
ISO 8601 format |
| END_TIME |
O |
data end time |
ISO 8601 format |
| INCLUDE_DAY_COUNT |
O |
false |
| FORMAT |
O |
XML |
GetData
| Parameter |
Mandatory/Optional? |
Default |
Notes |
| REQUEST |
M |
always GetData |
| OBSERVATORY_CODE |
M |
none |
| START_TIME |
O |
data start time |
ISO 8601 format |
| END_TIME |
O |
data end time |
ISO 8601 format |
| FORMAT |
O |
XML |
XML, PNG, EXCEL, etc |
| PUBLICATION_STATE |
O |
ANY |
ADJUSTED_OR_REPORTED,DEFINITIVE,PROVISIONAL,ADJUSTED,REPORTED,ANY |
| INCLUDE_HEADER |
O |
true |
Can set false to get only data |
Returns the four components of the mag vector for each measurement time, plus optional header information.
Charting
JFreeChart:
http://www.jfree.org/jfreechart/
Example of combined plots:
http://www.java2s.com/Code/Java/Chart/JFreeChartCombinedXYPlotDemo1.htm
OGC Standards
http://www.opengeospatial.org
Sensor Web Enablement Working Group:
http://www.opengeospatial.org/projects/groups/sensorweb
--
JonBlower - 20 Nov 2006