gpt4 book ai didi

使用 com.jhlabs.map.proj 从 UTM SUMO 模拟器坐标到 WGS84 lat/long 的 java 转换

转载 作者:行者123 更新时间:2023-11-29 08:56:37 25 4
gpt4 key购买 nike

我尝试用 java 编写一个程序,将 x、y 坐标 UTM 转换为 WGS84 格式的纬度和经度。我通过 SUMO 模拟器生成的 xml 模拟文件到达 UTM 坐标,其中 netconvert 函数传递一个 openstreetMap 文件 .osm。模拟器的转换输出给了我这些参数:位置 netOffset="-496616.58,-4916305.46"convBoundary="0.00,0.00,392.25,326.77"origBoundary="8.957512,44.400028,8.962437,44.402970"projParameter="+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"/>

我使用的库 com.jhlabs.map.proj 是 proj4.dll 的 Java 实现,我发现它是模拟器使用的库 C++。所以我想用这个 java 库做一个从 evry x/y 坐标到 long/lat 的动态逆转换。 (我刚刚也尝试了 jcoord 库,但没有很好的结果)。我使用 projParameters:

String[] proj4_w = new String[]{"+proj=utm",
"+zone=32",
"+ellps=WGS84",
"+datum=WGS84",
"+units=m",
"+no_defs",

"+to",
"+proj=latlong",
"+ellps=WGS84",
"+datum=WGS84",
"+no_defs"

};

Projection proj = ProjectionFactory.fromPROJ4Specification(proj4_w);

Point2D.Double testUtm = new Point2D.Double(utmX(), utmY());
Point2D.Double testProjec = proj.transform(testUtm, new Point2D.Double());

System.out.println("latitudine: " + testProjec.x + " longitudine: " + stProjec.y);

我从结果中获得的纬度和经度值不正确。我是这类问题的最新成员,而且几乎没有文档。感谢每一个答案和每一个解决方案,也有不同的方式或库。

最佳答案

关于使用 com.jhlabs.map.proj 从 UTM SUMO 模拟器坐标到 WGS84 lat/long 的 java 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20029724/

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