2012-01-02 4 views
1

city, statecountry의 세 변수를 갖는 df 데이터 프레임이 있습니다. 3 가지를 계산하고 싶습니다R/GIS : 일괄 처리, 거리 및 고도 계산

  1. 각 행의 위도/경도를 계산합니다.
  2. 임의의 지점에서 각 도시까지의 거리를 계산합니다. 예 : 국가 자본
  3. 위도/경도에서 각 지점의 표고를 계산합니다.

나는 1의 dismo 패키지를 사용할 수 있지만 df에서 "일괄 처리"하는 방법을 알아낼 수 없습니다, 대신 복사와 geocode(c()) 코드에 직접 도시, 주 및 국가 이름을 붙여. 2와 3에 관해서는, 나는 완전히 난처하게된다. 어떤 도움을 주시면 감사하겠습니다.

편집 참고 :이 게시물의 다른 독자에게 ... 나는 Paul과 Spacedman의 도움에 감사드립니다. 시스템은 하나 이상의 응답을 올 바른 것으로 표시하지 못하게합니다. 나는 그가 우주 비행사보다 먼저 반응했기 때문에 폴에게 엄지 손가락을 줬다. 두 사람이 시간을내어 작성한 것을 읽으십시오. 감사. 이후,

관련하여
df$geocode_string = with(df, paste(city, state, country, sep = ", ")) 
coords_latlong = geocode(df$geocode_string) 

소수점 숫자 2 : 지오의 입력 벡터를 만들

당신이 paste를 사용할 수있는 경우 1. :

답변

3

나는 각각의 포인트에 내 생각을 공유 할 dfsp 패키지 (SpatialPointsDataFrame, 함수를 sp에서 찾으십시오)에서 제공하는 클래스 중 하나로 변환하면 spDistsN1을 사용하여 모든 점 대 다른 점까지의 거리를 찾을 수 있습니다.

마지막으로 DEM (디지털 표고 모델)이 필요한 높이를 찾는 것이 더 까다 롭습니다. 어쩌면 제가 잘 모르는 geocode의 라인을 따라 더 쉬운 방법이 있을지도 모릅니다.

http://www.geonames.org/export/web-services.html

을하고 당신도 내 GeoNames을 패키지로 사용할 수 있습니다 :

+0

1 및 2에 스팟 온; 완벽하게 작동합니다. 많은 고마워, 폴. – user702432

+0

이 대답을 유용하게 사용하는 것이 좋다고 들었습니다. 당신이 내가 속한 답을 주었다고 생각한다면, 그 답을 정답으로 표시 할 수 있습니다. 또한 세 번째 질문에 대한 답변을 기다릴 수도 있습니다. –

+0

완료 및 완료되었습니다. 다른 독자가 내가 너와 스페이드 먼이 도움을 받았다는 것을 알 수 있도록 원래 게시물에 편집을 추가했지만, 나는 그 둘을 옳은 것으로 표시 할 수 없었다. 많은 감사합니다. – user702432

2

당신도 SRTM 또는 ASTER 상승 데이터베이스의 위치를 ​​조회 할 geonames.org 서비스를 사용할 수 있습니다

https://r-forge.r-project.org/projects/geonames/

인생을 더 편하게 만듭니다.

+0

포인터 주셔서 감사. 내가 올바르게 이해한다면 geonames 데이터는 국가의 모든 위치를 나열한다는 점에서 "센서스 완료"가 아닙니다. 이 경우별로 사용하지 않습니다. – user702432

+0

지오 코딩에 사용할 것을 제안하지는 않았지만 일단 지자기 코딩을 사용하면 고도 API를 사용하여 목록에서 3 번을 얻을 수 있습니다. – Spacedman

+0

aster와 srtm dem에서 정보를 얻는 간단한 방법. 감사! –