BookmarkSubscribeRSS Feed
Calcite | Level 5

## PROC GPROJECT LatLong to a specific Lambert

Dear all,

I work with SAS 9.4.

Now I am trying to apply proc gproject to covert WGS84-coordinates to a particular Lambert-projection.

And keep getting unsatisfactory results.

My test coordinates are:

long=13.84 ; lat=49.77

The correct answer should be

XOK=272304.68; YOK =2212578.11

My code is

data tmp; long=13.84 ; lat=49.77; XOK=272304.68; YOK =2212578.11; run;

proc gproject data=tmp out=tmp1 degrees latlong from="+proj=longlat +datum=WGS84"

to = "+proj=lcc +lat_1=40 +lat_2=60 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"; id ; run;

proc print data=tmp1; run;

 X Y long lat XOK YOK 316986.13 2908828.39 13.84 49.77 272304.68 2212578.11

which is obviously wrong

Then I tried it in R:

require(rgdal)

require(spatstat)

xy <- c(13.84, 49.77)

sp1 <- SpatialPoints(coord=matrix(xy, ncol=2))

proj4string(sp1) <- CRS("+proj=longlat +datum=WGS84")

spTransform(sp1, CRS=CRS("+proj=lcc +lat_1=40 +lat_2=60 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"))

which gives the correct values:

SpatialPoints:

coords.x1   coords.x2

[1,] 272304.7  2212578

Does Sas use some kind of a deviant formula for Lambert transformations?

Thanks in advance

1 REPLY 1
Meteorite | Level 14

## Re: PROC GPROJECT LatLong to a specific Lambert

It appears there was a bug in version 9.4, and it appears that bug is fixed in the 9.4 maintenance 4 (9.4m4) release.

Here's the output when I run your program at 9.4m4 ...

Discussion stats
• 1 reply
• 879 views
• 0 likes
• 2 in conversation