Java GeoTools - 从SRID获取CRS

时间:2014-05-05 08:19:28

标签: java geo

我可能会混淆两件事,但我需要对我的多边形(距离,面积等)进行一些计算。使用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); 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果在地理对象上设置了CRS值,则适当的方法调用为:

geo.getCoordinateReferenceSystem()

如果没有在几何体上设置,那么您需要找到一个合适的对象来获取它。 GeoTools Geometry CRS Tutorial有一些例子(schema,world),GeoTools JavaDoc有一个完整的getCoordinateReferenceSystem()方法声明/实现列表。