私はESRIスタックを使用して、レイヤーをsql-spatial-enabled-SDE-ジオデータベース(Geometryタイプ、Web Mercator-3857)に保存しています。
私はWebマッピングアプリケーションを構築しています。そのため、デフォルトでは、タイルはWebメルカトル3857にもあります。
ストアドプロシージャを介して、STDistanceを使用して、ユーザーの場所(Webメルカトルの座標)からさまざまなレイヤーまでの距離をクエリします。
問題は、ウェブメルケーターの歪みのために、赤道から遠ざかるにつれて、距離計算がますますオフになっていることです。
レイヤーを(ジオメトリではなく)sql-spatial-geographyタイプで保存することを考えましたが、次のようになります。
- 私の距離クエリははるかに長くかかると思います(球面上の距離計算)
- 大量のデータを再インポートする必要があります
- Arcgisサービスは、オンザフライで投影する必要があるほど高速ではありません
Googleマップに移動して距離計算を行うと、Nortern / Southernリージョンでも、返される距離がはるかに正確になるため、GoogleはWebメルカトル図法による歪みを補正する必要があると思います。
私の質問:「正しい」距離を得るためにWebメルカトル図法で行われる距離計算に適用できる単純な係数値はありますか?
cos((l1 + l2)/2)
これにより、大円の距離ではなく、横線/一定のコース距離が得られます。