【问题标题】:convert pixel x,y coordinates to wgs84将像素 x,y 坐标转换为 wgs84
【发布时间】:2021-06-08 03:43:54
【问题描述】:

我有 2 个相同对象的数据集,但都在不同的坐标系中获得。一种是从图像[像素数据]获得的坐标,因此坐标是相对于图像的。另一个系统是WGS84系统。

我需要通过使用python将图像像素系统中的点映射到WGS84系统中它们对应的相对点来转换它们。

我掌握的信息如下:

图片数据格式如下:

    pixIndex       X       Y    R    G    B
           1       0       0  227  227  227
           2       1       0  237  237  237
           3       2       0   0     0    0
           4       3       0  232  232  232
           5       4       0  233  233  233
...        ...     ...     ...  ...  ...  ...

原始数据:

如何进行这种转换?等角投影应该没问题,我不需要它在墨卡托坐标中。

python atm 不是很强大,我看过这个但不确定如何在 python 中这样做:

Convert latitude/longitude point to a pixels (x,y) on mercator projection

感谢您提供任何和所有帮助 :) 谢谢!

【问题讨论】:

    标签: python pandas math maps


    【解决方案1】:

    如果每个链接的转换公式是正确的(尤其是 cmets Convert latitude/longitude point to a pixels (x,y) on mercator projection 中的这个) 那么:

    import pandas as pd
    import numpy as np
    import math
    from io import StringIO
    
    df = pd.read_csv(StringIO("""    pixIndex       X       Y    R    G    B
               1       0       0  227  227  227
               2       1       0  237  237  237
               3       2       0   0     0    0
               4       3       0  232  232  232
               5       4       0  233  233  233"""), sep="\s+")
    
    mapWidth  = df["X"].max()
    mapHeight = df["Y"].max()
    
    x = df["X"]
    y = df["Y"]
    
    df["Lon"] = ((360 * x) / mapWidth) - 180
    df["Lat"] = 90 * (-1 + (4 * np.arctan(np.power(math.e, (math.pi - (2 * math.pi * y) / mapHeight)))) / math.pi)
    

    哪些输出(样本数据中Y全为0)

       pixIndex  X  Y    R    G    B    Lon  Lat
    0         1  0  0  227  227  227 -180.0  NaN
    1         2  1  0  237  237  237  -90.0  NaN
    2         3  2  0    0    0    0    0.0  NaN
    3         4  3  0  232  232  232   90.0  NaN
    4         5  4  0  233  233  233  180.0  NaN
    

    不确定转换过程的有效性,只是调整了公式。

    【讨论】:

      猜你喜欢
      • 2016-05-25
      • 2015-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      相关资源
      最近更新 更多