我可能会混淆两件事,但我需要对我的多边形(距离,面积等)进行一些计算。使用WKBReader,我得到了地理位置:
WKBReader wkbReader = new WKBReader();
byte[] a = results.getBytes(8);
Geometry geo = wkbReader.read(results.getBytes("st_asbinary"));
但是我没有在EPSG中得到它:4326。我想使用GeoTools进行转换。如何从地理对象获取CRS? (看看3个问号)
CoordinateReferenceSystem sourceCRS = ???
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:4326");
MathTransform transform = CRS.findMathTransform(sourceCRS,targetCRS); Geometry targetGeometry = JTS.transform(geo,transform); 任何帮助将不胜感激。
答案 0 :(得分:1)
如果在地理对象上设置了CRS值,则适当的方法调用为:
geo.getCoordinateReferenceSystem()
如果没有在几何体上设置,那么您需要找到一个合适的对象来获取它。 GeoTools Geometry CRS Tutorial有一些例子(schema,world),GeoTools JavaDoc有一个完整的getCoordinateReferenceSystem()方法声明/实现列表。