2011-12-29 113 views
1

我有一个java.lang.String格式的几何。我的意思是我把它作为一个存储在变量中的java.lang.String直接从DB中获取。我想以某种方式将其转换为jts几何类型。有没有办法做到这一点,或者我想要做的只是一个愚蠢的做法?将java.lang.String几何转换为jts几何

回答

1

您必须先将字符串转换为坐标,然后才能将其转换为几何图形。

如果值用逗号分隔,你可以将它们分割,并创建坐标

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++; 
} 

数组之后,你可以创建你想要通过使用GeometryFactory()类中的任何几何形状。 例如创建一个线串,

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

这是你想要做什么?

4

我假设你的几何体具有WKT(Well Known Text)格式。如果没有,您可以使用ST_AsText方法(需要空间数据库,我假设您正在使用)以WKT格式获取它。

如何获得从WKT字符串几何一个简单的例子:

String wktString = "LINESTRING (0 0, 0 10)"; 
WKTReader reader = new WKTReader(); 
Geometry geom = reader.read(wktString);