[GRASS-dev] ETRS_1989_LAEA issue

Hi,

I tried to create a new location from the CLC2000 data from
EEA, distributed on DVD. The SHAPE file comes with a .proj file:

ogrinfo -so 100kmE58N17.shp 100kmE58N17
INFO: Open of `100kmE58N17.shp'
      using driver `ESRI Shapefile' successful.

Layer name: 100kmE58N17
Geometry: Polygon
Feature Count: 392
Extent: (5800000.000180, 1699999.999117) - (5867022.238090, 1799999.999127)
Layer SRS WKT:
PROJCS["ETRS_1989_LAEA",
    GEOGCS["GCS_ETRS_1989",
        DATUM["ETRS_1989",
            SPHEROID["GRS_1980",6378137.0,298.257222101]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]],
    PROJECTION["Lambert_Azimuthal_Equal_Area"],
    PARAMETER["False_Easting",4321000.0],
    PARAMETER["False_Northing",3210000.0],
    PARAMETER["Central_Meridian",10.0],
    PARAMETER["Latitude_Of_Origin",52.0],
    UNIT["Meter",1.0]]
CODE_00: String (3.0)
AREA_HA: Real (17.5)
SHAPE_area: Real (19.11)
SHAPE_len: Real (19.11)

But GRASS creates the location like this:

GRASS 6.3.cvs (clc2000):/tmp > g.proj -w
PROJCS["Lambert Azimuthal Equal Area",
    GEOGCS["unnamed",
        DATUM["unknown",
            SPHEROID["unnamed",6378137,298.257222101]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Lambert_Azimuthal_Equal_Area"],
    PARAMETER["latitude_of_center",52],
    PARAMETER["longitude_of_center",10],
    PARAMETER["false_easting",4321000],
    PARAMETER["false_northing",3210000],
    UNIT["Meter",1]]

g.proj -p
-PROJ_INFO-------------------------------------------------
name : Lambert Azimuthal Equal Area
proj : laea
a : 6378137.0
es : 0.006694380022900787
lat_0 : 52
lon_0 : 10
x_0 : 4321000
y_0 : 3210000
no_defs : defined
-PROJ_UNITS------------------------------------------------
unit : Meter
units : Meters
meters : 1

What's the trick to make GRASS recognize it completely?

thanks,
Markus

Hello Markus
ETRS_1989 is a non-standard datum name (i.e. not what's in the EPSG database) - it should be European_Terrestrial_Reference_System_1989. I've committed a patch to CVS to handle the non-standard version so you should try it now.

BTW (not relevant after the above patch, but interesting anyway) with my updates from Sunday night I would think it should at least recognise the ellipsoid, but it will probably put in WGS_1984 instead of GRS_1980 as they are the same within the tolerances we can check - I'm not sure which I should have first in the ellipsoid table (the first matching one will be reported)!

Paul

On Tue, 7 Nov 2006, Markus Neteler wrote:

Hi,

I tried to create a new location from the CLC2000 data from
EEA, distributed on DVD. The SHAPE file comes with a .proj file:

ogrinfo -so 100kmE58N17.shp 100kmE58N17
INFO: Open of `100kmE58N17.shp'
     using driver `ESRI Shapefile' successful.

Layer name: 100kmE58N17
Geometry: Polygon
Feature Count: 392
Extent: (5800000.000180, 1699999.999117) - (5867022.238090, 1799999.999127)
Layer SRS WKT:
PROJCS["ETRS_1989_LAEA",
   GEOGCS["GCS_ETRS_1989",
       DATUM["ETRS_1989",
           SPHEROID["GRS_1980",6378137.0,298.257222101]],
       PRIMEM["Greenwich",0.0],
       UNIT["Degree",0.0174532925199433]],
   PROJECTION["Lambert_Azimuthal_Equal_Area"],
   PARAMETER["False_Easting",4321000.0],
   PARAMETER["False_Northing",3210000.0],
   PARAMETER["Central_Meridian",10.0],
   PARAMETER["Latitude_Of_Origin",52.0],
   UNIT["Meter",1.0]]
CODE_00: String (3.0)
AREA_HA: Real (17.5)
SHAPE_area: Real (19.11)
SHAPE_len: Real (19.11)

But GRASS creates the location like this:

GRASS 6.3.cvs (clc2000):/tmp > g.proj -w
PROJCS["Lambert Azimuthal Equal Area",
   GEOGCS["unnamed",
       DATUM["unknown",
           SPHEROID["unnamed",6378137,298.257222101]],
       PRIMEM["Greenwich",0],
       UNIT["degree",0.0174532925199433]],
   PROJECTION["Lambert_Azimuthal_Equal_Area"],
   PARAMETER["latitude_of_center",52],
   PARAMETER["longitude_of_center",10],
   PARAMETER["false_easting",4321000],
   PARAMETER["false_northing",3210000],
   UNIT["Meter",1]]

g.proj -p
-PROJ_INFO-------------------------------------------------
name : Lambert Azimuthal Equal Area
proj : laea
a : 6378137.0
es : 0.006694380022900787
lat_0 : 52
lon_0 : 10
x_0 : 4321000
y_0 : 3210000
no_defs : defined
-PROJ_UNITS------------------------------------------------
unit : Meter
units : Meters
meters : 1

What's the trick to make GRASS recognize it completely?

thanks,
Markus

_______________________________________________
grass-dev mailing list
grass-dev@grass.itc.it
http://grass.itc.it/mailman/listinfo/grass-dev

Hello Paul,

all the funny non-standard datum names, sigh (official EU data file!).

The original .prj content is:
PROJCS["ETRS_1989_LAEA",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",4321000.0],PARAMETER["False_Northing",3210000.0],PARAMETER["Central_Meridian",10.0],PARAMETER["Latitude_Of_Origin",52.0],UNIT["Meter",1.0]]

Using your recent patch, it seems to work:
g.proj -w
PROJCS["Lambert Azimuthal Equal Area",
    GEOGCS["grs80",
        DATUM["European_Terrestrial_Reference_System_1989",
            SPHEROID["Geodetic_Reference_System_1980",6378137,298.257222101]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Lambert_Azimuthal_Equal_Area"],
    PARAMETER["latitude_of_center",52],
    PARAMETER["longitude_of_center",10],
    PARAMETER["false_easting",4321000],
    PARAMETER["false_northing",3210000],
    UNIT["Meter",1]]

"grs80" was well detected.
Thanks for the quick fix, I have merged it into the 6.2-relbranch for 6.2.1.

Markus

On Tue, Nov 07, 2006 at 11:45:29AM +0000, Paul Kelly wrote:

Hello Markus
ETRS_1989 is a non-standard datum name (i.e. not what's in the EPSG
database) - it should be European_Terrestrial_Reference_System_1989. I've
committed a patch to CVS to handle the non-standard version so you should
try it now.

BTW (not relevant after the above patch, but interesting anyway) with my
updates from Sunday night I would think it should at least recognise the
ellipsoid, but it will probably put in WGS_1984 instead of GRS_1980 as
they are the same within the tolerances we can check - I'm not sure which
I should have first in the ellipsoid table (the first matching one will be
reported)!

Paul

On Tue, 7 Nov 2006, Markus Neteler wrote:

>Hi,
>
>I tried to create a new location from the CLC2000 data from
>EEA, distributed on DVD. The SHAPE file comes with a .proj file:
>
>ogrinfo -so 100kmE58N17.shp 100kmE58N17
>INFO: Open of `100kmE58N17.shp'
> using driver `ESRI Shapefile' successful.
>
>Layer name: 100kmE58N17
>Geometry: Polygon
>Feature Count: 392
>Extent: (5800000.000180, 1699999.999117) - (5867022.238090, 1799999.999127)
>Layer SRS WKT:
>PROJCS["ETRS_1989_LAEA",
> GEOGCS["GCS_ETRS_1989",
> DATUM["ETRS_1989",
> SPHEROID["GRS_1980",6378137.0,298.257222101]],
> PRIMEM["Greenwich",0.0],
> UNIT["Degree",0.0174532925199433]],
> PROJECTION["Lambert_Azimuthal_Equal_Area"],
> PARAMETER["False_Easting",4321000.0],
> PARAMETER["False_Northing",3210000.0],
> PARAMETER["Central_Meridian",10.0],
> PARAMETER["Latitude_Of_Origin",52.0],
> UNIT["Meter",1.0]]
>CODE_00: String (3.0)
>AREA_HA: Real (17.5)
>SHAPE_area: Real (19.11)
>SHAPE_len: Real (19.11)
>
>
>But GRASS creates the location like this:
>
>GRASS 6.3.cvs (clc2000):/tmp > g.proj -w
>PROJCS["Lambert Azimuthal Equal Area",
> GEOGCS["unnamed",
> DATUM["unknown",
> SPHEROID["unnamed",6378137,298.257222101]],
> PRIMEM["Greenwich",0],
> UNIT["degree",0.0174532925199433]],
> PROJECTION["Lambert_Azimuthal_Equal_Area"],
> PARAMETER["latitude_of_center",52],
> PARAMETER["longitude_of_center",10],
> PARAMETER["false_easting",4321000],
> PARAMETER["false_northing",3210000],
> UNIT["Meter",1]]
>
>g.proj -p
>-PROJ_INFO-------------------------------------------------
>name : Lambert Azimuthal Equal Area
>proj : laea
>a : 6378137.0
>es : 0.006694380022900787
>lat_0 : 52
>lon_0 : 10
>x_0 : 4321000
>y_0 : 3210000
>no_defs : defined
>-PROJ_UNITS------------------------------------------------
>unit : Meter
>units : Meters
>meters : 1
>
>
>What's the trick to make GRASS recognize it completely?
>
>thanks,
>Markus
>
>_______________________________________________
>grass-dev mailing list
>grass-dev@grass.itc.it
>http://grass.itc.it/mailman/listinfo/grass-dev
>

--
Markus Neteler <neteler itc it> http://mpa.itc.it/markus/
ITC-irst - Centro per la Ricerca Scientifica e Tecnologica
MPBA - Predictive Models for Biol. & Environ. Data Analysis
Via Sommarive, 18 - 38050 Povo (Trento), Italy