2012-12-07 45 views
0

我是一個新手,當涉及到編程,我試圖將座標轉換爲我正在使用Python的地圖應用程序的瓷磚數字。我得到了這樣做的代碼是這樣的:Python deg2num語法錯誤

import math 
def deg2num(lat_deg, lon_deg, zoom): 
lat_rad = math.radians(lat_deg) 
n = 2.0 ** zoom 
xtile = int((lon_deg + 180.0)/360.0*n) 
ytile = int((1.0 - math.log(math.tan(lat_rad)+(1/math.cos(lat_rad)))/math.pi)/2.0*n) 
return (xtile, ytile) 

當我通過我的lat_deg,lon_deg和變焦值代入函數的參數我不斷收到的語法錯誤,當我運行的代碼。

有人可以請幫忙。

謝謝

+0

你能發佈錯誤以及? – 0xc0de

回答

1

除非你粘貼錯誤,否則你的錯誤是縮進。 。

import math 
def deg2num(lat_deg, lon_deg, zoom): 
    lat_rad = math.radians(lat_deg) 
    n = 2.0 ** zoom 
    xtile = int((lon_deg + 180.0)/360.0*n) 
    ytile = int((1.0 - math.log(math.tan(lat_rad)+(1/math.cos(lat_rad)))/math.pi)/2.0*n) 
    return (xtile, ytile) 

試一下]

仍然沒有看到你的問題,我跑你的代碼:

import math 
def deg2num(lat_deg, lon_deg, zoom): 
    lat_rad = math.radians(lat_deg) 
    n = 2.0 ** zoom 
    xtile = int((lon_deg + 180.0)/360.0*n) 
    ytile = int((1.0 - math.log(math.tan(lat_rad)+(1/math.cos(lat_rad)))/math.pi)/2.0*n) 
    return (xtile, ytile) 

使用你說同樣的數字:

>>> print deg2num(40.22621608040184, 21.402665376663208, 10) 
(572, 386) 
>>> 
+0

我發錯了。縮進是相同的。我仍然收到「無效的語法」通知。 – Siya

+0

你能提供回溯嗎?確切的語法錯誤? –

+0

它說:文件 「/Users/siyafrica/Desktop/assignment_0/lonlat_converter.py」,2號線 高清deg2num(40.22621608040184,21.402665376663208,10): ^ 語法錯誤:無效的語法 註銷 – Siya