gpt4 book ai didi

math - 如何将纬度/经度映射到扭曲的 map ?

转载 作者:行者123 更新时间:2023-12-03 11:29:32 25 4
gpt4 key购买 nike

我有一堆纬度/经度对,它们映射到(地理扭曲的) map 上的已知 x/y 坐标。

然后我还有一对纬度/经度。我想尽可能地将它绘制在 map 上。我该怎么做?

起初,我决定为三个最近的纬度/经度点创建一个线性方程组,并根据这些点计算变换,但这根本不起作用。由于这是一个线性系统,我也不能使用更多附近的点。

您不能假设 North 已启动:您所拥有的只是现有的 lat/long->x/y 映射。

编辑:它不是墨卡托投影或类似的东西。为了可读性,它被任意扭曲了(想想地铁图)。我只想使用最近的 5 到 10 个映射,以便 map 其他部分的失真不会影响我尝试计算的映射。

此外,整个 map 位于一个非常小的地理区域内,因此无需担心地球——平坦地球假设就足够了。

最佳答案

有没有关于这种失真的更具体的细节?例如,如果使用墨卡托投影将纬度和经度“扭曲”到 2D map 上,则转换数学为 readily available .

如果 map 真的任意扭曲,你可以尝试很多东西,但最简单的可能是计算 weighted average从您现有的点映射。您的权重可以是从新点到每个现有点的 x/y 距离的平方倒数。

一些伪代码:

estimate-latitude-longitude (x, y)

numerator-latitude := 0
numerator-longitude := 0
denominator := 0

for each point,
deltaX := x - point.x
deltaY := y - point.y
distSq := deltaX * deltaX + deltaY * deltaY
weight := 1 / distSq

numerator-latitude += weight * point.latitude
numerator-longitude += weight * point.longitude
denominator += weight

return (numerator-latitude / denominator, numerator-longitude / denominator)

这段代码将给出一个相对简单的近似值。如果您可以更精确地了解投影扭曲地理坐标的方式,您可能会做得更好。

关于math - 如何将纬度/经度映射到扭曲的 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1908/

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