1
ダブルスの配列からJTSポリゴンを直接アセンブルする方法はありますか?ダブルスの配列からJTSポリゴンを直接アセンブルしますか?
現在、私はCoordinateSequence
からLinearRing
を作成するCoordinate
の
CoordinateSequence
を作成Coordinate
インスタンス- ています
- から
Polygon
を作成する
私のプロファイリングによれば、最も遅いステップは、ループ内に多くのCoordinate
インスタンスを作成することです。
私は、MatlabからJTSライブラリを呼び出していることを言及する必要があります。そのため、純粋なJava実装と比べると、ループで発生する追加コストが発生する可能性があります。あなたはこのコンストラクタを使用することができます
% assemble linear ring for exterior poly
[numExtPoints, ~] = size(exteriorCoords);
jExtCoords(numExtPoints) = jts.geom.Coordinate(); % pre-allocate
for ic = 1:numExtPoints
jExtCoords(ic) = jts.geom.Coordinate(exteriorCoords(ic,1), exteriorCoords(ic,2));
end
jCoordinateSequence = jts.geom.impl.CoordinateArraySequence(jExtCoords);
jExtLinearRing = jts.geom.LinearRing(jCoordinateSequence, jts.geom.GeometryFactory());
% build polygon
obj.jGeometry = jts.geom.Polygon(jExtLinearRing, [], jts.geom.GeometryFactory());