問題タブ [nettopologysuite]
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.
postgresql - NetTopologySuite と EF Core および postgis を使用して、2 点間の地理的距離を計算する
kartoza dockerイメージを使用して、 postgisで postgres サーバーを実行しています。ASP.NET Core アプリケーションと Enity Framework Core を使用して使用しているデータベースがあります。データベースには、次のエンティティで表される Park という名前のテーブルが含まれています。
ドキュメントで指定されているように、DbContext を作成しています。
次のコードでデータベースをシードします。
コードをテストするために、この公園とある地点の間の距離を計算します。
結果は、地理的距離ではなく、デカルト フレーム内の 2 点間の幾何学的距離に対応します。次のクエリと同等のものを取得することは可能ですか:
nettopologysuite - NetTopologySuite v2.0 が GeoAPI を実装していないのはなぜですか?
Net Topology Suite のバージョン 2.0 で何が起こっていますか? 私の主な考慮事項は次のとおりです。
- Geo API を実装しなくなりました (私はそのアイデアが気に入っています)。
- インターフェイスはどこにあり
ICoordinateSystem
ますか (NTS を使用してある座標系から別の座標系にジオメトリを変換するにはどうすればよいですか)?
sql-server - エンティティ フレームワーク コアおよび MS SQL を使用したキロメートル単位のジオメトリ (緯度、経度) のフィルター処理
https://docs.microsoft.com/de-de/ef/core/modeling/spatialの記事を使用して開始して使用しました
- エンティティ フレームワーク コア
- MSSQL
- NetTopologySuite.Core 1.15.3
IGeometry タイプのクラス City があります。データベースにテーブルを作成したため、自動的に作成されました:
最初にデータを作成しました
データベースでは、場所は 0xE6100000010CCC7A319413CD2A4044696FF085314A40 のようになりました
今私はクエリしたい。searchCity の近くにあるすべての都市が必要です。
問題は、計算された距離が非常に小さいことです。たとえば、都市から別の都市までの距離が 300 キロメートルの場合、距離は約 4 と計算されます。ドキュメントを読むと、距離は度単位で表示されます。しかし、キロメートルでフィルタリングする必要があります。
ドキュメントには ProjNet4GeoAPI に関するものもあります。しかし、クエリ後に計算したくありません。クエリで半径内の都市のみを取得したい。