The Lambert azimuthal equal-area

Morten Hulden morten at ngb.se
Wed Mar 31 11:05:53 EST 1999


Hello List

I posted some comments on this topic earlier, but my postings were
silently dropped by the server. My fault, because my email address has a
slightly different format now compared to when I subscribed the first
time.

Anyway, I did some hacking on the g.setproj source, and got grass5.0beta
to accept Lambert Equal Area as a supported projection. Could it be this
easy to add support for new projections in grass? Then it's trivial to add
all 118 different projections from PROJ4 (source is already included in
Grass). There may be side-effects, however. I guess I'll find out.

On Tue, 9 Mar 1999, Seppo Kaitala wrote:

> I am involved in mapping Arctic areas and I need to use
> the Lambert azimuthal equal-area projection for this mapping.
> Is it possible to use this projection under GRASS

To add support for Lambert Equal Area in grass5.0beta I tried the
following:

Edited two files (table.h and table.c) in src/general/g.setproj, adding
definitions for LEAC. Here are the diffs:

....................
diffs between table.h and table.h.original

19d18
< #define LEAC   7
21c20
< #define NPROJES 8
---
> #define NPROJES 7

....................
diffs between table.c and table.c.original
(note i am my own area as default, but you can change that)

74,87d73
<  TABLE[LEAC][LAT0].ask = 1;
<  TABLE[LEAC][LAT0].def_exists = 1;
<  TABLE[LEAC][LAT0].deflt = 55.0;
< 
<  TABLE[LEAC][LON0].ask = 1;
<  TABLE[LEAC][LON0].def_exists = 1;
<  TABLE[LEAC][LON0].deflt = 20.0;
< 
<  TABLE[LEAC][LAT1].ask = 1;
<  TABLE[LEAC][LAT1].def_exists = 1;
<  TABLE[LEAC][LAT1].deflt = 55.0;
< 
<  TABLE[LEAC][SOUTH].ask = 1;
<  
112d97
<    if (G_strcasecmp(str,"LEAC",4) == 0)   return LEAC;


.....................
Then recompiled g.setproj.
In addition  I added the following line to /etc/projections:
leac:Lambert Equal Area


After this I can define a leac projection and r.proj and v.proj will make
conversions to/from leac. I don't yet know how this effects other modules
in locations with the new projections. 

I tried the leac projection on data from the Eurasia Land Cover Data Base
at usgs.gov. They don't tell what first standard parallel they used
for their data so I tried to use the same value as the central parallel
(55N). I then used r.proj to import elevation data (from DEM) into this
mapset, and it fits nicely, but _not_ exaxtly. I don't know why, but it
could be the above mentioned value for lat_1, or because ealcdb use a
sphrerical globe and only half the resolution of DEM, which was made for
wgs84, or a combination of all these factors.

Anyway, if haven't broken anything with my hack, I'll try to add support
for other projections as well. It's essentially just a matter of copying
the parameter lists and default values from PROJ4 into table.h and
table.c.

Or...?

regards
Morten Hulden


 



More information about the grass-user mailing list