Data visualization with SAS programming

PROC GPROJECT LatLong to a specific Lambert

Reply
N/A
Posts: 1

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;

XYlonglatXOKYOK
316986.132908828.3913.8449.77272304.682212578.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

SAS Employee
Posts: 980

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 ...

 

gproject.png

Ask a Question
Discussion stats
  • 1 reply
  • 326 views
  • 0 likes
  • 2 in conversation