問題タブ [geosphere]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - geosphere パッケージからの「areaPolygon()」の出力を理解する
この質問からareaPolygon()
、座標のポリゴン内の面積を与える素晴らしい関数を取得しました。ただし、関数を試してみると、計算が奇妙に見えます。
2 つのポイントのセットを作成することから始めます
次に、これら 2 つの間の距離を確認します。
取得: 0.2827821 キロメートル (長方形の対角線になります)
長方形の作成を続けます
これがうまくいくかどうかを確認してください:plot(polygon)
ステップ 4: ポリゴン内の面積を計算します。
200*200=40000 m²
ただし、長方形の辺は 200 x 200 メートルなので、予想していたでしょう。これは次の方法で確認できます
だから私の質問に来て(最後に)私は何が間違っているのですか?ご助力ありがとうございます!
r - geosphere パッケージの境界関数
R の geosphere パッケージの関数 perimeter 関数に座標のセットを与えたいのですが、座標が閉じた多角形を形成しません。関数は線分の長さを教えてくれますか、それとも多角形自体を閉じて周囲を与えますか?
データは次のとおりです。
r - Rでマップに描かれた線に方向矢印を追加するにはどうすればよいですか?
maps
とパッケージを使用して作成しgeosphere
た航空会社の地図のような地図があります。ただし、マップ内の「ルート」の方向を示すために、線に矢印を追加したいと思います。私の現在の作業コードを以下に示します ( FlowingDataの素晴らしいチュートリアルに基づいています)。以前に線関数の代わりに矢印関数を使用しようとしましたが、矢印を地球圏の曲線に合わせる方法や、矢印がこのように見えるように線に沿って間隔を空ける方法がわかりません:
-->-->-->
私は R に非常に慣れていないので、あらゆる支援をいただければ幸いです。前もって感謝します。
r - R マップと地球圏: 国際日付変更線を越えずに都市を接続
大円を使用してRでマップ上のポイントを接続するためにマップと地球圏を使用する方法に関するこの素晴らしいチュートリアルを見つけました:
https://flowingdata.com/2011/05/11/how-to-map-connections-with-great-circles/
線が地図の端からはみ出す場合 (国際日付変更線を越える場合)、線を逆にする方法はありますか?
私の現在のコードは、DC と北京を接続する回線の場合、次のようになります。
明確にするために、次のようなものになりたいと思います。
これは、最初のものと同じ平面にある大円のもう 1 つの弧のようですが、描き方がわかりません。
r - 一方向に大円を描く
を使用してR Geosphere package
、米国とインドの間の GIS 座標のペアを結ぶ大円を描画しています。
私が知る限り、パッケージは地球上の 2 点間の最も近い距離を計算し、その方向に大円をプロットします (この方向は技術的にazimuth
? と呼ばれると思います)。
しかし、私のプロットでは、すべての大円が 1 つの方向 (太平洋ではなく大西洋を横切る) に向かうことを望んでいます。
それらを一方向に進める方法(最良)、または正しい方向に進んでいない大円を抑制する方法(あまり理想的ではない)はありますか?
r - 緯度と経度、x と y、およびそれらをプロットするときの差: geosphere と ggmap
緯度と経度のデータを使用して、ストックホルムのマップの各ポイントでメトリックをグラフィカルに表示しようとしています (そのポイントへの近さに基づいて)。私は、実際の距離ではなく、画像上で点が等間隔に配置されていることに関心があります。この意味で、赤道での緯度点間の距離は、極円に沿った距離よりも長いことを理解しています。質問にとって重要です。
私の目標は、マップを x 方向と y 方向の両方で約 1 km 刻みのグリッドに分割することでした。そのため、緯度と経度の最小値と最大値を取得し、ストックホルムの中心からの x と y の距離を計算し、緯度と経度の範囲を x と y 座標の範囲で割りました (地球圏を使用)。これを行ったのは、ポイントをプロットするときにポイントを等間隔にしたかったからです (そうしないと、赤道に近いため、マップの下部に比べて上部の x ポイント間の距離が短くなります)。
次に、これらの点を (ggmap を使用して) マップ上にプロットし、点間の距離が x 方向よりも y 方向の方が大きいことを観察しました。地図は単純に歪んで描かれているのかもしれませんが、少し歪んでいるとは思えません。何か間違ったことをしている可能性があると思いますが、それが何であるかを見つけることができません。
以下のコード例:
出力プロットからわかるように、x 方向と比較して、y 方向のポイント間の距離は少なくとも 2 倍です。
要約すると、x 座標と y 座標は地圏を使用して取得されます。マップはggmapを使用してプロットされます。
私は地球圏で何か間違ったことをしていますか? それとも、緯度と経度の地図が歪んでいますか? Google マップを開き、「距離を測定」ツールを使用して、上下左右の点の間で約 16.3 km と 16.9 km の推定値を取得しますが、地球圏で取得した値は 17 km と 32 km (x と y) です。 ) それぞれ。
誰かがここで何が起こっているのか教えてくれたら、とても感謝しています!
r - R: 大距離行列を計算する高速な方法
球上の多数の場所 (5000) 間の距離行列を計算しています (Haversine 距離関数を使用)。
これが私のコードです:
距離行列の計算にかかる時間は次のとおりです。
このプログラムの実行には時間がかかります。この仕事をするための時間消費を減らす方法を提案してください! ありがとう。