你知道如何将PGobject的类型转换为Java中的Point吗? 实际上PGobject是这样的对象: PGobject地理定位:
type: geography
value: 0101000020E6100000C006335CD3043840504BBDB89EC14140
如何将此数字转换为Point?
答案 0 :(得分:2)
你的意思是jts点吗?
如果是,请使用WkbReader,因为您的几何图形为well-know-binary格式:
import com.vividsolutions.jts.io.WKBReader;
WKBReader wkbReader = new WKBReader();
byte[] geom = wkbReader.hexToBytes('0101000020E6100000C006335CD3043840504BBDB89EC14140');
System.out.println(wkbReader.read(geom));
// prints POINT (24.01885010000001 35.5126563)
结果类型为com.vividsolutions.jts.geom.Point
答案 1 :(得分:2)
我的解决方案如下,它运行正常,但我认为您的解决方案更好
String g = geolocation.getValue();
try {
Geometry fr = new PGgeometry().geomFromString(g);
Point p = fr.getPoint(0);
this.geolocation = p;
} catch (SQLException e) {
e.printStackTrace();
}