問題タブ [jts]

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 投票する
1 に答える
549 参照

java - JTS STR ツリーの検索

こんにちは、私はこのチュートリアルhttp://googledevelopers.blogspot.com/2014/12/building-scalable-geofencing-api-on.htmlに従っています。これが私の問題です。

ポイントとして JTS(Java Topology Suite) STR ツリーに追加した経度と緯度の座標のリストがあります。

ここで、円の形をしたエリアを STR ツリーに送信して、円に収まるすべてのポイントを見つけたいと思います。

ただし、検索の結果は、経度と緯度のポイントのツリー内のすべてのデータを返します。円のサイズを 320 未満にすると、STR ツリーの検索結果が得られません。誰もがこれを経験したことがありますか? 理想的には、7 マイル以内の円内のすべてのポイントを見つける円を作成したいと思います。

御時間ありがとうございます

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

java - ラインストリングから指定されたポイントに最も近いポイント インデックスを抽出しますか?

ラインストリングをポイントのリストと考えてみましょう。私はそれをトレイルと名付けました。このトレイルに十分近いポイントを検出する必要があります。私は興味ポイントと呼ばれる別の線ストリングを持っています。これは、トレイル ラインストリングから最も近いインデックス ポイントを返す必要があります。これらの関心点はトレイル ラインストリングに含まれていないので、関心点を与えることで、このトレイルのインデックス ポイントを何らかの方法で評価します。結果の関心ポイントは、トレイル リストに存在する値を取得します。

ここに画像の説明を入力

[編集]:

この問題を単純な数値を使用して変換します。それは簡単だと思います。

入力リスト [0.5、1、1.5、2、2.5、3、3.5、4、4.5、5]。入力番号: 3.30

その条件を簡単に確認できます: list[n] < number < list[n+1] 次に、コストを確認できます。

コスト 1 = 数値 - リスト [n] コスト 2 = リスト [n+1] - 数値。

次に、(cost1 < cost2) が N を返す場合、N のインデックスを取得できます。それ以外の場合は、N+1 を返します。

[重要]:

点オブジェクトは数値として比較できないため、盲点になります。

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

java - Hibernate Spatialで半径nキロメートル以内のすべてのオブジェクトを照会しますか?

休止状態の空間を使用して、ジオロケーションを車に接続します。私のカード ドメイン クラスは次のようになります。

私のプログラムは Grails にあるので、私が提供したサンプルは Groovy にあります。ここで、半径を正しく指定して半径に n キロメートルを設定する方法に関する最も重要な質問に実際には答えていない同様の投稿を見つけました。

円ジオメトリを計算する方法は次のとおりです。

円のサイズは 88.1 で除算されます。これは、おおよその寸法を取得するための単なる汚い修正ですが、それでも間違っています。

私のクエリは次のように行われます:

これはあまり正確ではありません。円の外にあるはずの車の一部が、このクエリから返されます。

ここに例があります。私のセンターはハンブルグで、半径は 40km です。Google マップのビジュアライゼーションを作成しました。

これが私が設定したときですradius = 40

ここに画像の説明を入力

左上に、円の外側に位置する 1 台の車がまだ描かれていることがわかります。これは当てはまりません。Googleマップで描いた円は、クエリのコードで描いた円ジオメトリと等しくないようです。

これが私が設定したときですradius = 30

ここに画像の説明を入力

右下の車が消えていることがわかりますが、これは正しいですが、左上の車はクエリに残っています。

作成した円を描くとcreateCircle、次のようになります(getCoordinates()円の座標を取得するために使用します):

ここに画像の説明を入力

半径 40km 以内のすべての車を照会するにはどうすればよいですか?

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

java - SDO_GEOM.VALIDATE_GEOMETRY メソッド 13349 エラー

jts ジオメトリオブジェクトを使用して、ジオメトリ オブジェクトを Oracle SDO_Geometryとして格納しています。WGS84 座標での私のジオメトリ。空間インデックスを作成しても、SDO_GEOM.VALIDATE_GEOMETRY メソッドを使用してジオメトリを検証しようとすると、まだいくつか問題があります。13349 エラーが発生しました。WGS84 に SRID no を設定しても、円の間違った点が計算されます。解決策が見つかりませんでした。どこに問題があるか知っていますか?

そして、これが createCircle メソッドを呼び出すコードです

ジオメトリ領域;

area=createCircle(経度、緯度、範囲);

エリア.setSRID(4326);