2013-04-18 6 views
0

페루에서 가져온 UTM 영역 19에서 ~ 40 포인트를 Google 어스에 투영하려면 위도/경도로 변환하고 싶습니다. PBSmapping에 몇 가지 문제가있어 해결책을 찾을 수없는 것 같습니다. 나는 포럼을 검색하여 proj4의 프로젝트 명령을 포함하여 여러 가지 다른 방법을 시도했지만 여전히 작동하지 않습니다. 저는 여기에 현재 어딘가에 -12.9XXXXX와 -13.0XXXXX 사이 긴 -71.4XXXX하는 -71.8XXXX 사이 라트와남반구에서 UTM을 위도로 변환하는 데 문제가 발생했습니다.

library(PBSmapping) 
#just two example UTM coordinates 
data<-as.data.frame(matrix(c(214012,197036,8545520,8567292),nrow=2)) 
attr(data,"projection") <- "UTM" 
attr(data, "zone") <- 19 
colnames(data)<-c("X","Y") 
convUL(data,km=FALSE) 

대응 위도/걷고이어야를 작성한 코드입니다. convUL에 의해 주어진 값은 벗어난 것처럼 보입니다.

+0

파일을 작성합니다. 적어도 일반적인 참조 시스템 EPSG 24892 및 EPSG 24893에는 해당되지 않습니다. 확인할 수 있습니까? –

답변

0

당신이 좌표의 유효한 쌍을 얻을 후에는 다음과 같이 할 수있는 :

# Use the appropriate EPSG Code 
proj4string(data) = CRS('+init=epsg:24891') # 24891 or 24893 

지리적 좌표 enter code here data_wgs84 <로 변환

library(rgdal) 
data <- data.frame(id = c(1:2), x = c(214012,197036) , y = c(8545520,8567292)) 
coordinates(data) = ~x+y 

Asign 투사 - spTransform (데이터, CRS를 ('+ init = epsg : 4326'))

플롯 할 올바른 배경 데이터를 가져옵니다.

# Country data 
package(dismo) 
peru <-getData('GADM', country='PER', level=0) 
plot(peru, axes = T) 
plot(data, add = T) 

은 KML이 유효 UTM 페루 좌표를하지 않을 것으로 보인다

# Export kml 
tmpd <- 'D:\\' 
writeOGR(data_wgs84, paste(tmpd, "peru_data.kml", sep="/"), 'id', driver="KML")