問題タブ [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 投票する
2 に答える
819 参照

sql-server - 他のユーザーとの距離を見つける際の問題 Sql Server 2005 - Haversine

ユーザーのテーブルがあり、緯度、経度に基づいて最も近いユーザーを見つける必要があります。距離も必要です。私は 2 日間、harsine 式と代替案に苦労してきましたが、いくつかのエラーに直面しています。

例として、マレーシアのクアラルンプール (およそ 3.2, 102) の緯度経度を使用するとします。

ピタゴラスの使用:

「正しい」結果が得られます(その時点に近いユーザー)。しかし、そこからの距離 (KM) を取得することはできません。完全に正しいわけではないことはわかっています。だから私はhaversineを使用しようとしました:

奇妙なことは、これによりユーザーが別の場所にいることです。実際、トップ 1 の結果は、緯度 = 5.55、経度 = -0.20 のガーナのユーザーです。

これは私を夢中にさせています...もちろん、ピタゴラスの結果に110 kmを掛けることでおおよその距離を計算できますが、より正確な結果が欲しいです。

誰かが間違っていることを指摘してくれることを願っています。

haversine 式などのさまざまな実装へのリンクを投稿しないでください。私はそれらを 2 日間調べています。

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

sql - 三角法を使用しない SQL 距離クエリ

三角関数をサポートしていない SQLite データベースがあります。テーブル内の一連の緯度、経度のペアを、2 番目の緯度、経度のペアと比較して距離で並べ替えたいと思います。私は、緯度、経度のペアを距離でソートするための標準のハバーサイン距離式に精通しています。

この場合、特に精度は気にしません。ポイントは大きな距離で区切られているため、曲線を直線として処理して距離を丸めることは気にしません。

私の質問ですが、この種のクエリに対して一般的に受け入れられている式はありますか? 三角関数がないことを忘れないでください!

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

iphone - iPhone で Haversine Formula を使用して 2 地点間の距離を計算するにはどうすればよいですか?

Haversine 式を使用して 2 地点間の距離を計算します。実際、私は2つの場所の緯度と経度の値を持っています. ここで、Haversine 式を使用してその場所間の距離を計算したいと思います。

例:

ここで、 Haversine Formulaを使用して距離を計算したいと思います。

私を助けてください。ありがとう!

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

php - PostgreSQL と PDO で Haversine 式を使用する

私のサイトでは、近くの場所を取得しようとしています。

これには、Haversine 式を使用しようとしています。

次のクエリを使用して、半径 25 km 以内のすべての場所を取得しています。

ただし、次のエラーが発生するため、一部の関数は MySQL のみである可能性があると思います。

警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42883]: 未定義の関数: 7 エラー: 関数 radians(text) が存在しません 行 1: ...id, ( 6371 * acos( cos( radians( 51.8391) ) * cos( radians( l... ^ ヒント: 指定された名前と引数の型に一致する関数はありません。明示的な型キャストを追加する必要があるかもしれません。in ...

あるいはlat、クエリのテキストを変更しなければならないという事実に関係しているのかもしれません。しかし、私はそれがどうあるべきかわかりません。

51.8391 と 4.6265 は、私の「出発点」の経度と緯度です。

何を変更すればよいかわからないので、どんな助けも大歓迎です:-)

編集

問題は私がやろうとしているところにあるようです: radians(lat).

lat は私のテーブルの列です。

rad()hakre が提案したように使用しようとすると、エラーが次のように変わります。function rad(numeric) does not exist

編集2

今、私たちはどこかに到達しています。

実際にテキストとして設定されている列のデータ型 (mu で提案されているように短すぎます)。

倍精度に変更しました。

ただし、別のエラーが発生します。

警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42703]: 未定義の列: 7 エラー: 列 "距離" が存在しません LINE 1: ...adians( lat ) ) ) AS 距離 FROM ショップ HAVING距離 <... ^ in ...

しかし、selectでエイリアスを作成したと思いました。何か案は?

また、これを別の質問にすべきだと思う場合は、私に知らせてください。これを閉じます。

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

sql - Oracle への Haversine クエリ

現在、クエリを実行して、SQLSERVER ではなく Oracle を使用するように転送する必要があります。ここから使用しているこのクエリに少し行き詰まっています。

これは見るのが恐ろしいクエリであることはわかっていますが、オラクルはこれに多くの問題を抱えているようです。

Eまず、 in6371Eとそれに続くすべての がE好きではありません

次に、関数が気に入らないsquareので、関数を使用することにしましたpowerが、それでもエラーが発生しました。

radians第三に、機能が気に入らない

第四に、その部分が気に入らないので、これを句でTOP 1使用するように変更しROWNUMましたWHERE

ここで何をすべきか完全に迷っています。

それを機能させるために何ができるかについてのアイデアはありますか?

前もって感謝します

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

android - 2 つの地理的ポイント間の距離を見つけるためのソース コード

私は Android アプリに取り組んでおり、店舗ロケーターの詳細とマップ ビューを追加したいと考えています。たくさん検索しましたが、意図的なものは何も得られません。緊張しており、あなたの助けが強く必要です。

問題は、2 つの座標間の距離を見つけたい、Haversine 式を 1 つ取得した、しかし、プログラムを正常に実行する方法がわからない、Android の初心者なので、段階的にコーディングします。つまり、xml コードも..、お願いします。

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

java - Solr 3.4 Geodist 関数、正しくない/または望ましくない結果

Solr 3.4 に問題があり、Geodist や Geofilt などの空間検索機能を使用しています。すべてが問題ないようで、結果は、指定された中心点からの距離でおそらくソートされて返されます。

ただし、Solr 3.4 には関数の結果をデータで返す機能がないため、手動で (この場合は PHP で) 計算する必要がありました。

私はドキュメントを読みました.geodistは、2つの緯度/経度ポイント間の地理距離のhaversine関数を実装する関数である必要があります. 関数を PHP に移植し (簡単に!)、正しい結果が得られることを確認しました。

問題は次のとおりです。Solrは、見つけられなかった別の式で距離を計算します。したがって、PHP で距離を再計算すると、データの距離に一貫性がなくなります (たとえば、83Mile ではなく 132Mile)。これは許容できる違いではありません。

私の解決策: データへのポートで間違いを犯したかどうかを確認するために関数比較を作成すると便利だと言いました。Solrコードを掘り下げて、hasine のリテラル実装を抽出しましたorg.apache.solr.search.function.distance.HaversineConstFunction。このテスト スクリプト (完全なソース コードとデータ) を作成しました。

Solr (または Lucene) は、ジオディストの実装として haversine を使用しないという私の結論。しかし、どの方程式かわかりません。

UPDATEバグが解決されました。テストをやりすぎたと思います。間違ったパラメーターの命名が原因で、誤った結果が発生しました。Solr Web サービスからの結果の順序を変更するために、(Solr 規則) の代わりに (SQL からのもの) を使用していましたordersort

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

gps - GPS 距離計算

それぞれ緯度と経度の値を持つ 2 つの GPS 位置間の距離を計算したいと考えています。計算は、近距離の結果に対して正確でなければなりません。例えば。< 300m。Google Earth を使用する場合 (コードの coord を参照)、距離は ~136m です。記事で提供されているソリューションを使用すると、http://www.movable-type.co.uk/scripts/latlong.html (haversine 式) の結果はそれに近くありません。

使用コード:

多少の変更があるはずですが、見えません。

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

python - フットプリントの緯度/経度の Python ソート辞書

楕円体の表面で衛星カバレッジのフットプリントを計算しています。関数は以下のような緯度/経度のリストを返します。Python の辞書リストです。これをMatlabまたはMatplotlibで散布図にすると、切断された点の素晴らしい3Dフットプリントが得られます..しかし、プロット(散布ではない)コマンドを使用して、フットプリントを表す滑らかな3D円を作成できるようにしたいと考えています. これを行うには、何らかの方法でそれらを並べ替える必要があります。各ポイントの最近傍を見つけるために Haversine (最大円距離) を試しましたが、より大きな値のセット (GEO sats) がある場合、これでも時々切断された線が表示されます。また、フットプリントが赤道にまたがる場合は値を北緯と南緯に分割し、経度で並べ替えようとしました。私'

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

sql - 緯度/経度を指定した距離ベースの JOIN

次の表を考えます。

A の各行を B の最も近い行に関連付ける効率的な T-SQL クエリを作成するにはどうすればよいですか?

ResultSet には、A のすべての行が含まれ、それらを B の 1 つの要素のみに関連付ける必要があります。私が探している形式は次のとおりです。

緯度と経度の 2 つのペアを指定して距離を計算する関数があります。order by ... limit 1and/orを使用して何かを試してみましrank() over (partition by ...) as rowCount ... where rowCount = 1たが、結果は実際には必要なものではないか、戻るのに時間がかかりすぎます。

何か不足していますか?