2012-01-02 18 views
1

データフレームdfは、変数が3つあり、city,stateおよびcountryです。私は3つのものを計算したいR/GIS:バルク処理、距離および高度計算

  1. 各行の緯度/経度を計算します。
  2. 各都市の任意の地点、例えば国の首都からの距離を計算する
  3. 緯度/経度から各地点の標高を計算する。

私は1のためdismoパッケージを使用することができますが、コピーの代わり、dfから「バルクプロセス」への道を把握し、直接geocode(c())コードに都市、州、国の名前を貼り付けることはできません。 2と3については、私は完全に困惑しています。どんな助けもありがとう。

編集注:このポストの他の読者に...私はポールとスペンサーマンの助けに感謝します。システムでは、複数の応答を正しいものとしてマークすることはできません。 Spacemanの前に彼が反応したので、私はPaulに親指を与えた。彼らの両者が書いた時間を読んでください。ありがとう。

答えて

3

私はポイントのそれぞれに私の考えを共有しましょう:

場合1.あなたはジオコードのための入力ベクトルの作成にpasteを使用することができます後、ポイント番号2に関しては

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

dfspパッケージ(SpatialPointsDataFramecoordinatesの機能をspから参照)で提供されるクラスに変換する場合は、spDistsN1を使用して、すべてのポイントから他の1つのポイントまでの距離を見つけることができます。

最終的には、DEM(デジタル標高モデル)が必要な高さを見つけるためには少し難解です。たぶん私が気づいていないgeocodeの行に沿ってもっと簡単な方法があります。

+0

1と2の間にスポットがあります。完璧に動作します。多くのありがとう、ポール。 – user702432

+0

この回答が役に立ちましたことをお聞きしてうれしいです。もしあなたが私の答えを教えてくれたら、それを正解とすることができます。あなたはまた、あなたの第3のポイントに答えるかもしれないより多くの答えを待って見ることができます。 –

+0

完了しました。元の投稿に編集を加えて、他の読者にあなたとスペンサーマンの両方が助けてくれたことを知らせましたが、両方とも正しいとマークすることはできませんでした。どうもありがとう。 – user702432

2

あなたはSRTMやASTERのいずれか標高データベース上の場所を照会するgeonames.orgサービスを使用することができます。

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

とあなたも私のgeonamesパッケージを使用することができるかもしれない:

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

人生を楽にする。

+0

ポインタをありがとう。私がそれを正しく理解していれば、国のすべての場所がリストされているので、geonamesデータは「国勢調査完了」ではありません。その場合はあまり使用しないでください。 – user702432

+0

ジオコーディングに使用することを示唆していませんでしたが、緯度経度を取得したら高度APIを使用してリストに3を取得できます。 – Spacedman

+0

asterとsrtm demから情報を取得する簡単な方法です。ありがとう! –

関連する問題