九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Google地圖經(jīng)度緯度到像素索引值的轉換公式

前陣子一直有朋友問我經(jīng)緯度轉換成google像素索引值的問題,今天整理一下,寫給大家看看

簡單說明一下:

google的地圖采用將地球圓表面投影成平面的方式進行貼圖

假設zoom=15;

橫坐標從左至右像素為0-256*2的15次冪,也就是每增加一級,地圖大小橫縱坐標加倍,256為一個標準圖片的大小

顯示-180度到+180的范圍,經(jīng)度越大x越大

縱坐標從上到下像素為0-256*2的15次冪,顯示+85到-85度的范圍,緯度越小y越大

我們先看一下經(jīng)度的轉換

經(jīng)度的轉換,我就不多說了,均勻分布,大家簡單的看一下下面的公式就明白了

經(jīng)度到像素X值

public static double lngToPixel(double lng, int zoom) {

return (lng + 180) * (256L << zoom) / 360;

}

像素X到經(jīng)度

public static double pixelToLng(double pixelX, int zoom) {

return pixelX * 360 / (256L << zoom) - 180;

}

緯度到像素Y

public static double latToPixel(double lat, int zoom) {

double siny = Math.sin(lat * Math.PI / 180);

double y = Math.log((1 + siny) / (1 - siny));

return (128 << zoom) * (1 - y / (2 * Math.PI));

}

像素Y到緯度

public static double pixelToLat(double pixelY, int zoom) {

double y = 2 * Math.PI * (1 - pixelY / (128 << zoom));

double z = Math.pow(Math.E, y);

double siny = (z - 1) / (z + 1);

return Math.asin(siny) * 180 / Math.PI;

}

維度的這個轉換,單純去理解不是很好理解,我也沒有太深入的了解,從公式來看,采用了一種非線性變化,也就是靠近赤道的地方單位像素表現(xiàn)的緯度間距大,越靠近兩極越小,可能是因為 經(jīng)度在靠近兩極的方向均勻變化,導致緯度也要進行拉伸,否則 靠近兩極的地方,地理形狀就該發(fā)生變化了,總之上面的轉換公式大家還是可以研究一下的,google維度的表示范圍是-85到+85,這個可以求出來!

上面得到的像素XY是像素的坐標,并非是google地圖取地圖的那個XY那個XY是把像素所標除以256得到的商,也就是每張圖片的大小

---------------chen------------------

matlab里

經(jīng)緯度到網(wǎng)格,6是級別

x=112.5
(x+180)/360*(256*(2^6))/256

y=31.95216224
y=36.59788913
(0.5-log( (1+sin(y*pi/180))/(1-sin(y*pi/180)) )/(4*pi) ) *(256*(2^6))/256


本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
google地圖經(jīng)緯度偏移修正算法完美解決方案 | lbsgps移動定位技術社區(qū)
根據(jù)兩點經(jīng)緯度計算距離
Android獲取經(jīng)緯度、計算距離、方位角
數(shù)據(jù)清洗告一段落了
Google Map瓦片圖算法分析
java 根據(jù)經(jīng)緯度計算圓周
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服