Ciao Piergiorgio,
thanks for spotting this out, it is pretty interesting. As you have noticed quite often specifications (not only OGC and ISO ones) have mistakes in them. Let's see now what the other guys think about this issue. It would be pretty interesting to know also what is the behaviour of the other software.
As I said, let's see what the guys from OpenPlans tell us, then we can try to address this once for all.
Ciao,
Simone.
-------------------------------------------------------
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
-------------------------------------------------------
________________________________________
From: Piergiorgio Cipriano [mailto:pg.cipriano@anonymised.com]
Sent: venerdì 15 giugno 2007 15.15
To: Simone Gannecchini; geoserver-users@lists.sourceforge.net
Cc: cholmes@anonymised.com; Andrea Aime; jdeolive@anonymised.com
Subject: Re: [Geoserver-users] WFS LatLongBoundingBox
Ciao Simone,
thank you very much for your reply.
Have a look at the following post I found at lunchtime:
http://mail.opengeospatial.org/pipermail/wfs-dev/2004-September/000209.html
"I made a mistake calling it LatLongBoundingBox and did not realize the inconsistency until after the specification was published and more importantly after a number of implementation where already done!
In the mean time, further confusion has arisen since some implementations advertise EPSG:4326 to make the LatLongBoundingBox seemingly consistent when in fact the feature data is in a projected
coordinate system."
The author of the post is Panagiotis (Peter) A. Vretanos ... editor of WFS 1.0.0 spec !!
Interesting one: the post was written on september 2004, but just very few documents or articles (eg. http://www.directionsmag.com/article.php?article_id=686&trv=1) mention this issue.
Btw: some text inconsistency has also been maintained in the following version ( 1.1.0) and into the Committee Draft of ISO19142; look at the definition text of WGS84BoundingBox element:
" The <WGS84BoundingBox> element is used to indicate the edges of an enclosing rectangle in decimal degrees of latitude and longitude in WGS84. Its purpose is to facilitate geographic searches by indicating where instances of the particular feature type exist. Since multiple LatLongBoundingBoxes can be specified, a WFS can indicate where various clusters of data may exist."
Again, LatLongBoundingBox are mentioned withing the element description ( 1.1.0, page 84) ... probably due to copy/paste from the 1.0.0 version.
Take care.
pg
On 6/15/07, Simone Gannecchini < simboss1@anonymised.com> wrote:
Ciao Piergiorgio,
I am certainly not the greatest expert in WFS since my main interests as a developer have always been in WCS and WMS, so I would wait for an answer from Justin or Chris or Aaime.
I have checked the spec and you are right. Anyway as far as I can remember the OWS services usually advertise their data in WGS84 inside the GetCapabilities document. As you correctly pointed out successive versions explicitly mention WGS84 hence I am keen to believe that the behaviour of geoserver is correct.
I am providing two examples for WMS and WCS:
<<WMS>>
<Layer queryable="1">
<Name>nurc:T1</Name>
<Title>CapoVerde_TDA_T1</Title>
<Abstract>CapoVerde TDA_T1</Abstract>
<KeywordList>
<Keyword>T1 cp_T1</Keyword>
</KeywordList>
<SRS>EPSG:32626</SRS>
<!--WKT definition of this CRS:
PROJCS["WGS 84 / UTM zone 26N",
GEOGCS["WGS 84",
DATUM["World Geodetic System 1984",
SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH],
AUTHORITY["EPSG","4326"]],
PROJECTION["Transverse Mercator", AUTHORITY["EPSG","9807"]],
PARAMETER["central_meridian", -27.0],
PARAMETER["latitude_of_origin", 0.0],
PARAMETER["scale_factor", 0.9996],
PARAMETER["false_easting", 500000.0],
PARAMETER["false_northing", 0.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH],
AUTHORITY["EPSG","32626"]]-->
<LatLonBoundingBox minx="-25.04635678254482 " miny="16.805747819001017" maxx="-25.043164248575827" maxy="16.80651982613655"/>
<BoundingBox SRS="EPSG:32626" minx="708198.94" miny="1859096.0 " maxx="708538.5" maxy="1859178.1"/>
<Style>
<Name>cp_T1_00</Name>
<Title>cp_T1_00</Title>
<Abstract>Generated by GeoServer</Abstract>
<LegendURL width="20" height="20">
<Format>image/png</Format>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink " xlink:type="simple" xlink:href=" http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=nurc:T1"/>
</LegendURL>
</Style>
<Style>
<Name>cp_T1_00</Name>
<Title>cp_T1_00</Title>
<Abstract>Generated by GeoServer</Abstract>
<LegendURL width="20" height="20">
<Format>image/png</Format>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href=" http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=nurc:T1 "/>
</LegendURL>
</Style>
<Style>
<Name>cp_T1_06</Name>
<Title>cp_T1_06</Title>
<Abstract>Generated by GeoServer</Abstract>
<LegendURL width="20" height="20">
<Format>image/png</Format>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink " xlink:type="simple" xlink:href=" http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=nurc:T1"/>
</LegendURL>
</Style>
<Style>
<Name>cp_T1_12</Name>
<Title>cp_T1_12</Title>
<Abstract>Generated by GeoServer</Abstract>
<LegendURL width="20" height="20">
<Format>image/png</Format>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href=" http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=nurc:T1 "/>
</LegendURL>
</Style>
<Style>
<Name>cp_T1_18</Name>
<Title>cp_T1_18</Title>
<Abstract>Generated by GeoServer</Abstract>
<LegendURL width="20" height="20">
<Format>image/png</Format>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink " xlink:type="simple" xlink:href=" http://geos2.nurc.nato.int:80/geoserver/wms/GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=nurc:T1"/>
</LegendURL>
</Style>
</Layer>
<<WCS>>
<CoverageOfferingBrief>
<metadataLink about="http://www.geotools.org/WorldImageReader+formats " metadataType="other"/>
<description>CapoVerde Bathy</description>
<name>nurc:bathy3</name>
<label>CapoVerde Bathy</label>
−
<lonLatEnvelope srsName="WGS84(DD)">
<gml:pos>-25.059311303042 16.7952846480554</gml:pos>
<gml:pos>-25.035410167926013 16.812143860516077</gml:pos>
</lonLatEnvelope>
−
<keywords>
<keyword>WCS</keyword>
<keyword>capo_bathy</keyword>
<keyword>bathy3</keyword>
</keywords>
</CoverageOfferingBrief>
Sorry to be of not much help, but I think that Justin will shed some light here later on today since he is the one who implemented WFS 1.1.
Ciao,
Simone.
-------------------------------------------------------
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
-------------------------------------------------------
________________________________________
From: geoserver-users-bounces@lists.sourceforge.net [mailto:geoserver-users-bounces@lists.sourceforge.net ] On Behalf Of Piergiorgio Cipriano
Sent: venerdì 15 giugno 2007 11.57
To: geoserver-users@lists.sourceforge.net
Subject: [Geoserver-users] WFS LatLongBoundingBox
Hi all,
can you help me please on the following issue?
Working on geoserver 1.5.1, for each layer GetCapabilities states:
<FeatureType>
<Name>sm:parcel</Name>
<Title>Parcels</Title>
<Abstract>Cadastral parcels</Abstract>
<Keywords>parcel</Keywords>
<SRS>EPSG:3003</SRS>
<LatLongBoundingBox minx="10.7472456" miny="344.9879064" maxx=" 10.8934322" maxy="44.7487539"/>
</FeatureType>
Now, the SRS associated to feature types is EPSG:3003 (projected - PROJCS["Monte Mario / Italy zone 1", GEOGCS["Monte Mario", DATUM["Monte Mario").
LatLongBoundingBox element should indicate "... the edges of an enclosing rectangle in the SRS of the associated feature type." (WFS 1.0.0 - page 56 - implemented by geoserver 1.5.1).
Which LatLongBoundingBox values in the fragmet above should be considered the WFS 1.0.0 correct ones?
Min Long: 10.7472456 Min Lat: 44.9879064
Max Long: 10.8934322 Max Lat: 44.7487539
or
Data min X: 1637732.326195352 Data min Y: 4982999.274457726
Data max X: 1649882.342086067 Data max Y: 4956789.203097893
(SRS associated to feature type)
Thanks for help.
pg
p.s.
Probably this confusion/pittfall will be solved by WFS 1.1.0 (and ISO/CD 19142), since both docs do not refer to "LatLongBoundingBox" element, but "WGSBoundingBox" !!
--
Piergiorgio Cipriano
pg.cipriano@anonymised.com
--
Piergiorgio Cipriano
pg.cipriano@anonymised.com