将java.lang.String几何转换为jts Geometry

时间:2011-12-29 10:35:57

标签: jts

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

2 个答案:

答案 0 :(得分:5)

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

如何从WKT字符串中获取几何的简单示例:

ST_AsText

答案 1 :(得分:1)

在将其转换为几何图形之前,您必须先从String转换为坐标。

如果值以逗号分隔,您可以拆分它们并创建一个坐标数组

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);

这是你想要做的吗?