Geolocation 将lat/lon坐标映射到地图的位图图像,而不是固定到一个投影

Geolocation 将lat/lon坐标映射到地图的位图图像,而不是固定到一个投影,geolocation,latitude-longitude,geospatial,map-projections,Geolocation,Latitude Longitude,Geospatial,Map Projections,我目前正在开发一个小的(Java)软件,它应该能够显示地图和地图中当前的GPS位置。 我是个新手,但很明显,我需要做一些坐标变换。 我找到了“Proj4J”,它似乎能为我做很多事情。 现在,我所拥有的和我想做的: 我有一张地图的位图。此地图的投影可以是任何“定义良好”的投影,如Lambert或Mercator。我不能把它固定在一个投影上 我有来自“标准”GPS接收器的GPS坐标。我相信它们在WGS84中是lat/lon,对吗 现在我的问题是: 我必须将GPS位置映射到地图位图中的基本“屏幕坐标”

我目前正在开发一个小的(Java)软件,它应该能够显示地图和地图中当前的GPS位置。 我是个新手,但很明显,我需要做一些坐标变换。 我找到了“Proj4J”,它似乎能为我做很多事情。 现在,我所拥有的和我想做的:

  • 我有一张地图的位图。此地图的投影可以是任何“定义良好”的投影,如Lambert或Mercator。我不能把它固定在一个投影上
  • 我有来自“标准”GPS接收器的GPS坐标。我相信它们在WGS84中是lat/lon,对吗
  • 现在我的问题是: 我必须将GPS位置映射到地图位图中的基本“屏幕坐标”。为此,我假设,需要参考点,我知道它们的lat/lon和相应的像素位置。由于我的地图可以轻易地覆盖几百公里的范围,已知点和任意位置之间的线性插值可能并不适用于所有类型的投影,对吗? 到目前为止我已经读过了,但这是关于墨卡托投影的,我相信线性近似比兰伯特映射更有效。 我想整个过程如下:

  • “校准”地图,即。E确定位图中已知lat/lon的两个位置,从而获得它们的像素位置
  • 使用项目4-从“lat/lon WGS84”到“地图投影”的转换,将这些参考点从(1.)映射到地图坐标
  • 把(2)中的点再次映射到一个投影,这个投影允许像素位置的线性插值,我称之为“像素投影”
  • 现在我有两个参考点,坐标在“像素投影”中,它们对应的像素位置
  • 对于来自GPS接收器的lat/lon值,请执行以下操作:

  • 使用“地图投影”将位置转换为地图位置
  • 从(1)中获取地图位置,并使用上面的“像素投影”将其转换为坐标
  • 由于“像素投影”中的所有距离都保持不变(这是像素投影的条件!),因此可以对从(2.)得到的坐标与上面参考点的已知位置进行插值
  • 这里有几个大问题:

  • 使用最终的“像素投影”来允许线性插值,这就是方法吗
  • 这将是什么类型的投影?项目4可以实现什么类型的投影
  • “回头路”——我有一个像素位置,希望实现lat/lon(比如“像素位置”->“像素投影”->“地图投影”->“lat/lon”)
  • 多谢各位,
    詹斯。

    我考虑这个问题已经有一段时间了。如果我对有问题的位置和UTM的参考点进行“最终”映射,会有帮助吗?我的理解是UTM是笛卡尔映射-就像我的位图图像一样。这些图表是Geotiff编码的吗?不,我只是有一张地图,我知道角坐标(WGS84 lat/lon)和地图的投影。这适用于墨卡托投影,但你需要更多关于Lambert和其他类型投影的信息。什么类型的投影“更多信息”是指?关于投影曲率的信息,例如?如果我只有多个映射点,是否有办法创建合理的插值?