[GRASS-dev] [grass-code I][551] g.setproj bug: latitude_of_center and longitude_of_center ignored

grass-dev at lists.osgeo.org grass-dev at lists.osgeo.org
Tue Dec 4 15:57:55 EST 2007


code I item #551, was opened at 2007-12-04 21:57
Status: Open
Priority: 3
Submitted By: Markus Neteler (markusn)
Assigned to: Nobody (None)
Summary: g.setproj bug: latitude_of_center and longitude_of_center ignored 
Issue type: library bug
Issue status: None
GRASS version: CVS HEAD
GRASS component: general
Operating system: all
Operating system version: 
GRASS CVS checkout date, if applies (YYMMDD): 


Initial Comment:
I discovered two issues with the Swiss. Obl. Mercator definition:

When defining it from scratch:

D   Other Projection

Please specify projection name
>somerc

Please specify datum name
>list
Number  Details
---
1       Used in whole ch1903 region
        (PROJ.4 Params towgs84=674.253,15.053,405.324)
        Default 3-Parameter Transformation (May not be optimum for older datums; use this only if no more appropriate options are available.)

-> here the 7-param is missing which is listed (but commented) in
lib/gis/datumtransform.table. Any objections to activate that?

We continue in the dialog as usual... (I custom defined the 7-param).
Then:


g.proj -w
PROJCS["Swiss. Obl. Mercator",
    GEOGCS["bessel",
        DATUM["unknown",
            SPHEROID["Bessel_1841",6377397.155,299.1528128],
            TOWGS84[660.077,13.551,369.344,2.484,1.783,2.939,0.56]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Hotine_Oblique_Mercator"],
    PARAMETER["latitude_of_center",0],
    PARAMETER["longitude_of_center",0],
    PARAMETER["azimuth",90],
    PARAMETER["rectified_grid_angle",90],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",600000],
    PARAMETER["false_northing",200000],
    UNIT["meter",1]]


-> we observe that latitude_of_center and longitude_of_center are WRONG.

Compare http://www.epsg-registry.org/
-> [retrieve by code]
Code: 21781
       
Latitude of projection centre:
46° 57' 8.66" N
Unit of Measure:
sexagesimal DMS
Sign Reversible:
No
       
Longitude of projection centre:
7° 26' 22.5" E
Unit of Measure:
sexagesimal DMS
Sign Reversible:
No
       
Azimuth of initial line:
90°
Unit of Measure:
sexagesimal DMS
Sign Reversible:
No
       
Angle from Rectified to Skew Grid:
90°
Unit of Measure:
sexagesimal DMS
Sign Reversible:
No
       
Scale factor on initial line:
1
Unit of Measure:
unity
Sign Reversible:
No
       
Easting at projection centre:
600000
Unit of Measure:
metre
Sign Reversible:
No
       
Northing at projection centre:
200000
Unit of Measure:
metre
Sign Reversible:
No

BUT if I look into:

cd general/g.setproj/
grep -i somer *
main.c:     else if (G_strcasecmp(proj_out, "SOMERC") == 0) {
proj-parms.table:SOMERC:Swiss. Obl. Mercator:KFACT=noask,1.0;LAT0=noask,46.952405556;LON0=noask,7.4395833333;X0=noask,600000.0;Y0=noask,200000.0

It seems to be there. How come that this isn't used? I am not familiar enough
with the mechanism to fix that...

Markus 

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

You can respond by visiting: 
http://wald.intevation.org/tracker/?func=detail&atid=204&aid=551&group_id=21


More information about the grass-dev mailing list