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 tomkralidis, 16 years ago

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?

comment:2 by assefa, 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 tomkralidis, 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 assefa, 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 tomkralidis, 16 years ago

Owner: changed from mapserverbugs to tomkralidis
Status: newassigned

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 tomkralidis, 16 years ago

Resolution: fixed
Status: assignedclosed

Done in r7483. Also added some info on this at http://mapserver.gis.umn.edu/docs/howto/sos_server (section 5.3). Closing.

Note: See TracTickets for help on using tickets.