關於百度地圖分辨率resolution的計算


 

一、名詞解釋  

  分辨率(resolution,港台稱之為解析度)就是屏幕圖像的精密度,是指顯示器所能顯示的像素的多少。由於屏幕上的點、線和面都是由像素組成的,顯示器可顯示的像素越多,畫面就越精細,同樣的屏幕區域內能顯示的信息也越多,所以分辨率是個非常重要的性能指標之一。(百度百科)

  而地面分辨率是以一個像素(pixel)代表的地面尺寸(米)。

二、百度地圖坐標概述

  百度地圖使用經緯度地理坐標(lng, lat)和像素坐標(x, y)兩種,同時百度api提供兩種坐標轉換的方法

  經緯度轉換為地理坐標的方法為:

方法      返回值 描述    
pointToPixel(point:Point)    Pixel                              經緯度坐標轉換為像素坐標。

  地理坐標轉換為經緯度的方法為:

方法 返回值 描述
pixelToPoint(pixel:Pixel) Point 像素坐標轉換為經緯度坐標。

 

------------------------------------------------

 

  博主經營一家發飾淘寶店,都是純手工制作哦,開業沖鑽,只為信譽!需要的親們可以光顧一下!謝謝大家的支持!
店名:
  小魚尼莫手工飾品店
經營:
  發飾、頭花、發夾、耳環等(手工制作)
網店:
  http://shop117066935.taobao.com/

 

  ---------------------------------------------------------------------

 

繼續正題... 

 

  


三、分辨率計算方法

  a) 分辨率與地圖比例尺之間換算方法:

                

    Scale:地圖比例尺;

    Resolution:地圖分辨率;

    PPI:每英寸的像素點數。

    具體參考文章: http://www.cnblogs.com/qiongmiaoer/archive/2013/03/13/2958288.html

  b) 分辨率根據定義( 實際距離/像素值 ),在大比例尺地圖下可以近似的用此方法進行計算,就不考慮地球形狀因素了,計算方法為:

     分辨率res = (lng1-lng2)/ (x1-x2);

    或 res = (lat1-lat2)/(y1-y1);

四、一般地圖中分辨率特性

  同級別地圖中分辨率是固定值,因而無論使用經度還是緯度計算,結果都是不變的。

五、百度地圖中分辨率特性

  同級別地圖中百度分辨率不是固定值,且經度方向,緯度方向變化幅度也不相同,可以通過以下方法測試:  

  var bounds = map.getBounds();               //假設定義好了百度地圖為map     
   var geoPointLB = bounds.getSouthWest();    //左下角點地理坐標
   var geoPointRT = bounds.getNorthEast();    //右上角點地理坐標
   var pixelPointLB = BaiduMap.map.pointToPixel(geoPointLB);  //左下角點像素坐標
   var pixelPointRT = BaiduMap.map.pointToPixel(geoPointRT);  //右上角點像素坐標
  
  var resX = (geoPointRT.lng - geoPointLB.lng) / (pixelPointRT.x - pixelPointLB.x);    //分辨率 = 經度差 / x差
  var resY = (geoPointRT.lat - geoPointLB.lat) / (pixelPointRT.y - pixelPointLB.y);    //分辨率 = 緯度差 / y差

  測試結果:resX和resY是不同的。

  原因:百度地圖為了數據保密做的一些“糾正”,防止一些不法用途。

  目前解決方案:將百度地圖分為經度方向分辨率、緯度方向分辨率,可以一定程度上減小誤差,具體實現方法同上方代碼示例。 

 

店名:
  小魚尼莫手工飾品店
經營:
  發飾、頭花、發夾、耳環等(手工制作)
網店:
  http://shop117066935.taobao.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM