Openlayers中的比例尺(scale)和解析度(resolution)

來源:互聯網
上載者:User

今天研究了一下Openlayers中的比例尺(scale)和解析度(resolution),弄懂了一些以前不太懂的東西。

一、首先闡明幾個概念:1、Scale:比例尺,圖上距離和實地距離之比。2、Resolution:解析度,每個象元代表的實地距離(map units per pixels)。3、Extent:地圖的範圍(地圖四至)。4、zoomlevel:縮放的層級(0~15)。註:因為這幾個變數均為對”地圖顯示“的量化描述,因此均有最大和最小值。5、map,baselayer:map即地圖,其size也是決定顯示的因素。baselayer相當於一個地圖中的底圖,許多尺度變換函數均在baselayer類中實現,所以map中必須添加baselayer。在Openlayers中如要正確顯示一副地圖,則上面的變數必須要正確設定,但不一定全部設定,全部設定,計算不正確的話可能導致衝突。可選擇設定部分,其餘由Openlayers自動計算。二、scale 和 Resolution 的相互轉化。按照Openlayers中的概念,分比率是比較好計算的,比如直接取地圖實際寬度(或高度)和地圖div(以像素為單位)大小之比,就得到了該縮放層級下的解析度。假設:地圖單位是米,在某個縮放層級L下的解析度為R,如何得到該縮放層級L的比例尺?Scale是圖上距離和實地距離之比,現在我們有的是地圖的 螢幕距離(以像素為單位),實地距離和解析度,很顯然,我們只要得到 圖上距離即可。問題轉化為如何由 螢幕距離+解析度,求圖上距離。解決問題的關鍵是dpi, dots per inches,or pixels per inches。Openlayers假定其接受的地圖圖片均為72dpi,即72的像素點有一英寸的長度,即螢幕上的地圖圖片中,72個像素點就是一英寸的長度。現在問題基本上有頭緒了,就螢幕距離(像素為單位)通過72dpi這個值,轉換為圖上距離。假設螢幕距離為P,解析度為R,則比例尺S為:實地距離: R * P圖上距離: (P / 72) / 39.3701 = P / (72*39.3701)    比例尺: S =  P / (72*39.3701)  / R*P   = 1 /  R*72*32.3701 39.3701是inches和米的對應關係。Openlayers專有對象定義了這樣的對應關係,為的就是能對於不同投影,不同單位的地圖得到一個大概的比例尺。OpenLayers.INCHES_PER_UNIT = {  'inches': 1.0,  'ft': 12.0, 'mi': 63360.0,   'm': 39.3701,  'km': 39370.1,  'dd': 4374754, 'yd': 36 };Openlayers中也有這個一個定義:OpenLayers.DOTS_PER_INCH = 72;即前文中提到的dpi。當然由Scale反算Resolution也很簡單,關鍵是要知道單位,Units。講的不太明白,可能我也只是弄懂了Scale和Resolution,對於Zoom,zoomlevel,exten,scale,Resolution之間的關係,我也還有一點模糊,準備再學習一下。如果有人想瞭解一下,可以看這裡,也可以直接研究Openlayers的源碼,那樣會更有收穫些。

 ————————————————————————————————

學習,更有耐心些

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.