0

WGS84 좌표를 포함하는 큰 데이터 집합이 있습니다. 장/경 좌표로 변환하고 싶습니다. WGS84 좌표는 현재 자체 열 (예 : "North" "East")로 분리되고 추가로 "Zone"이 해당 영역으로 분리됩니다. 총 몇 개의 구역이 있습니다.R/W를 사용하여 WGS84를 위도/경도로 변환하는 방법 R

이러한 열을 위도/경도로 변환하고이를 새로운 열에 저장하는 방법에 대한 제안 사항이 있으십니까? 데이터 세트의

예 : 당신은 sp 패키지를 읽을 수도 있습니다

Longitude Latitude zone 
233243 6571770 33 
262706 6653520 33 
195348 6573696 33 
256880 6645020 33 
260610 6654042 32 
13799  6505840 33 
+3

Ummm WGS84 *는 lat-long입니다. (사람들이 "WGS84"라고 말하면 일반적으로 EPSG : 4326 lat-long을 의미합니다). 실제 데이터를 볼 기회가 있습니까? 그렇지 않으면 우리는 참으로 ... 여기 – Spacedman

+0

을 추측하고, 원시 데이터는 여기() 4952 (경도) 6,470,636 (위도) 32 (영역) 대상의 열 이름 데이터 예입니다 "길고 위도"이었다 형식은 다음과 같습니다. 13.665768 (경도) 59.739838 (위도) 이러한 형식은 모두 안정적이지 않습니다. P – andreas

+1

WGS84가 아닌 UTM 좌표입니다. 질문을 편집하기 위해 몇 줄의 데이터를 붙여 넣을 수 있습니까? – Spacedman

답변

1

는, 좌표, 그리고 spTransform 기능. 다른 것들 사이. 데이터 프레임으로 d 들어

:

> d 
    Longitude Latitude zone 
1 233243 6571770 33 
2 262706 6653520 33 
3 195348 6573696 33 
4 256880 6645020 33 
5 260610 6654042 32 
6  13799 6505840 33 

되는 계획 : 기준 시스템 "좌표, 각리스트 요소는 공간 포인트 데이터를 프레임으로 만들고 상기 zone ID가리스트로 분할 사용 + init = epsg : 326 "+"zone "(예 :"+ init = epsg : 32633 ", 영역 33), epsg : 4326 lat-long으로 변환 한 다음이 로트를 단일 공간 지점 데이터 프레임에 함께 묶습니다.

필요 :

> library(sp) ; library(raster) 
, CRS를 좌표를 설정, 모든 부분 이상

> byzone = split(d,d$zone) 

및 변환 :

존 ID로 목록을 작성

> zdll = lapply(byzone, 
    function(zd){ 
     coordinates(zd)=~Longitude+Latitude 
     proj4string(zd)=paste0("+init=epsg:326",zd$zone[1]) 
     spTransform(zd, CRS("+init=epsg:4326")) 
    }) 

을 지금 그들을 조인

> dll = do.call(rbind.SpatialPointsDataFrame, zdll) 

dll을 플로팅하면 이제 lat-long에 포인트가 표시됩니다. 좌표를 원하면 원래 좌표와 비교하려면 다음과 같이하십시오.

> cbind(d, coordinates(dll)) 
    Longitude Latitude zone Longitude Latitude 
5 233243 6571770 33 4.712098 59.95395 
1 262706 6653520 33 10.327202 59.20086 
2 195348 6573696 33 10.750120 59.95049 
3 256880 6645020 33 9.663825 59.19259 
4 260610 6654042 32 10.656096 59.87099 
6  13799 6505840 33 6.663177 58.42136 

예상되는 위치에 있습니까?

+0

고맙다 !, 이것은 정말로 나의 문제를 해결했다! :) – andreas

+0

업데이트 : 이제 UTM/위도가 긴 좌표 중 일부가지도 (예 : http://www.geoplaner.com/)에 해당하는 반면 다른지도에는 상당한 불일치가있는 것 같습니다. 가능한 원인에 대한 제안 사항이 있습니까? – andreas