我有一个java.lang.String格式的几何体。我的意思是我直接从DB中获取它作为存储在变量中的java.lang.String。我想以某种方式将它转换为jts几何类型。有没有办法做到这一点,或者我想做的只是一种愚蠢的做法?
答案 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);
这是你想要做的吗?