經緯度BL換算到高斯平面直角座標XY的簡單演算法

2022-07-26 07:51:09 字數 1244 閱讀 9295

找到這個經緯度bl換算到高斯平面直角座標xy的簡單演算法(她用excel算的,正好是乙個個步驟,翻過來就是了):

從經緯度bl換算到高斯平面直角座標xy(高斯投影正算),或從xy換算成bl(高斯投影反算)

完成經緯度bl到平面直角座標xy的換算,在excel中大約需要占用21列。在excel中,輸入公式的起始單元格不同,則反映出來的公式不同,以公式從第2行第1列(a2格)為起始單元格為例,各單元格的公式如下:

單元格單元格內容

說明a2

輸入**子午線,以度.分秒形式輸入,如115度30分則輸入115.30

起算資料l0

b2=int(a2)+(int(a2*100)-int(a2)*100)/60+(a2*10000-int(a2*100)*100)/3600

把l0化成度

c2以度小數形式輸入緯度值,如38°14′20″則輸入38.1420

起算資料b

d2以度小數形式輸入經度值

起算資料l

e2=int(c2)+(int(c2*100)-int(c2)*100)/60+(c2*10000-int(c2*100)*100)/3600

把b化成度

f2=int(d2)+(int(d2*100)-int(d2)*100)/60+(d2*10000-int(d2*100)*100)/3600

把l化成度

g2=f2-b2

l-l0

h2=g2/57.2957795130823

化作弧度

i2=tan(radians(e2))

tan(b)

j2=cos(radians(e2))

cos(b)

k2=0.006738525415*j2*j2

l2=i2*i2

m2=1+k2

n2=6399698.9018/sqrt(m2)

o2=h2*h2*j2*j2

p2=i2*j2

q2=p2*p2

r2=(32005.78006+q2*(133.92133+q2*0.7031))

s2=6367558.49686*e2/57.29577951308-p2*j2*r2+((((l2-58)*l2+61)*

o2/30+(4*k2+5)*m2-l2)*o2/12+1)*n2*i2*o2/2

計算結果x

t2=((((l2-18)*l2-(58*l2-14)*k2+5)*o2/20+m2-l2)*o2/6+1)*n2*(h2*j2)

計算結果y

gdal座標變換(x,y變經緯度)

最近因為一些原因需要讀取地理資料,我使用的工具是gdal,在處理資料的時候遇到一些小的問題,自己折騰了會兒,現在分享出來,避免大家浪費時間。include gdal priv.h include ogrsf frmts.h include gdal.h include ogr srs api.h i...

不同座標系經緯度轉換演算法(JS)

墨卡托投影座標轉經緯度 export function mercatortolonlat mercator var x mercator.x 20037508.34 180 var y mercator.y 20037508.34 180 y 180 math.pi 2 math.atan math...

MATLAB程式實現經緯度轉換成平面座標

近期搜了下經緯度座標轉換成直角座標的程式和原理啥的,哎,真難啊,其實道理都懂吧,下面直接貼 主要是加了個for迴圈而言,優化輸出效果。matlab程式實現經緯度轉換成平面爾座標 m pi 3.14159265358979323846 l 6381372 m pi 2 地球周長 w l 平面展開後,x...