Hello all,
I created a custom coverage store for forecasted METOC data and use the TIME and ELEVATION dimensions pretty heavily. The problem I have is that not all of the data has elevation in meters. Some data has elevation in mbar, C, etc. The units and unitSymbol in the WMS (1.3.0) capabilities document is hard coded to meters in DimensionHelper.java. I am planning on imlemeting a solution to this and submitting a patch but, since it touches various component, I thought I’d run it by the GeoServer developers first.
To be a complete capability it requires adding functionality to the admin web UI, the REST interface, and capabilities document(s) transformer. Since the WMS Specification requires the units for TIME be ISO8601 without a unitSymbol I plan on only adding these fields to the ELEVATION web UI.
The units/unitSymbol will need to be stored in the DimensionInfoImpl class so it can be retrieved the capabilities transformer. Adding these attributes to the capabilities document is relatively simple.
<Dimension name="elevation" default="2.0" units="unit_name" unitSymbol="unit_symbol">2.0,4.0,6.0</Dimension>
As far as adding the functionality to the REST interface it would look like this:
<metadata>
<entry key="elevation">
<dimensionInfo>
<enabled>true</enabled>
<attribute>elev_attribute</attribute>
<presentation>LIST</presentation>
<units>unit_name</units>
<unitSymbol>unit_symbol</unitSymbol>
</dimensionInfo
</entry>
</metadata>
The examples in the documentation of adding a coverage via the REST API do not include the TIME/ELEVATION dimensions so I was panning on adding this including the units/unitSymbol.
I have already read Annex C of the WMS 1.3.0 Specification about handling multi-dimensional data. I will also take into account WMS 1.1.1. Are there any potential pitfalls to adding this unit support?
What is the best process for submitting a patch? Create a ticket now and attach the patch when I’m done or wait to create the ticket until the patch is finished? The reason I ask is because I am under the impression that JIRA tickets with patches (and unit tests) attached have a higher priority. As far as I can tell there is no way to check the “patch/unit test attached” check box after the ticket is created. Also is the preferred method of patching to use github and fork/pull request or attach an svn diff to the JIRA ticket.
Thanks in advance,
Michael Romero
Forward Slope Inc.