MapServer / MapServer-import

3 stars 2 forks source link

[Context] support for Web Map Context 1.1? #1581

Open tbonfort opened 12 years ago

tbonfort commented 12 years ago

Reporter: bartvde@osgis.nl Date: 2005/12/19 - 10:27

Are there any plans to incorporate Web Map Context 1.1 support into Mapserver?

http://schemas.opengis.net/context/1.1.0/
tbonfort commented 12 years ago

Author: dmorissette Date: 2005/12/19 - 16:14

No formal plan at our end yet.

If I remember correctly, the changes are minor, one of the main things was the
addition of sld:MinScaleDenominator and sld:MaxScaleDenominator
tbonfort commented 12 years ago

Author: dmorissette Date: 2005/12/19 - 16:16

Oh... and the spec doc is at
https://portal.opengeospatial.org/files/?artifact_id=8618
tbonfort commented 12 years ago

Author: bartvde@osgis.nl Date: 2005/12/19 - 17:52

Another major change/advantage AFAIK should be the support of dimensions (like
wms time).
tbonfort commented 12 years ago

Author: dmorissette Date: 2006/01/24 - 19:38

*** Bug 1358 has been marked as a duplicate of this bug. ***
tbonfort commented 12 years ago

Author: dmorissette Date: 2006/01/26 - 04:28

From a diff of the 1.0.0 vs 1.1.0 schemas, the changes are a bunch of
changes/fixes to the various element's minOccurs and maxOccurs values, plus:

Additions to LayerType:

  <xs:element ref="sld:MinScaleDenominator" minOccurs="0"/>
  <xs:element ref="sld:MaxScaleDenominator" minOccurs="0"/>
  <xs:element name="DimensionList" type="context:DimensionListType" minOccurs="0"/>

The ServerType's service attribute value is restricted to the following (we used
to use the value "WMS" with no "OGC:" prefix):

    <xs:simpleType name="serviceType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="OGC:WMS"/>
            <xs:enumeration value="OGC:WFS"/>
        </xs:restriction>
    </xs:simpleType>

Addition of LegendURL to SLDType:

    <xs:element name="LegendURL" type="context:URLType" minOccurs="0"/>
tbonfort commented 12 years ago

Author: jlacroix Date: 2006/02/14 - 04:55

Everything is in place, however the time dimension could not be used yet. The
map context does not fill the wms_time parameter since it wants to be more
general. See bug 1663 for more details.

Beside that, the 1.1.0 version is now support in mapserver 4.9. The main
difference is the support min/max scales and the support for dimensions. The
context now have the following parameters for the dimension support:
wms_dimension_%s_unitsymbol
wms_dimension_%s_units
wms_dimension_%s_uservalue
wms_dimension_%s_default
wms_dimension_%s_multiplevalues
wms_dimension_%s_nearestvalue
wms_dimensionlist
wms_dimension

It works like the styles, check those for more details. Note that with the time
dimension, the context will check the wms_time, wms_timedefault metadata to
replace wms_dimension_%s_uservalue and wms_dimension_%s_default when not
available and the Units, unitSymbol and NearestValue parameters have the
following default value: ISO8601, t and 0.

Documentation will follow.
tbonfort commented 12 years ago

Author: tomkralidis Date: 2006/02/15 - 02:10

So are scales enabled from the client side?  i.e. if chameleon reads a WMC with
scale values, will it process as expected?
tbonfort commented 12 years ago

Author: bartvde@osgis.nl Date: 2006/02/15 - 07:33

Hi Tom,

Chameleon will read it through Mapscript and Mapscript will set the MINSCALE and
MAXSCALE values on the LAYER, so everything should work as you expect. I haven't
tested this yet though.

Bart
tbonfort commented 12 years ago

Author: dmorissette Date: 2006/02/15 - 18:04

Julien, can you please confirm that the MINSCALE and MAXSCALE are set in the
layer from the value of MinScaleDenominator and MaxScaleDenominator from the
context.
tbonfort commented 12 years ago

Author: jlacroix Date: 2006/02/15 - 20:27

The minscale/maxscale of the layer is now set by the context
Min/MaxScaleDenominator elements.
tbonfort commented 12 years ago

Author: jlacroix Date: 2006/03/10 - 16:51

MapServer 4.9 now set the wms_time metadata when the dimension name in the
context is "time". So the Support for Context 1.1.0 is now completed.

Reassign to Jeff for documentation.

There's the new parameter listed in comment 7 (Note that in
wms_dimension_time_uservalue can be replaced by wms_time).
The min/maxscale parameter are now used in the context 1.1.0.

Should we also update the context example in there? let me know if you need any
info or precision.
tbonfort commented 12 years ago

Author: bartvde@osgis.nl Date: 2006/06/07 - 13:19

There is a problem though, sld:MinScaleDenominator and sld:MaxScaleDenominator
are not written when saving a WMC 1.1 document.
tbonfort commented 12 years ago

Author: jlacroix Date: 2006/06/14 - 20:29

Thanks for the catch Bart, I added the min/maxscale support in write mode for
the WMC 1.1.0 in MapServer 4.9.
tbonfort commented 12 years ago

Author: bartvde@osgis.nl Date: 2006/06/14 - 20:53

Hi Julien,

I had a look at your change, don't you need to declare the sld namespace now in
the root element of the Context XML?

It is currently commented in the source (fprintf->msIO_fprintf):

/* fprintf( stream, " xmlns:sld=\"http://www.opengis.net/sld"); */

Bart
tbonfort commented 12 years ago

Author: tomkralidis Date: 2006/06/14 - 21:09


Bart is right.  As of WMC 1.1.0, one can define inline SLD objects, so we need 
the namespace decl in there.
tbonfort commented 12 years ago

Author: bartvde@osgis.nl Date: 2006/06/15 - 09:39

There is yet another issue (the schema location is incorrect):

http://schemas.opengeospatial.net/context/1.0.0/context.xsd

this should be

http://schemas.opengeospatial.net/context/1.1.0/context.xsd

for WMC 1.1
tbonfort commented 12 years ago

Author: jlacroix Date: 2006/06/15 - 17:10

I added the SLD and 1.1.0 xsd loading in the Context xml root element. Done in
4.9 version.
tbonfort commented 12 years ago

Author: jmckenna Date: 2008/03/05 - 17:31 moving to documentation component

tbonfort commented 12 years ago

Author: jmckenna Date: 2008/03/20 - 22:30 I added the wms_dimension* metadata to the mapcontext doc (checked into SVN in /trunk/docs.) I also tested each with 5.0.2, and updated the examples used in the doc.