2017-07-26 9 views
0

私は、座標の配列リストを持っている:配列リストポイントからポリゴンを作成する - 座標シーケンス?

List<Coordinate> coords; 

私は、これらの値に基づいてポリゴンを作成します。

私がしようとしています:

GeometryFactory geometryFactory = new GeometryFactory(); 
Polygon polyg = geometryFactory.createPolygon(coords); 

をそれはそれはCoordinateSequenceを望んでいることを示しています

The method createPolygon(CoordinateSequence) in the type GeometryFactory is not applicable for the arguments (List<Coordinate>) 

私はCoordinateSequenceを作成しようとすると、それは方法のbucnhを示しており、私はどのように確認していません続行してください(とにかくシーケンスが必要な場合)。

答えて

1

ポイントの配列も使用できます。

たとえば、http://docs.geotools.org/stable/userguide/library/jts/geometry.htmlを参照してください。ここで

は、いくつかのサンプルコードです:

ArrayList<Coordinate> points = new ArrayList<Coordinate>(); 
    points.add(new Coordinate(longitude, latitude)); 
    ... 
    points.add(new Coordinate(lon, lat)); 
    ... 
    //make sure to close the linear ring 
    points.add(new Coordinate(longitude, latitude)); 
    poly = geometryFactory.createPolygon((Coordinate[]) points.toArray(new Coordinate[] {})); 
    valid = poly.isValid(); 
+1

あなたが最初Array' 'に我々は多角形の内側に空の領域を意味holes''によってList' 'から' coords'を変換した後、 'LinearRing'を使用して意味します? ?ありがとう! – George

+0

ポイントがポリゴンにあるかどうかを調べるには、単に 'point.within(polygon)'を使うことができますか? – George

+0

私はあなたが望む方法が含まれていると思う、または一般的にdisjoint実際に使用されていません。 –

関連する問題