我有一個尺寸爲n
的TOAST projection行星地圖的圖像,其中n
是2的冪。我想在TOAST地圖上繪製一個像素,並計算球體上相應點的緯度/經度。將TOAST地圖上的點轉換爲球體上的緯度/經度
我有以下功能,但它似乎不起作用。
def _x_y_to_lat_lon((x, y), size):
quad = size/2
if x >= quad:
x -= quad
if y >= quad:
quadrant = 1
y -= quad
else:
quadrant = 2
y = (quad - 1 - y)
else:
x = (quad - 1 - x)
if y >= quad:
quadrant = 0
y -= quad
else:
quadrant = 3
y = (quad - 1 - y)
x += 1
y += 1
ax = abs(x)
ay = abs(y)
if ax + ay > size:
hemisphere = -1
else:
hemisphere = 1
latitude = (ax + ay)/size * pi * hemisphere
longitude = (ax - ay)/(ax + ay) * pi/2 * hemisphere + (pi/4) + (quadrant * pi/2)
return latitude, longitude
非常感謝。你也不會碰巧也有相反的功能,是嗎? – Drakekin
@Drakekin最好問一下,作爲一個新問題,引用這個問題 – theheadofabroom