2017-02-27 120 views
-1

我想轉換X,Y系統的經度和緯度,它似乎是很多人推薦pyprojpyproj - 如何決定任何UTM區域的初始點

在他們的示例代碼,他們使用p1 = Proj(init='epsg:26915')p2 = Proj(init='epsg:26715')

但是,這對於UTM ZONE15 這裏是我的樣本x = 492893.53,Y = 5458938.38 和UTM Zone10N我的示例代碼:

p1 = Proj(init='epsg:26910') 
p2 = Proj(init='epsg:26710') 
x,y = 492893.53, 5458938.38 
x2,y2 = transform(p1, p2, x, y) 

輸出X2,Y2是不正確的緯度和經度

我試圖檢查EPSG值UTM區10N,有3個版本在線:version 1version 2version 3 我想所有的人,他們沒有工作。

p1,p2究竟是什麼意思?我如何找到任何UTM區域的p1,p2的值?

+0

你是什麼意思「沒有人工作」?怎麼了?你的代碼和錯誤/問題在哪裏?而'p1'和'p2'不是'初始點',它們是源和目標投影規範。 – Spacedman

回答

1

如果你正在轉換爲lat-long,那麼你需要投影你的lat-long座標系。在大多數情況下,這是WGS84經緯度只要使用GPS,這是EPSG代碼4326

import pyproj 
ll = pyproj.Proj(init="epsg:4326") 

,那麼你需要從您的數據點的投影。在這種情況下,你可以說它的UTM10,但是你沒有說哪個變體,但是沒有辦法從座標中知道。首先讓我們嘗試WGS84版本:

>>> utm10 = pyproj.Proj(init="epsg:32610") 
>>> pyproj.transform(utm10, ll, 492893.53, 5458938.38) 
(-123.0977143330712, 49.28315708900033) 

這看起來像一個可能的LAT-長(實際上(-123,49)是長LAT)爲UTM10的有效區域。所以我不確定你的問題中「沒有一個能工作」。

另外兩個投影代碼會得到相近或相同的結果。你使用哪一種不能單從數字決定 - 你要問任何人提供他們在

什麼投影的數字你甚至不能確定哪些UTM區域的點是在給定的X和Y座標。它們可能是地球上的任何區域,因爲x和y數字對於每個區域的經度帶中的每個區域都是重複的。