gpt4 book ai didi

Java:将纬度/经度从 EPSG:4236 转换为 EPSG: 3857

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:29:57 27 4
gpt4 key购买 nike

如何使用 geotools 或其他 Java 库将经纬度投影转换为 EPSG 3857 投影?我无法找到正确的使用方法。我知道 OpenLayers (javascript) 可以轻松做到这一点,但我没有看到转换这些坐标的明确途径。

I would like to see this transformation
source lon, lat: -71.017942, 42.366662
destination lon, lat: -71 1.25820, 42 22.0932

所以我创建了我的 CRS

final CoordinateReferenceSystem source = CRS.decode( "EPSG:4236" );
final CoordinateReferenceSystem dest = CRS.decode("EPSG:3857");

final MathTransform transform = CRS.findMathTransform(source, dest);

但是用点创建几何似乎并不直接,因为它们需要几何工厂或其他东西..

我是地理工具和地理空间数据的新手,感谢您的指导。

最佳答案

这里有一个解决方案:

CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:4236");
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:3857");
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS, false);
GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326);
Point point = geometryFactory.createPoint(new Coordinate(lon, lat));
Point targetPoint = (Point) JTS.transform(point, transform);

关于Java:将纬度/经度从 EPSG:4236 转换为 EPSG: 3857,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15605247/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com