我々はこのように、座標のリストを使用してラインストリングを作成することができます。座標リストがあるときにJTSでポリゴンを作成する方法は?
Geometry g1 = new GeometryFactory().createLineString(coordinates);
はどのようにして、座標のリストを使用して多角形を作成することができますか?
ありがとうございます。
我々はこのように、座標のリストを使用してラインストリングを作成することができます。座標リストがあるときにJTSでポリゴンを作成する方法は?
Geometry g1 = new GeometryFactory().createLineString(coordinates);
はどのようにして、座標のリストを使用して多角形を作成することができますか?
ありがとうございます。
これらのコードのラインを使用します。私はそれを受け入れ答えはまだ2012年に(まだぎこちない)有効であったかもしれない:)
あなたはその文書を確認していますか? 見てください - http://www.vividsolutions.com/jts/javadoc/com/vividsolutions/jts/geom/Polygon.html
私はこれが非常に簡単だと思います。これがあなたの問題を解決することを願っています。
役立つことを願っています
GeometryFactory fact = new GeometryFactory();
LinearRing linear = new GeometryFactory().createLinearRing(coordinates);
Polygon poly = new Polygon(linear, null, fact);
をしかし、今日、あなたが本当に単純にそれを行う必要があります
// Create a GeometryFactory if you don't have one already
GeometryFactory geometryFactory = new GeometryFactory();
// Simply pass an array of Coordinate or a CoordinateSequence to its method
Polygon polygonFromCoordinates = geometryFactory.createPolygon(coordinates);
しかし、3Dでポリゴンを作成しています.2Dを強制するには? – janwen
JTSは2Dです。座標オブジェクトには3番目のフィールドがありますが、常にNaNです。座標はJTSのジオメトリではありません。ポイントは、それはxとyだけです。 – bugmenot123
はい、bugmenot123が正しいです.JTSの現在のバージョンでは、ポリゴンを作成するためにlinearRingを作成する必要はありません。単純なcreatePolygonで十分です。座標は閉じたリングを形成しなければならないことに留意してください(最初と最後の点は同じです)、例外が発生します。 –
多角形を作るには2つのGeometryFactoriesが必要ですか? –
具体的なSRIDを設定する場合は、GeometryFactory = new GeometryFactory(新しいPrecisionModel()、_srid_);のようにGeometryFactoryを作成しなければなりません; _srid_を目的のSRIDに置き換えます。 – russellhoff