[Geoserver-users] geoserver coverage WCS

Hi,

I’m experimenting with the WCS coverages in geoserver1.6.2a and running into a problem with a projection that I have added to the epsg.properties file?

The data I’m using is from PAMAP in a tiff format using PA83-SF coordinates:

102729=PROJCS[“NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet”,GEOGCS[“GCS_North_American_1983”,DATUM[“D_North_American_1983”,SPHEROID[“GRS_1980”,6378137,298.257222101]],PRIMEM[“Greenwich”,0],UNIT[“Degree”,0.017453292519943295]],PROJECTION[“Lambert_Conformal_Conic”],PARAMETER[“False_Easting”,1968500],PARAMETER[“False_Northing”,0],PARAMETER[“Central_Meridian”,-77.75],PARAMETER[“Standard_Parallel_1”,39.93333333333333],PARAMETER[“Standard_Parallel_2”,40.96666666666667],PARAMETER[“Latitude_Of_Origin”,39.33333333333334],UNIT[“Foot_US”,0.30480060960121924]]

I’ve added this projection to the epsg.properties file and it successfully shows up SRSList. I used the srid from PostGIS



102729



PROJCS[“NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet”,



GEOGCS[“GCS_North_American_1983”,



DATUM[“D_North_American_1983”,



SPHEROID[“GRS_1980”, 6378137.0, 298.257222101]],



PRIMEM[“Greenwich”, 0.0],



UNIT[“degree”, 0.017453292519943295],



AXIS[“Longitude”, EAST],



AXIS[“Latitude”, NORTH]],



PROJECTION[“Lambert_Conformal_Conic”],



PARAMETER[“central_meridian”, -77.75],



PARAMETER[“latitude_of_origin”, 39.333333333333336],



PARAMETER[“standard_parallel_1”, 39.93333333333333],



PARAMETER[“scale_factor”, 1.0],



PARAMETER[“false_easting”, 1968500.0],



PARAMETER[“false_northing”, 0.0],



PARAMETER[“standard_parallel_2”, 40.96666666666667],



UNIT[“[m*0.30480060960121924]”, 0.30480060960121924],



AXIS[“X”, EAST],



AXIS[“Y”, NORTH],



AUTHORITY[“EPSG”,“102729”]]

In the Coverage editor , however, a SRS lookup button defaults to 4326 and a generate envelope will also change to 4326:

Style:

SRS:

SRS Help

  • Native Spatial Reference System for Coverage: Generate Envelope after setting the property.

Native SRS WKT:

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”]]

Label:

Description:

Online-Resource:

Envelope:

Min X:

Min Y:

Max X:

Max Y:

If I manually fill in the correct matching SRS “ESPG:102729” with the Native WKT showing correctly the submit/apply/save works “Data loaded without incident”

SRS:

SRS Help

  • Native Spatial Reference System for Coverage: Generate Envelope after setting the property.

Native SRS WKT:

PROJCS[“NAD83 / Pennsylvania South”, GEOGCS[“NAD83”, DATUM[“North American Datum 1983”, SPHEROID[“GRS 1980”, 6378137.0, 298.257222101, AUTHORITY[“EPSG”,“7019”]], TOWGS84[1.0, 1.0, -1.0, 0.0, 0.0, 0.0, 0.0], AUTHORITY[“EPSG”,“6269”]], PRIMEM[“Greenwich”, 0.0, AUTHORITY[“EPSG”,“8901”]], UNIT[“degree”, 0.017453292519943295], AXIS[“Geodetic longitude”, EAST], AXIS[“Geodetic latitude”, NORTH], AUTHORITY[“EPSG”,“4269”]], PROJECTION[“Lambert_Conformal_Conic_2SP”], PARAMETER[“central_meridian”, -77.75], PARAMETER[“latitude_of_origin”, 39.333333333333336], PARAMETER[“standard_parallel_1”, 40.96666666666667], PARAMETER[“false_easting”, 1968500.0], PARAMETER[“false_northing”, 0.0], PARAMETER[“standard_parallel_2”, 39.93333333333333], UNIT[“[m*0.30480060960121924]”, 0.30480060960121924], AXIS[“Easting”, EAST], AXIS[“Northing”, NORTH], AUTHORITY[“EPSG”,“102729”]]

Label:

Description:

Online-Resource:

Envelope:

Min X:

Min Y:

Max X:

Max Y:

DescribeCoverage shows the correct envelope srsName:

  • <gml:Envelope srsName=“EPSG:102729”>

gml:pos1330000.0 420000.0</gml:pos>

gml:pos1340000.0 430000.0</gml:pos>

</gml:Envelope>

gml:low0 0</gml:low>

gml:high10000 10000</gml:high>

</gml:GridEnvelope>

</gml:limits>

gml:axisNameGeodetic longitude</gml:axisName>

gml:axisNameGeodetic latitude</gml:axisName>

gml:pos1330000.5 429999.5</gml:pos>

</gml:origin>

gml:offsetVector1.0 0.0</gml:offsetVector>

gml:offsetVector0.0 -1.0</gml:offsetVector>

</gml:RectifiedGrid>

GetCapabilities CoverageOfferingBriefing shows srsName=”WGS84(DD)” which are the correct bounds

-

Generated from pamap_test

geotech:43001330PAS_1

43001330PAS_1 is a A raster file accompanied by a spatial data file

-

gml:pos-80.04589155841745 40.46349062942367</gml:pos>

gml:pos-80.00902996187929 40.491639115751056</gml:pos>

-

WCS

pamap_test

43001330PAS_1

However, GetCoverage will show a BBox error:

<GetCoverage service=“WCS” version=“1.0.0”

xmlns=“http://www.opengis.net/wcs

xmlns:nurc=“http://www.nurc.nato.int

xmlns:ogc=“http://www.opengis.net/ogc

xmlns:gml=“http://www.opengis.net/gml

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance

xsi:schemaLocation=“http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/getCoverage.xsd”>

geotech:43001330PAS_1

<gml:Envelope srsName=“EPSG:102729”>

gml:pos1330000.0 420000.0</gml:pos>

gml:pos1331000.0 421000.0</gml:pos>

</gml:Envelope>

<gml:Grid dimension=“2” srsName=“EPSG:102729”>

gml:limits

gml:GridEnvelope

gml:low0 0</gml:low>

gml:high1000 1000</gml:high>

</gml:GridEnvelope>

</gml:limits>

</gml:Grid>

EPSG:102729

EPSG:102729

TIFF

Giving:

org.vfny.geoserver.wcs.WcsException: The Intersection is null. Check the requested BBOX!

The Intersection is null. Check the requested BBOX!

Is this because of an error on my entry or is there a problem with the custom EPSG?

Thanks

randy

Randy George ha scritto:

Hi,

                I’m experimenting with the WCS coverages in geoserver1.6.2a and running into a problem with a projection that I have added to the epsg.properties file?

                The data I’m using is from PAMAP in a tiff format using PA83-SF coordinates:

102729=PROJCS["NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARAMETER["Standard_Parallel_1",39.93333333333333],PARAMETER["Standard_Parallel_2",40.96666666666667],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT["Foot_US",0.30480060960121924]]
In the Coverage editor , however, a SRS lookup button defaults to 4326 and a generate envelope will also change to 4326:

Ouch, this is bad. Are you using a tiff + wld file with no .prj file?
In this case GeoServer will assume it's 4326 and when you try to enforce
a different projection it won't be treated as an override, but as
a request for reprojection.
Can you add a .prj file to the set with the 102729 definition in one
line (but without the 102729= part) and reload the coverage in GeoServer?

Cheers
Andrea

Hi Andrea,

  Thanks that was the problem. Once I added a .prj file with the
correct PROJCS to my coverages data dir file:coverages/pamap/ the
GetCoverage worked great!

Note: SRS lookup works fine, I just had to remember to manually enter
Request CRSs: EPSG:102729
Response CRSs: EPSG:102729

Can I change/add additional EPSG for Response CRS?

If I add an additional CRS to the Response from the SRS List:
Response CRSs: EPSG:102729;EPSG:32617

- <supportedCRSs>
  <requestResponseCRSs>EPSG:102729 EPSG:32617</requestResponseCRSs>
  </supportedCRSs>

<GetCoverage service="WCS" version="1.0.0"
  xmlns="http://www.opengis.net/wcs&quot;
  xmlns:nurc="http://www.nurc.nato.int"
  xmlns:ogc="http://www.opengis.net/ogc&quot;
  xmlns:gml="http://www.opengis.net/gml&quot;
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation="http://www.opengis.net/wcs
http://schemas.opengis.net/wcs/1.0.0/getCoverage.xsd&quot;&gt;
<sourceCoverage>geotech:43001330PAS</sourceCoverage>
  <domainSubset>
    <spatialSubset>
      <gml:Envelope srsName="EPSG:102729">
        <gml:pos>1331000.0 421000.0</gml:pos>
              <gml:pos>1333000.0 423000.0</gml:pos>
      </gml:Envelope>
      <gml:Grid dimension="2" srsName="EPSG:102729">
        <gml:limits>
          <gml:GridEnvelope>
            <gml:low>0 0</gml:low>
                            <gml:high>1000 1000</gml:high>
          </gml:GridEnvelope>
        </gml:limits>
      </gml:Grid>
    </spatialSubset>
  </domainSubset>
  <rangeSubset>

  </rangeSubset>
  <output>
      <crs>EPSG:32617</crs>
      <responseCrs>EPSG:32617</responseCrs>
    <format>PNG</format>
  </output>
</GetCoverage>

The Intersection is null. Check the requested BBOX!
Or
  <output>
      <crs>EPSG:102729</crs>
      <responseCrs>EPSG:32617</responseCrs>
    <format>PNG</format>
  </output>
This Coverage does not support the requested Response-CRS.

Thanks
randy

-----Original Message-----
From: Andrea Aime [mailto:aaime@anonymised.com]
Sent: Wednesday, March 19, 2008 10:09 AM
To: rkgeorge@anonymised.com
Cc: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] geoserver coverage WCS

Randy George ha scritto:

Hi,

                I'm experimenting with the WCS coverages in
geoserver1.6.2a and running into a problem with a projection that I have
added to the epsg.properties file?

                The data I'm using is from PAMAP in a tiff format using
PA83-SF coordinates:

102729=PROJCS["NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet",GEOGCS
["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980"
,6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199
43295]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1968
500],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-77.75],PARA
METER["Standard_Parallel_1",39.93333333333333],PARAMETER["Standard_Parallel_
2",40.96666666666667],PARAMETER["Latitude_Of_Origin",39.33333333333334],UNIT
["Foot_US",0.30480060960121924]]

In the Coverage editor , however, a SRS lookup button defaults to 4326
and a generate envelope will also change to 4326:

Ouch, this is bad. Are you using a tiff + wld file with no .prj file?
In this case GeoServer will assume it's 4326 and when you try to enforce
a different projection it won't be treated as an override, but as
a request for reprojection.
Can you add a .prj file to the set with the 102729 definition in one
line (but without the 102729= part) and reload the coverage in GeoServer?

Cheers
Andrea

Randy George ha scritto:

Hi Andrea,

  Thanks that was the problem. Once I added a .prj file with the
correct PROJCS to my coverages data dir file:coverages/pamap/ the
GetCoverage worked great!

Note: SRS lookup works fine, I just had to remember to manually enter Request CRSs: EPSG:102729 Response CRSs: EPSG:102729

Can I change/add additional EPSG for Response CRS?

If I add an additional CRS to the Response from the SRS List:
Response CRSs: EPSG:102729;EPSG:32617

- <supportedCRSs>
  <requestResponseCRSs>EPSG:102729 EPSG:32617</requestResponseCRSs> </supportedCRSs>

It's a comma separated list, so it would be EPSG:102729,EPSG:32617
instead
Cheers
Andrea

Hi Andrea,

  Thanks for the quick response. That was the problem. Once I changed
to comma separators coordinate system changes worked!
Coverage editor:
Response CRSs: EPSG:102729,EPSG:26917,EPSG:2272,EPSG:32129,EPSG:4326

Performance is pretty good too:)
  EPSG:102729 to EPSG:4326 = 11266ms
  EPSG:102729 to EPSG:26917 = 11737ms

Too bad the WCS 1.0 spec doesn't have the annex B examples available. It
would make things a bit clearer for users.

thanks
randy

-----Original Message-----
From: Andrea Aime [mailto:aaime@anonymised.com]
Sent: Thursday, March 20, 2008 4:57 AM
To: rkgeorge@anonymised.com
Cc: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] geoserver coverage WCS

Randy George ha scritto:

Hi Andrea,

  Thanks that was the problem. Once I added a .prj file with the
correct PROJCS to my coverages data dir file:coverages/pamap/ the
GetCoverage worked great!

Note: SRS lookup works fine, I just had to remember to manually enter
Request CRSs: EPSG:102729
Response CRSs: EPSG:102729

Can I change/add additional EPSG for Response CRS?

If I add an additional CRS to the Response from the SRS List:
Response CRSs: EPSG:102729;EPSG:32617

- <supportedCRSs>
  <requestResponseCRSs>EPSG:102729 EPSG:32617</requestResponseCRSs>
  </supportedCRSs>

It's a comma separated list, so it would be EPSG:102729,EPSG:32617
instead
Cheers
Andrea