[mapserver-users] WCS layer units question...

Carl Godkin cgodkin at gmail.com
Thu Jan 13 07:12:07 PST 2022


 Hi Jukka,

Thanks for pasting in your METADATA.  I copied yours to my map file and,
sure enough, I finally see the uom displayed!

After some experiments, I discovered that "wcs_band_names" is required if
you want to affect the metadata.  It actually says this in the
documentation but I overlooked it.

Once I added that, then I see my desired uom displayed by GetCoverage.
Hooray!

Thanks again for all of the help,

carl



On Thu, Jan 13, 2022 at 1:05 AM Rahkonen Jukka (MML) <
jukka.rahkonen at maanmittauslaitos.fi> wrote:

> Hi,
>
>
>
> I can only tell that with these metadata settings in my mapfile
>
> METADATA
>
>               "wcs_label"    "orto_vv"  ### required
>
>               "wcs_resolution" "0.5 0.5"
>
>               "wcs_imagemode" "BYTE"
>
>               "wcs_bandcount" "3"
>
>               "wcs_band_names" "Band1 Band2 Band3"
>
>               "wcs_timeposition"
> "2000-11-11T11:11:11Z,2001-11-11T11:11:11Z"
>
>               "Band1_band_description"    "NIR range 700-900 nm"
>
>               "Band2_band_description"    "Red range 600-700 nm"
>
>               "Band3_band_description"    "Green range 500-600"
>
>               "Band1_band_uom" "foo"
>
>               "Band2_band_uom" "bar"
>
>               "Band3_band_uom" "foobar"
>
>               "wcs_rangeset_axis" "E,N"
>
>
>
>               "wcs_extent"          "212000.000 6762000.000 218000.000
> 6768000.000"
>
>               "wcs_rangeset_name"   "Range 1"  ### required to support
> DescribeCoverage request
>
>               "wcs_rangeset_label"  "My Label" ### required to support
> DescribeCoverage request
>
>         END
>
> I can see for example this in DescribeCoverage
> <swe:field name="Band3">
>
> <swe:Quantity>
>
> <swe:description>Green range 500-600</swe:description>
>
> <swe:nilValues/>
>
> <swe:uom code="foobar"/>
>
>
>
> I have the same version 7.7.0-dev (MS4W 4.0.5).
>
>
>
> -Jukka Rahkonen-
>
>
>
>
>
>
>
>
>
> *Lähettäjä:* MapServer-users <mapserver-users-bounces at lists.osgeo.org> *Puolesta
> *Carl Godkin
> *Lähetetty:* torstai 13. tammikuuta 2022 2.45
> *Vastaanottaja:* Mapserver-Users (mapserver-users at lists.osgeo.org) <
> mapserver-users at lists.osgeo.org>
> *Aihe:* Re: [mapserver-users] WCS layer units question...
>
>
>
> Hi Jukka,
>
>
>
> Thanks for the documentation pointer.  I have attached a .map file in
> which I have all three of the possibilities
>
>
>
>       # Trying all three.  My single band is called "band"
>       "wcs_band_uom"  "m"
>       "ows_band_uom"  "m"
>       "band_band_uom"  "m"
>
>
>
> but I still only see
>
>
>
> <swe:uom code="W.m-2.Sr-1"/>
>
>
>
> from DescribeCoverage.  I am very curious to know what I've overlooked!
>
>
>
> By the way, I'm running MapServer from the "camptocamp" docker image.  It
> appears to by MapServer 7.7-dev.
>
>
>
> Thanks so much,
>
> carl
>
>
>
> On Wed, Jan 12, 2022 at 9:47 AM Rahkonen Jukka (MML) <
> jukka.rahkonen at maanmittauslaitos.fi> wrote:
>
> Hi,
>
>
>
> Sorry, I thought that our service is open. This should work
> https://demo.mapserver.org/cgi-bin/wcs?SERVICE=wcs&VERSION=2.0.0&REQUEST=DescribeCoverage&COVERAGEID=modis
>
>
>
> The default value of uom is documented in
> https://www.mapserver.org/ogc/wcs_server.html
>
> “If no specific or default value is given, the output is dependent on the
> metadata key. The UOM, for example will be set to ‘W.m-2.Sr-1’”
>
>
>
> WCS metadata keywords, including “{band_name}_band_uom” work for us. I am
> sure that you will make it to work as well but if you won’t, show us your
> mapfile.
>
>
>
> -Jukka Rahkonen-
>
>
>
>
>
> *Lähettäjä:* MapServer-users <mapserver-users-bounces at lists.osgeo.org> *Puolesta
> *Carl Godkin
> *Lähetetty:* keskiviikko 12. tammikuuta 2022 17.13
> *Vastaanottaja:* Mapserver-Users (mapserver-users at lists.osgeo.org) <
> mapserver-users at lists.osgeo.org>
> *Aihe:* Re: [mapserver-users] WCS layer units question...
>
>
>
> Thanks for the reply, Jukka.
>
>
>
> I found "wcs_band_uom" in the docs but I can't seem to make the value I
> put into my map file appear in the DescribeCoverage output.  (The link you
> sent doesn't work for me.)
>
>
>
> I do see this though:
>
>
>
> <swe:field name="band">
>
> <swe:Quantity>
>
> <swe:nilValues/>
>
> <swe:uom code="W.m-2.Sr-1"/>
>
> <swe:constraint>
>
> <swe:AllowedValues>
>
> <swe:interval>-3.4028e+38 3.4028e+38</swe:interval>
>
> <swe:significantFigures>12</swe:significantFigures>
>
> </swe:AllowedValues>
>
> </swe:constraint>
>
> </swe:Quantity>
>
> </swe:field>
>
>
>
> The "swe:uom code" would seem to be what I want to affect.  For some
> reason I see the value "watts per square meter per steradian" which appears
> nowhere in my map file so I wonder if it's some sort of default baked into
> the code or something.  (I had seen that before but hadn't bothered to try
> to figure out what it was until just now.  That's weird.)
>
>
>
> Thanks for your help,
>
>
>
> carl
>
>
>
>
>
>
>
> On Tue, Jan 11, 2022 at 11:57 PM Rahkonen Jukka (MML) <
> jukka.rahkonen at maanmittauslaitos.fi> wrote:
>
> Hi,
>
>
>
> WCS users are supposed to read the metadata with DescribeCoverage, for
> example
> https://avoin-visukuva.nls.fi/ortokuvat-ja-korkeusmallit/wcs/v1?service=WCS&version=2.0.1&request=DescribeCoverage&coverageID=ortokuva_vari
>
> The units can be configured in the mapfile with “wcs_band_uom”. I do not
> know if it is possible to configure the outputformat to write uom also into
> the TIFF. That is something that GDAL should do.
>
>
>
> -Jukka Rahkonen-
>
>
>
>
>
>
>
> *Lähettäjä:* MapServer-users <mapserver-users-bounces at lists.osgeo.org> *Puolesta
> *Carl Godkin
> *Lähetetty:* keskiviikko 12. tammikuuta 2022 3.58
> *Vastaanottaja:* Mapserver-Users (mapserver-users at lists.osgeo.org) <
> mapserver-users at lists.osgeo.org>
> *Aihe:* [mapserver-users] WCS layer units question...
>
>
>
> Hi,
>
>
>
> I have a local WCS & WMS server.
>
>
>
> I am trying to figure out if I can somehow define the Z units of a terrain
> layer I'm serving.
>
>
>
> The single band from the individual GeoTIFF files providing the terrain
> data looks like this (from gdalinfo):
>
>
>
> Band 1 Block=512x512 Type=Float32, ColorInterp=Gray
>   Description = Layer_1
>   NoData Value=-999999
>   Unit Type: m     <===================================== units are meters
>   Metadata:
>     LAYER_TYPE=athematic
>     RepresentationType=ATHEMATIC
>
>
>
> but when I download a GeoTIFF using a WCS GetCoverage request on this
> layer, the GeoTIFF's single band just looks like this:
>
>
>
> Band 1 Block=571x3 Type=Float32, ColorInterp=Gray
>
>
>
> without "Unit Type."
>
>
>
> I also tried using
>
>    UNITS Meters
>
> in my LAYER definition in my map file (copying an example I found among
> the case studies on the web site) but it didn't seem to have any effect.
>
>
>
> Is there some way to define and retrieve the Z units for a WCS server?
>
>
>
> Thanks very much.
>
>
>
> carl
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20220113/4f2a4202/attachment.htm>


More information about the MapServer-users mailing list