[Geoserver-devel] WCS 1.1.1 and issues with output format names

Hi,
in WCS 1.0 we do have output format names that look like:
GEOTIFF, ARCGRID, TIFF, ...

Now, in WCS 1.1, as in all new OGC standards, the output
format is mandated to be a mime type, that is, something that
satisfies the following definition (see the pattern):

<simpleType name="MimeType">
  <annotation>
    <documentation>XML encoded identifier of a standard MIME type, possibly a parameterized MIME type. </documentation>
  </annotation>
  <restriction base="string">
    <pattern value="(application|audio|image|text|video|message|multipart|model)/.+(;\s*.+=.+)*"/>
  </restriction>
</simpleType>

Now, the easy way would be to change the wcs 1.0 output
format names to become something like:
image/tiff
application/arcgrid
application/arcgrid;compressed=true
image/tiff;subtype=geotiff
..

and then set the actual mime type on the output. It's something we're doing in wms already (think application/openlayers, whose actual content type is text/html). To preserve backwards compatibility we would
use the same trick we use in wms, the output format would react
both to the old and the new name, that is, for example, geotiff
output format would activate both on:
* GEOTIFF
* image/tiff;subtype=geotiff

Would that work for you?
Cheers
Andrea

Works for me, and I think makes good sense, puts it more in line with our WMS stuff. The shortcut names are a good thing.

Chris

Andrea Aime wrote:

Hi,
in WCS 1.0 we do have output format names that look like:
GEOTIFF, ARCGRID, TIFF, ...

Now, in WCS 1.1, as in all new OGC standards, the output
format is mandated to be a mime type, that is, something that
satisfies the following definition (see the pattern):

<simpleType name="MimeType">
  <annotation>
    <documentation>XML encoded identifier of a standard MIME type, possibly a parameterized MIME type. </documentation>
  </annotation>
  <restriction base="string">
    <pattern value="(application|audio|image|text|video|message|multipart|model)/.+(;\s*.+=.+)*"/>
  </restriction>
</simpleType>

Now, the easy way would be to change the wcs 1.0 output
format names to become something like:
image/tiff
application/arcgrid
application/arcgrid;compressed=true
image/tiff;subtype=geotiff
..

and then set the actual mime type on the output. It's something we're doing in wms already (think application/openlayers, whose actual content type is text/html). To preserve backwards compatibility we would
use the same trick we use in wms, the output format would react
both to the old and the new name, that is, for example, geotiff
output format would activate both on:
* GEOTIFF
* image/tiff;subtype=geotiff

Would that work for you?
Cheers
Andrea

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

!DSPAM:4005,478fa206307092090977483!

Chris Holmes ha scritto:

Works for me, and I think makes good sense, puts it more in line with our WMS stuff. The shortcut names are a good thing.

Hmm... I hoped to hear some feedback from Simone or Alessio on this
one, but they are busy.
So I'm going to apply the change on trunk in order to have a demoable
wcs 1.1.1, and we'll talk about it later (trunk is not going to be
release anytime soon anyways...)

Cheers
Andrea

Chris Holmes ha scritto:

Works for me, and I think makes good sense, puts it more in line with our WMS stuff. The shortcut names are a good thing.

Yeah, I'll keep the short names. I've seeked guidance on the
WCS working group list and they told me OWS 1.1 mandates
mime types, and strongly pushes for stardard mime types with
the addition of parameters to better specify the subtype.

The spec says:
"When applicable, a “format” parameter should allow parameterized MIME types. However, whenever a parameterized MIME type is supported by a server, that server should also support the corresponding un-parameterized MIME type."

Which means, for example, text/plain;subtype="arcgrid" is out of
the question since "text/plain" would have to be supported as
well, and it does not make sense (what if we add a second text
based grid format?)...

So here is what I'm going to do:

BMP -> image/bmp
GIF -> image/gif
PNG -> image/png
JPEG -> image/jpeg
TIFF -> image/tiff
GEOTIFF -> image/tiff;subtype="geotiff" but also image/geotiff
GTOPO30 (zipped set) -> application/gtopo30
ArcGrid -> application/arcgrid
ArcGrid-gzip -> application/arcgrid;zipped="true"

In order to produce the describe coverage response I'll add
a "Set getSupportedFormats()" to the CoverageResponseDelegate
so that we can know what we have and return only the mime compliant ones.

Cheers
Andrea

Ciao Andrea,
sorry for the late reply, I am aware that my answer won't make a big
difference but for it's worth I am happy with this change, if I
weren't I would have found time to answer before :-).

Thx for the hard work,
Simone.

On Jan 17, 2008 7:43 PM, Andrea Aime <aaime@anonymised.com> wrote:

Hi,
in WCS 1.0 we do have output format names that look like:
GEOTIFF, ARCGRID, TIFF, ...

Now, in WCS 1.1, as in all new OGC standards, the output
format is mandated to be a mime type, that is, something that
satisfies the following definition (see the pattern):

<simpleType name="MimeType">
        <annotation>
                <documentation>XML encoded identifier of a standard MIME type,
possibly a parameterized MIME type. </documentation>
        </annotation>
        <restriction base="string">
                <pattern
value="(application|audio|image|text|video|message|multipart|model)/.+(;\s*.+=.+)*"/>
        </restriction>
</simpleType>

Now, the easy way would be to change the wcs 1.0 output
format names to become something like:
image/tiff
application/arcgrid
application/arcgrid;compressed=true
image/tiff;subtype=geotiff
..

and then set the actual mime type on the output. It's something we're
doing in wms already (think application/openlayers, whose actual content
type is text/html). To preserve backwards compatibility we would
use the same trick we use in wms, the output format would react
both to the old and the new name, that is, for example, geotiff
output format would activate both on:
* GEOTIFF
* image/tiff;subtype=geotiff

Would that work for you?
Cheers
Andrea

--
-------------------------------------------------------
Eng. Simone Giannecchini
President /CEO GeoSolutions S.A.S.
Via Carignoni 51
55041 Camaiore (LU)
Italy

phone: +39 0584983027
fax: +39 0584983027
mob: +39 333 8128928

http://www.geo-solutions.it

-------------------------------------------------------