問題タブ [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.
java - Javaでいくつかの形状を三角測量/テッセレートする方法は?
GeoTools から国の形状をテッセレーションして、地表に 3D で表示したいと考えています。GeoTools は、機能が豊富に見える JTS トポロジ スイートを内部で使用します。
いくつかの形状をテッセレーションするユーティリティが含まれていますか? 三角測量パッケージがあるようですが、穴のある形状に使用する方法がわかりません。
また、ここのように既存の頂点を接続するだけではありません
内部に複数の頂点がある形状を塗りつぶす必要があります。
アップデート
JTSには、ConformingDelaunayTriangulationBuilder
希望するテッセレーションを何らかの方法で作成できるクラスが含まれていることがわかりましたが、うまく機能しません。まず第一に、それは制約のみを許可します。つまり、凹んだ領域から三角形を削除するには追加のコードが必要です。また、テッセレーションの Delaunay の性質を維持しようとするため、多くの追加セクションが作成されます。
最後に、ConstraintEnforcementException
国のような複雑な形状になり、使用できなくなります。
また、C で記述され、 Chew の 2 番目のアルゴリズムを実装し、うまく機能する「triangle」パッケージも見つけました。
Java に移植されたのでしょうか、それとも Java にラップされたのでしょうか。
java - JTSのジオメトリで頂点を列挙するには?
Java Topology Suite にはGeometry
、メソッドを持つクラスがありますgetNumPoints()
。ドキュメントによると、すべての構成ジオメトリのすべての頂点をカウントします。
これらすべてのポイントを列挙する方法は? それらはメソッドによって取得できますが、(1) は反復的ではなく、(2) 各座標タプルをbygetCoordinates()
に変換する必要があるため、これは最適ではないように見えます。Point
GeomertFactory
java - JTS Geometry オブジェクトの配列をシェープ ファイルに変換する際にサポートが必要です
シェープ ファイルに配置する必要がある JTS Geometry オブジェクトの配列があります。DBase ファイルに入れる必要がある他の属性もいくつかあります。空間オブジェクトにもインデックスを付ける必要があり、必要に応じて投影ファイルを作成します。JTS/GeoTools を使用してこれを行う方法はありますか。ShapeFileWriter を試しましたが、それでは十分ではないようです (たとえば、dbf サポートがありません)。
java - solr を使用したポリゴンのインデックス作成の例外 (jts が見つかりませんか?)
ポリゴンを操作するように solr 4.10.2 をセットアップするのに問題があります。geom
typeで呼び出されたフィールドで動作するようにサンプル アプリケーションを適応させようとしていますlocation_rpt
。solr-4.10.2/example/webapps/solr.war
ディレクトリ内
のファイルに jts-1.13.jar を追加しWEB-INF/lib
、schema.xml にフィールドを作成しました。
でsolrを開始しjava -jar start.jar
ます。
しかし、geom フィールドを含むドキュメントを追加しようとすると、例外が発生します。
jts jarが認識されていないようです。どこかで設定する必要がありますか?
よろしく
ダニエル
java - GeometryJSON().read() の呼び出し中に NoSuchMethodException
JTS (VividSolutions から) と GeoTools を使用しています。次のコードがあります。
ただし、これは次の RunTimeException を返します。
コードをステップ実行すると、エラーの原因となる org.geotools.geojson.DelegatingHandler に次のメソッドが見つかりました。
オンラインでreturn (IContentHandler) clazz.getConstructor(types).newInstance(args)
。
FeatureHandler を呼び出して GeometryFactory を引数として渡そうとすると失敗します。私は JTS 1.8 と GeoTools 13-SNAPSHOT を使用しています。
任意のヘルプまたは回避策をいただければ幸いです。
xml - gml3 で jts ジオメトリのみを書き込む方法
ジオメトリ (JTS) ジオメトリがあり、このジオメトリを GML3 でエンコードしたい
私はこの作業 Gml2 を次のように行いました:
以下のように
GML3でこれを行う方法はありますか?
gml:coordinates ではなく gml:posList タグが必要です
java - JTS で jts.geom.Geometry オブジェクトの座標を Lat、Long から Long、Lat にスワップする方法
タイプ (com.vividsolutions.jts.geom.Geometry) のジオメトリ オブジェクトがあります。現在、緯度、経度の形式になっていますが、座標を反転して緯度経度にして、mongodb の GeoJSON 形式にすることができます。
私が見ている私の制約は次のとおりです。a) 座標を反転したい入力は Geometry オブジェクトです。b) ジオメトリ オブジェクトは、ポリゴン タイプまたはマルチポリゴンのいずれかになります。c) タイプを Polygon/multipolygon にキャストする前に座標を反転させたい
geo.reverse() を試しましたが、うまくいきません。
同様に、次を使用してみました: CRSAuthorityFactory factory = CRS.getAuthorityFactory(true); CoordinateReferenceSystem crs = factory.createCoordinateReferenceSystem("EPSG:4326");
そして別のオプションで、私はそれがうまくいくとは思わなかった。
ありがとう!
java - Leaflet CRS.Simple から EPSG:4326 に緯度/経度を変換する方法
vaadin プラグインである v-leaflet (0.61) を使用して、マップ上にいくつかのレイヤーを視覚化しています。
マップをクリックして、ジオサーバーへの wms クエリを作成します。クエリにはいくつかのパラメーターが必要で、そのうちの 1 つが bbox です。デフォルトでは、マップによって返される bbox は CRS.Simple にあると思います。これはリーフレットの不思議な座標系です。
属性を設定したとしても
マップとレイヤーの両方に。
ここで、JTS Topology Suite を使用して EPSG から別の EPSG に変換する方法を学びました。
しかし、leafltet で使用される Crs.Simple から EPSG に変換する方法が見つかりません (4326 の方が優れています)。
マップとレイヤーの両方で EPSG3857 を設定すると、境界ボックスとして次のようなものが返されます。
バウンド:6.0919189453125、45.11617660357484、11.134643554687498、46.50217348354072
同じビューで EPSG4326 を設定した場合:
バウンド:
6.0919189453125、44.81597900390625、11.1346435546875、46.80450439453125
緯度の値だけが変更されたようです。
また、JTSTool (jts-topology-suite) を使用して EPSG3857 から EPSG4326 に変換しようとしましたが、値は次のとおりです。
bbox=4.0528551003362907E-4,5.4724638981914947E-5,4.1773613184440224E-4,1.0002420488398699E-4
とても奇妙に聞こえます....
bbox の定義に使用される CRS を理解するのを手伝ってくれる人はいますか? またはそれらを変換する方法はありますか?