Opened 16 years ago
Closed 16 years ago
#2413 closed defect (fixed)
output correct procedure when sos_procedure is a list
Reported by: | tomkralidis | Owned by: | tomkralidis |
---|---|---|---|
Priority: | normal | Milestone: | 5.2 release |
Component: | SOS Server | Version: | svn-trunk (development) |
Severity: | normal | Keywords: | sos procedure |
Cc: | assefa, cplist |
Description
When MAP/LAYER/METADATA/sos_procedure is defined and is a list, i.e.:
"sos_procedure" "1 2 3 4"
msSOSGetObservation outputs the entire sos_procedure value foreach om:member, i.e.:
<om:procedure xlink:href="urn:ogc:def:procedure:1 2 3 4"/>
...when it should be outputting the (one) procedure in the list which applies to the given record.
Change History (6)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
Tom,
Is the case described in http://mapserver.gis.umn.edu/docs/howto/sos_server section 5.3 case 3 where both sos_precedures and sos_procedure_item are defined works properly in your test?
comment:3 by , 16 years ago
Assefa: yes, it seems that things work properly when sos_procedure_item is defined (see mapogcsos.c, line 2297-ish).
So, by enforcing this metadata as per comment:1, the functionality is already there. Do we throw an error in msSOSGetObservation _only_, then, if sos_procedure_item is not defined?
Or, do we remove the functionality to support sos_procedure as well, or leave it there as a "best guess" scenario, and output a XML warning comment?
comment:4 by , 16 years ago
Tom,
I am a bit hesitant to remove the sos_procedure support or making sos_procedure_item mandatory. Let's take for example the gomoos sos services:
http://www.gomoos.org/cgi-bin/sos/oostethys_sos.cgi?Request=GetCapabilities http://www.gomoos.org/cgi-bin/sos/oostethys_sos.cgi?Request=GetObservation&offering=N01&observedProperty=sea_surface_wave_significant_height&time=2007-09/2007-10
although they are not defined using mapserver, It seems that if they were to setup their service through mapserver, they would end up defining one layer per sensor (using sos_procedure) and would not define sos_procedure_item (which might or might not be available).
This was also our original thinking at first implementation before we upgraded/added sos_procedure_item.
I am more in favor of throwing an xml warning when sos_procedure_item is not defined *and* sos_procedure is defined as a list of procedures. Not sure if this is a reasonable compromise.
comment:5 by , 16 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Assefa: sounds reasonable. So if sos_procedure_item is not defined *and* sos_procedure *is* defined, I will throw a warning as an XML comment.
Working on this.
comment:6 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Done in r7483. Also added some info on this at http://mapserver.gis.umn.edu/docs/howto/sos_server (section 5.3). Closing.
Assefa: thinking about this more, I wonder if we have to make sos_procedure_item a mandatory directive. That seems to be the only way to map procedure values to each observation.
I propose we make sos_procedure_item (from an O&M perspective, I can't see how one would have a table of observations without any procedure identifiers of some sort. sos_procedure is then an optional directive which gets used for msSOSGetCapabilities and msSOSDescribeSensor, if and only if defined. If it's not defined, then the code uses sos_procedure_item (which, as we know, means processing might be slower, scanning records instead of scanning a list).
Comments?