問題タブ [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.
iphone - CLLocation へのコンパス方位を計算する - iOS の Haversine 関数
2 つの CLLocation 間の距離を取得する方法を理解しています。CLLocation から別の CLLocation への一般化されたコンパス方位 (N、NE、E など) を決定する必要があります。
haversine 式でベアリングを導出するために何かを実装する前に、harsine を使用して、または使用せずにこの問題を解決する、一般的に適応されたオープン ソース ライブラリまたはコード フラグメントがありますか?
ありがとう!
android - 2 つの場所の間の距離が正しくありません
http://www.movable-type.co.uk/scripts/latlong.htmlのアルゴリズムを使用して、2 点間の距離を見つけました。
私の2つのポイントは
Movable Type Scriptによると、答えは 0.1812km です。
私のアプリケーションは結果 ( d
) を 0.230km として返します
Haversine 式を確認してください: http://www.movable-type.co.uk/scripts/latlong.html
c - 球面座標の変換に関する疑問
球面座標(つまり、GPSデバイスからの緯度と経度)をデカルト座標に変換しようとしています。極座標変換方程式から導出されたこの単純な変換に従います。
次に、ユークリッド距離を適用して2点間の距離を計算していますが、検出した値は、半正矢関数を使用して計算できる距離と常に同じであるとは限りません。特に、経度が異なるが緯度が同じであると、2つのアルゴリズムによって計算される距離が同じになるのに対し、経度が同じで緯度を変更すると、値が異なることに気付きました。
これが私が使用しているCコードです:
私は何か間違ったことをしているのですか、それとも私が見ていないその背後にいくつかの数学があります(そして多分Mathoverflowボードでこれを尋ねますか?)。更新誰かがこの変換を正しく指摘したので、ボードを交差させる必要はありません。2つのポイント間の正確な距離を計算するのに意味がありません(2つの極間の距離はゼロです)。だから私はそれを次のように再定式化しています:緯度の小さなデルタ(0.0001は多かれ少なかれ10メートルに相当します)では、距離は半正矢関数(20-25%)と非常に異なるように見えるのはなぜですか?
更新2:
Oli Charlesworthが指摘したように、z axis
この変換を考慮しないと、南北の違いを気にしない予測になります。これは、私が指摘したデルタの違いの原因でもあります。実際、正しい変換では、zは緯度に関連しており、それを考慮すると、2点間のユークリッド距離を計算します(現在は3D空間内)。緯度と経度の両方が、小さなデルタの適切な近似につながります。 。たとえば、緯度の程度の場合、誤差は約1.41メートルです。
sql - HibernateでNamedQueryとCriteriaを組み合わせる
ストアファインダーアプリケーションでHibernateを使用しています。SQLでの近接検索には、半正矢関数を使用します。これは少し厄介なSQLなので、このために.hbm.xmlファイルに名前付きSQLクエリを作成しました。
しかし、私はユーザー定義のフィルター(営業時間、品揃えなど)も持っています。このために、Hibernate基準を使用してプログラムでフィルターを追加します。
これで、特定のポイント周辺のすべての場所を提供する完全に機能するNamedQueryと、フィルターに従ってすべての場所を提供する完全に機能する基準クエリができました。
私の質問は、Hibernateでこれら2つの獣を組み合わせる最良の方法は何ですか?(つまり、フィルターを満たす特定のポイントの周囲のすべての場所が必要です。)たとえば、条件検索でサブクエリとしてNamedQueryを使用する方法はありますか?
mysql - Geolocation と Haversine 式
ユーザーの地理位置情報を検出し、mySQL データベースにクエリを実行し、たとえば 5 キロメートル以内にあるすべてのバス停を返す基本的な Web アプリケーションを作成しようとしています。
経度と緯度を含む GTFS フィードが mySQL データベースに挿入され、Web アプリケーションにアクセスするブラウザーの経度と緯度を提供する HTML ページの例を見つけました。
この情報を取得して結果を返す mySQL クエリを作成するための助けを求めています。
iphone - Haversine関数を使用してベアリングを計算するためのCLLocationカテゴリ
方位を別のCLLocationに戻すために、CLLocationのカテゴリを作成しようとしています。
私は数式で何か間違ったことをしていると思います(結石は私の強いスーツではありません)。戻されたベアリングは常にオフです。
私はこの質問を見て、正解として受け入れられた変更とそれが参照するWebページを適用しようとしました。
2つのCLLocationCoordinate2D間の方位を計算する
http://www.movable-type.co.uk/scripts/latlong.html
ポインタをありがとう。他の質問からのフィードバックを取り入れようとしましたが、まだ何かが得られていません。
ありがとう
これが私のカテゴリーです-
----- CLLocation + Bearing.h
--------- CLLocation + Bearing.m
.net - __CIasinおよびArcsineは.NETのsineよりもはるかに遅いですか?
私はコードの遅い領域のいくつかのeprofileテストを実行してきました。これは、Visual Studio2008および.NET2(完全にパッチが適用されている)を使用した場合です。私の計算の約32%はHaversine式で使用されています。これには、2つのサイン、2つのコサイン、平方根、およびアークサインが必要です。これらはすべて標準の.NET Mathライブラリ(Math.Sin、Math.Asin、Math.Sqrt)を使用します。余弦定理を簡単にキャッシュすることができました。その結果、Haversine関数が約25〜30%高速化されました。
プロファイルには、__ CIasin_pentium4と__CIasinが表示されていますが、スタックダンプなど、ユーザーが投稿したものを除いて、どちらもGoogleではあまり見つかりません。pentium4バリアントは、約2倍のサンプル(包括的および排他的の両方)を取得します。これはアークサインだと思いますが、サインよりもはるかに高価ですか?2倍の数が計算されますが、プロファイルに正弦の兆候はありません。
これらの関数は両方とも正弦波ですか、それとも一方は正弦波ですか?そうでない場合、それらは何を表していますか?
はい、私はインターネットやここでファストサインに関するさまざまな記事や投稿を見てきました。ルックアップテーブルや切り捨てられたテイラー級数ではなく、計算された正弦の精度が本当に必要です。私はHaversineを使用して、地球の表面上の距離を計算および/または比較しています。10mの精度(私のアプリの最小IMHO)は、約1/640000ラジアンに相当します。
速度についての1つの考えは、三角関数公式を多重化することです。これにより、より多くのtrig関数が生成されますが、それらは個々のエンドポイントのみに依存するようになるため、キャッシュ可能になります。もう1つは、比較のためにアークサインと平方根をアンラップすることです。後者には改善の余地がたくさんあると思いますが、現時点では、処理に何がかかっているのか、そして__CIasin関数が何を表しているのかを正確に理解しようとしています。
geolocation - 郵便番号の距離範囲の式。どの式が正しいですか?
郵便番号から特定の範囲のすべての郵便番号を見つける必要があります。DBにすべての郵便番号lat/lonがあります。
オンラインで、互いにわずかに異なる2つの数式を見つけました。どちらが正しいですか?
式1:
式2:(以下を除いて式1と同じです:)
(2番目のものにはありませんMath.toRadians
)min / max Lat / Lonを取得した後、between条件を使用してDBテーブルを検索する予定です。 どの式が正しいですか?
transform - 距離を度からメートルに変換する方法は?
通常のメルカトル図法で OpenLayers を使用しており、緯度経度で点のグリッドを見つけて境界ボックスをサンプリングしようとしています。bbox は latlon で表されます。
距離を度数(例: x: 2.5、y: 2.4) で定義し、そこから点を計算できます。しかし、この距離をユーザーの考え方に関連付けるために、この距離をメートル(たとえば 50000) で表現したいと思います (人々は度ではなくメートルを理解します)。この距離を換算するにはどうすればよいですか?ポイントを再投影する方法は知っていますが、距離は知りません。
ヒントをありがとう!ムロン
php - PHP の近くの場所のスクリプトのヘルプ
SQL/Math を取得するためにhttp://code.google.com/apis/maps/articles/phpsqlsearch.htmlを読んでいました。少しphpスクリプトを書きましたが、結果が得られません。
データベースの構造とデータは、Google コードの記事と同じです。
それが私のPHPスクリプトです。どうしたの?私はそれがSQLの問題かもしれないと考えています。よくわかりません。この投稿は 2008 年 1 月のものです。