java - 简单的 map 投影

标签 java dictionary mapping gis map-projections

我有一张 400x400 的 map ,大约代表 250x250km 的区域,我想以 Lat/Lon 的形式投影 GPS 坐标。

考虑到精度不是很重要(几公里的误差是可以容忍的)有没有简单的公式或算法来进行投影并转换为像素坐标?如果有的话,我可以期待什么错误? 或者我真的错了,没有简单的方法来达到我需要的精度?

注意事项:

  • 我阅读了有关 PROJ.4 的信息,但我更愿意不使用任何外部库,因为该程序必须在小型设备上运行
  • 我在 map 上没有任何校准数据,但我可以使用在线 map 自行校准。
  • 来自 here我记录了一点,我知道如何将纬度/经度转换为 x/y/z 坐标。但是我不知道怎么用Z拨号

最佳答案

通常,这是使用 transformation matrix 完成的并使用 Mercarator projection .

这里是start的好地方.

虽然不是java,但是有个开源项目叫OpenHeatMap它在其源代码中执行此操作。这可能是查看的好地方(特别是 maprender/src/maprender.mxml 中的 setLatLonViewingArea、setLatLonToXYMatrix、mercatorLatitudeToLatitude)。

希望这对您有所帮助!

关于java - 简单的 map 投影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4424644/

相关文章:

python - 如何从有序邻接表构建递归字典树

asp.net-mvc - 不传递实体以查看的好处

python - 在 python 中将初始化的字典打印为空

java - Hibernate 忽略 @AttributeOverrides 注释并在错误的表中创建列

.net - Entity Framework ——实体映射问题

java - Integer.toString(参数) 或 toString(参数)

java - 为什么用于从另一个 2D 数组生成 2D 数组的嵌套 for 循环为每个内部数组的最后一个索引返回 0?

java - java反序列化期间的大量int数组

java - @RequestMapping ("/main")在 netbeans spring 4 中不起作用,但在 spring 3 中起作用

c# - 从 Dictionary<string, List<string>> 中检索值