問題タブ [haversine]

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.

0 投票する
1 に答える
846 参照

mysql - Mysql 再帰クエリ / 余弦の球面法則

座標 (緯度/経度) から mysql データベースに最も近い場所を検索したいのですが、これらの場所を検索するために球面余弦法を使用します。

ここで、6371 は地球の半径 (km)、111 (km) は緯度の 1°、cos(latitude) * 111 (km) は経度の 1°、5 (km) は検索半径です。

問題 : 少なくとも 8 つの都市を見つけたいのですが、半径 5 km は小さいですが、凝縮ゾーン (多くの都市) では高速です。そのため、search radius凝縮ゾーンに大きすぎる値を使用すると、クエリは遅くなります (多くの結果: 並べ替え)。非凝縮の場合、search radius少なくとも 8 つの都市を見つけるには小さすぎます...

search radius見つかった都市の数が 8 未満の場合 (mysql のみを使用)、(x2)を自動的に増加させる再帰クエリを作成するにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
1206 参照

xml - google maps API ジオコードが近くの KML を見つける

Google マップのディスカッション グループで多くの人がこれについて質問し、生産的なディスカッションを行っているのを見たので、ここで試してみようと思いました。

目標: Google Maps API で、ユーザーの住所が入力されたときにデータセットから「近く」の結果を返すことができる検索可能な地図を作成します。

これまでの私のアプローチ: データポイントを KML に入れることから始めました。これは、a) Google Maps API で簡単に使用でき、b) XML ドキュメントであり、走査が非常に簡単だからです。私が理解しているように、Geocode メソッドは、あらゆる種類のユーザーの地理情報に対する API の基本的なエントリ ポイントです。Geocode が緯度と経度を返すようにし、Haversine 式を使用してこのポイントと KML ファイル内のすべての目印の間の距離を計算し、最後にユーザーの緯度と経度から最短距離のポイントを表示する必要があると考えました。

Haversine 計算を実行する Javascript を少し見たことがありますが、API を取得して KML ファイル内のすべてのデータポイントを読み取る方法が不明です。Google は、PHP と MySQL db を使用してこれを行う方法について役立つドキュメントを公開しましたが、KML の状況ではあまり役に立ちません。

では、Google Maps API で KML を検索および解析するにはどうすればよいでしょうか。

ありがとう!

0 投票する
5 に答える
6266 参照

mysql - MySQLでHaversine式を使用して距離を測定する方法は?

Google Maps Reverse-Geocoding API から緯度と経度を取得した後、次のようなものが必要です。

更新 これを機能させることができません

0 投票する
10 に答える
180784 参照

python - Python の Haversine Formula (2 つの GPS ポイント間の方位と距離)

問題

2 つの GPS ポイント間の距離と方位を取得する方法を知りたいです。ハーバシンの公式について調べてみました。誰かが、同じデータを使って方位を見つけることもできると教えてくれました。

編集

すべてが正常に機能していますが、ベアリングはまだ正しく機能していません。方位は負を出力しますが、0 ~ 360 度の間である必要があります。設定されたデータは、水平方向のベアリングを作成する必要があり、次の96.02166666666666 とおりです。

ここに私の新しいコードがあります:

0 投票する
2 に答える
3735 参照

geolocation - 極付近の距離を計算するには、どの地球半径を使用すればよいですか?

カナダのディスカバリー岬から北極点に向かっている GPS ユニットを監視しています。毎日の移動距離と残りの距離を追跡する必要があるため、短い距離では非常に正確であると言われているHaversine Formulaを使用しています。

私は数学が本当に苦手ですが、正確さは地球の半径に大きく依存するのではないかとこっそり疑っています。また、宇宙が偏球面から地球を作ることにしたので、地球の半径を近似するための選択肢があります。から選ぶ。

私は北極に非常に近い座標を監視しているので、どの半径が最も正確かを誰かが知っているかどうか疑問に思っています.

  • 平均赤道: 6,378.1370km
  • 平均極性: 6,356.7523
  • オーサリック/ボリューム: 6,371km
  • 子午線: 6367km

または、誰もが知っている他の種類の半径はありますか?

数学や地図作成の達人がこれに対する答えを知っていることを願っています。

0 投票する
2 に答える
4118 参照

sql - SQL サーバーを使用して最も近い会場を見つけるための Haversine 式 - vb.net

フォームから郵便番号を取得しています。次に、この郵便番号を lng,lat 座標に変換できます。これらはテーブルに保存されているからです。

SELECT lng, lat from postcodeLngLat WHERE postcode = 'CV1'

選択した会場の緯度経度を保存する別のテーブルがあります。

SELECT v.lat, v.lng, v.name, p.lat, p.lng, p.postcode, 'HAVERSINE' AS distance FROM venuepostcodes v, postcodeLngLat p WHERE p.outcode = 'CB6' ORDER BY distance

私がやろうとしているのは、郵便番号 (この場合は CV1) から各会場までの距離を示すデータグリッドを作成することです。Haversine 式が達成しようとしていることを実行する必要があることはわかっていますが、それをどこからクエリに組み込み始めればよいかわかりません。'HAVERSINE'上記のクエリに入力した場所に式を配置する必要があると思います。

何か案は?

編集

SELECT o.outcode AS lead_postcode, v.venue_name, 6371.0E * ( 2.0E *asin(case when 1.0E < (sqrt(square(sin(((RADIANS(CAST(o.lat AS FLOAT)))-(RADIANS(CAST(v.lat AS FLOAT))))/2.0E)) + (cos(RADIANS(CAST(v.lat AS FLOAT))) * cos(RADIANS(CAST(o.lat AS FLOAT))) * square(sin(((RADIANS(CAST(o.lng AS FLOAT)))-(RADIANS(CAST(v.lng AS FLOAT))))/2.0E))))) then 1.0E else (sqrt(square(sin(((RADIANS(CAST(o.lat AS FLOAT)))-(RADIANS(CAST(v.lat AS FLOAT))))/2.0E)) + (cos(RADIANS(CAST(v.lat AS FLOAT))) * cos(RADIANS(CAST(o.lat AS FLOAT))) * square(sin(((RADIANS(CAST(o.lng AS FLOAT)))-(RADIANS(CAST(v.lng AS FLOAT))))/2.0E))))) end )) AS distance FROM venuepostcodes v, outcodepostcodes o WHERE o.outcode = 'CB6' ORDER BY distance

0 投票する
3 に答える
933 参照

iphone - sqlite の Haversine 関数を iPhone プロジェクトに実装する

1 時間の調査の結果、 http: //www.thismuchiknow.co.uk/?p=71 の関数が iPhone に Haversine 関数を実装する方法であることにほとんどの人が同意しているように見えることがわかりました。緯度と経度でいっぱいのデータベースがある場合に、結果を距離で並べ替えるためのプロジェクト。ただし、実際にプロジェクトに含める方法についてはほとんど助けがないようで、私自身は運がありません。

関数を ViewController.m ファイルのどこに追加しても、エラーが発生しますexpected ')' before '*' tokenstatic void distanceFunc(sqlite3_context *context, int argc, sqlite3_value **argv);.h ファイルに入れる必要があると言う人もいますが、同じエラーが発生します。

iPhoneプロジェクトにこの機能を含める簡単な例を誰か提供できますか?

0 投票する
4 に答える
4629 参照

c - C、2つのGPS位置間の距離を計算しますか?

2つのGPS位置、たとえば51.507222、-0.1275と48.856667、2.350833がある場合、2つの間の距離を計算するためにどの式を使用できますか?半正矢関数についてはよく耳にしますが、それに関する情報や、Cへの適用方法がわかりません。

私は次のコードを書きましたが、それは非常に不正確です。誰もが理由を知っていますか?私はそれを理解することはできません。問題は関数自体にありますが、それが何であるかはわかりません。

0 投票する
2 に答える
2294 参照

android - 2点から速度を計算する

私はこの質問がたくさん聞かれていることを知っていますが、まだ満足のいくものではありません。AndroidデバイスのGPSを使用して速度を計算しようとしています。多くの人は、LocationオブジェクトのgetSpeed()関数を使用するだけだと言って返信しているようです。私が理解していることから、g​​etSpeed()は、GPS受信機チップに速度センサーが組み込まれている特定のデバイスでのみ機能します。これに関係なくアプリケーションを動作させたいので、次の半正矢関数を使用しています。

今私がやろうとしているのは、これから速度を計算する方法を理解することです。誰か助けてくれませんか?

0 投票する
2 に答える
1159 参照

python - sqlalchemyでのHaversineの式

コードに次の行があります

これを使用すると、次のエラーが発生します

これを修正する正しい方法は何ですか?