問題タブ [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.
mysql - haversine distance - MySQL と PHP は同じ数式に対して異なる結果を返します
距離(直線)
from: (緯度) 48.73233 (経度) 2.36618
to: lat() 48.84647 (ロング) 2.41026
一部に等しい: 13096.16 メートル
PHP 式を使用すると、適切な結果が得られます。
しかし、同じ PHP 式を MySQL クエリに直接変換すると、5904.2757 などが得られます。
コードは次のとおりです。
php:
mysql:
mysql - 部分文字列関数の結果を使用して複数の列の値を計算する
経度と緯度で最も近い点を見つけるために実行しようとしています。正常に機能するのは、データベースに個別の値が保存されていることですが、パイプで接続された単一の文字列があり、部分文字列インデックスで分割できます。ただし、選択クエリでこれらの関数を組み合わせようとすると、喜びが得られません。
誰でも光を当てることができますか?
php - hasersine と float を使用した距離計算...
モバイル アプリから提供された緯度/経度に最も近い場所を取得するために、harsine クエリを使用しています。
クエリは次のようになります。
これはうまく機能しており、取得すべき場所を正確に取得しています。
問題は、dist_x をユーザーが読み取り可能なものに変換することです。現在、dist_x が 0.00996273036944 のように読み取られるとしましょう (floatval と文字列が同じように表示されるため、適切に変換されます)
クエリは 1 マイル以内で検索しているため、これをフィートに変換しようとしているので、dist_x を 5280 で割っています。
返されるのは $distance = 1.88688075179E-6 です
私は何を間違っていますか?
visual-c++ - Haversine 式を使用して 2 つの都市の距離を計算する - マイナスの経度を処理する方法
Haversine 公式を使用して 2 つの都市間の距離を求めます。以下はVC++のコードです。
しかし、ポイント (18.567367, -68.363431) と (33.636719,-84.428067) の間の距離を見つけることができませんでした [最初の値は緯度、2 番目の値は経度]。-1.#IND のような値になります。
この問題の対処法を教えてください。
以下はコードです:
少し早いですがお礼を....!!
vector - 2 つのジオロケーション間の方向ベクトル
私は Android AR アプリ (はい、別のアプリ) を構築していますが、フレームワークを使用するよりもその背後にある数学を理解することに関心があります (これとこれを知っている)。
場所 (lat1,long1) と (lat2,long2) を指定して、Location1 から Location2 への方向ベクトル (x、y、z) を検索しています。
このサイトを使用して、Location1 と Location2 の間の距離と (初期) 方位を計算できます。
今、私は2つのアプローチを開発します(高度を無視します)
と
でも今は行き詰まってイライラしています... 結果は同じではないでしょうか? 推論の誤りはどこにありますか? 方向ベクトルを計算するにはどうすればよいですか (または、2 番目のアプローチがうまくいかなかったのはなぜですか?)
ご協力いただきありがとうございます
php - PHP/PDOを介してMySQLデータベースからDistinctRowsを選択します
こんにちは私は、路面の変形(ポットホールやスピードバンプなど)が検出されたときに緯度、経度、住所、重大度を保存する電話ギャップアプリケーションを持っています。
これまでのところ、PHPPDOを介してこれらをデータベースに保存することはまったく問題ではありません。PDOは、報告されている甌穴がすでに10回報告されている場合(15メートルの範囲内のエントリがないかデータベースをチェックする)、報告されない(つまり、データベースに再度挿入される)ように設計されています。また、表面の変形をロードすることも問題ではありません。私はそれを行うためにHaversineの式を使用しています。ここでは、ユーザーの緯度と経度を渡し、特定の距離内の値を取得します。
私が抱えている問題は、同じ甌穴が10回報告される可能性があるため、同じ甌穴が地図上にチャートを作成するためのアプリケーションに10回報告されることになります。私がする必要があるのは、ユーザーから一定の距離内にある甌穴のリストを取得し(半正矢関数を使用して実行)、このリストから、同じではなく個別の甌穴のみを取得するように甌穴をフィルタリングすることです甌穴は10回返されます。誰かが私がそのようなフィルタリングをどのように行うことができるか考えていますか?PHP / PDOでこれを行う方法を教えてもらえますか、または利用可能な場合は同様のチュートリアルを教えてもらえますか?
簡単に言うと、次のようにする必要があります。データベースに、ポットホールAとポットホールBの近くにいて、ポットホールAのレポートが6つ、ポットホールBのレポートが8つあるとします。半正矢関数を使用することにより、ポットホールAとポットホールBのレポートのすべての値を取得します(つまり、14の結果)。必要なのは、ポットホールAのレポートの中間点とポットホールBのレポートの中間点を取得し(http://www.geomidpoint.com/calculation.htmlを使用)、2つの結果(1つはAと14の結果ではなくB)の1つ。
javascript - 複数の JavaScript 配列のソート
私はこのスクリプトを Haversine 式を使用して作成しました。問題は、配列を何度交換しても、配列の最初の場所に移動し続けることです。何か案は?
php - PHPとMySQLの地理的距離の計算
緯度/経度の座標とマイル単位の距離を取得し、郵便番号/緯度経度のペア(40,000行以上)のMySQLテーブルで、各郵便番号/緯度経度の行かどうかを行ごとにテストするPHP関数が機能しています。指定された距離内にあるかどうか。
この方法は非常に非効率的であることがわかっているので、PHPではなくSQLクエリで三角法と距離の計算をすべて実行したいと思います。誰かがここで私を助けることができますか?すべてを試したような気がしますが、SQLクエリを正しく取得できません。どんな助けでも大歓迎です!
既存のPHP関数:
php - ルートの始点と終点 (LatLng) 周辺のマーカーを検索する
だから、私は「ルート」が保存されているデータベースを持っています(つまり、緯度/経度形式「StartLat」、「StartLng」および「EndLat」、my「EndLng」の開始点と終了点)。現在、ユーザーはこれらのルートを出発地または目的地で検索できます (例: 「出発地が私の LatLng 位置から 5 マイル以内にあるルートを検索します。」)。開始点または終了点のいずれかで検索できます (たとえば、「このマーカーの範囲内で開始点を検索する」または「このマーカーの範囲内で終了点を検索する」)。
現在、Haversine 式に基づく SQL ルックアップを使用していますが、これは非常にうまく機能します。
私ができるようにしたいのは、2 つのクエリを 1 つの SQL 文字列に結合して、「始点が "Place A" から 'x' マイル以内にあり、終点が 'x' 以内にあるすべてのルートを検索できるようにすることです。数マイルの「Place B」。
これを行う最もエレガントな方法は、既存の SQL 文字列に結合を作成することだと思いますが、どうすればよいかわかりません!
現在の SQL 文字列は次のようになります。
(上の例では、ユーザーは終点が座標 51.5073346, -0.1276831 から 15 マイル以内にあるすべてのルートを検索します。 LatLng の場合、EndLat と EndLng は StartLat と StartLng に置き換えられます)。
必要な SQL 文字列を作成するのに役立つ SQL コマンドを十分に理解している人はいますか?