2011-12-29 47 views
1

ジオメトリはjava.lang.String形式です。私は変数に格納されているjava.lang.StringとしてDBから直接取得することを意味します。私は何とかjts Geometry型に変換したい。それを行う方法はありますか、私がやろうとしていることはちょっとばかげたアプローチですか?java.lang.Stringジオメトリをjtsジオメトリに変換する

答えて

1

ジオメトリに変換するには、最初にStringからCoordinatesに変換する必要があります。値はコンマで区切り場合

あなたはあなたがGeometryFactory()クラスを使用して、好きなジオメトリを作成することができます。この後は、それらを分割し、

String[] split=stringgeometry.split(","); 
Coordinate[] coordinates = new Coordinate[split.length/2]; 
index = 0; 
for(int i=0;i<split.length;i+=2) 
{ 
    coordinates[index]=new Coordinate(split[i], split[i+1]); 
    index++; 
} 

座標

の配列を作成することができます。行の文字列を作成するには、例えば 、

Geometry geometry = new GeometryFactory().createLineString(coordinates); 

は、これはあなたが何をしたいですか?

4

ジオメトリにWKT(Well Known Text)形式があるとします。そうでない場合は、ST_AsTextメソッドを使用してWKT形式で取得できます(使用していると思われる空間DBが必要です)。

WKT文字列からジオメトリを取得する方法の簡単な例:

String wktString = "LINESTRING (0 0, 0 10)"; 
WKTReader reader = new WKTReader(); 
Geometry geom = reader.read(wktString); 
関連する問題