[英]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
... ... ... ... ... ... ...
原始數據:
我該如何進行這種轉換? 等角投影應該沒問題,我不需要它在墨卡托坐標中。
python atm 不是很強大,我看了這個但不確定如何在 python 中這樣做:
任何和所有的幫助表示贊賞:) 謝謝!
如果每個鏈接的轉換公式是正確的(尤其是評論中的這個公式將緯度/經度點轉換為墨卡托投影上的像素 (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.