簡體   English   中英

將像素 x,y 坐標轉換為 wgs84

[英]convert pixel x,y coordinates to wgs84

我有 2 個相同 object 的數據集,但都在不同的坐標系中獲得。 一種是從圖像[像素數據]獲得的坐標,因此坐標是相對於圖像的。 另一個系統是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
...        ...     ...     ...  ...  ...  ...

原始數據:

原始數據 XY WGS84

我該如何進行這種轉換? 等角投影應該沒問題,我不需要它在墨卡托坐標中。

python atm 不是很強大,我看了這個但不確定如何在 python 中這樣做:

將緯度/經度點轉換為墨卡托投影上的像素 (x,y)

任何和所有的幫助表示贊賞:) 謝謝!

如果每個鏈接的轉換公式是正確的(尤其是評論中的這個公式將緯度/經度點轉換為墨卡托投影上的像素 (x,y) ),那么:

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

不確定轉換過程的有效性,只是調整了公式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM