亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于百度地圖的標(biāo)記點(diǎn)聚合算法研究

        2013-10-08 03:04:46戴鳳嬌,肖林華,楊琭
        中國(guó)科技信息 2013年23期
        關(guān)鍵詞:經(jīng)緯度視圖矩形

        引言

        近年來,新技術(shù)的不斷涌現(xiàn),使得網(wǎng)頁功能更加豐富。數(shù)字地圖創(chuàng)造性地將傳統(tǒng)地圖與網(wǎng)頁相結(jié)合,極大豐富和方便了人們的生活。從最初的“無縫”圖片發(fā)展到現(xiàn)在的二維、三維,數(shù)字地圖,以其特有的優(yōu)勢(shì),得到了人們?cè)絹碓蕉嗟那嗖A。

        在用戶體驗(yàn)上,數(shù)字地圖為用戶提供了一種新的信息查詢方式,信息顯示更精準(zhǔn)全面,而查詢結(jié)果通常都是以標(biāo)記形式展現(xiàn),用戶的可視區(qū)域有限,如何在當(dāng)前縮放級(jí)別下,利用最小的區(qū)域展示出最全面的信息,而又不產(chǎn)生重疊覆蓋,就要利用到標(biāo)記聚合技術(shù),這也正是文章討論的中心。

        1. 百度Map API

        一個(gè)開發(fā)地圖應(yīng)用的快捷方法是利用第三方的API。運(yùn)用美國(guó)衛(wèi)星航拍技術(shù)的Google地圖,以及與交通部門合作的百度地圖這兩個(gè)地圖服務(wù)商都為應(yīng)用程序開發(fā)者提供了API。Google與百度的API文檔相對(duì)其他服務(wù)商提供的文檔來說,更完備、詳盡、簡(jiǎn)潔,并且給出了很多學(xué)習(xí)示例,非常適合初學(xué)者學(xué)習(xí)開發(fā)。Google更精準(zhǔn),精確度達(dá)小數(shù)點(diǎn)后14位,而百度地圖則是小數(shù)點(diǎn)后6位。但由于Google的ICP牌照已失效,因此理論上谷歌不能再向中國(guó)用戶提供Google Map和Google Earth服務(wù)了,所以文章最終采用百度Map API實(shí)現(xiàn)。

        為了減小計(jì)算量,以下討論的三種算法只計(jì)算在視圖區(qū)域內(nèi)標(biāo)記點(diǎn),在視圖區(qū)域外的不計(jì)算。

        2. 基于視圖矩形的標(biāo)記點(diǎn)聚合

        2.1 原理

        將視圖區(qū)域劃分成若干矩形,矩形的大小視地圖的縮放級(jí)別而定。將同一矩形內(nèi)的標(biāo)記點(diǎn)聚合成一個(gè)聚合標(biāo)記,該聚合標(biāo)記需記錄被聚合的標(biāo)記點(diǎn)個(gè)數(shù)或其他重要的統(tǒng)計(jì)信息。

        2.2 實(shí)現(xiàn)

        利用百度地圖API中Map類的getBounds方法,獲取視圖區(qū)域的西南點(diǎn)及東北點(diǎn)的經(jīng)緯度數(shù)據(jù),并根據(jù)當(dāng)前的縮放級(jí)別確定出矩形大小,綜合這三個(gè)數(shù)據(jù)計(jì)算得出各個(gè)矩形的邊界。

        現(xiàn)矩形劃分已定,需要解決標(biāo)記點(diǎn)的經(jīng)緯度到所在矩形區(qū)域的對(duì)應(yīng)問題。有個(gè)直接的方法是將每一個(gè)標(biāo)記點(diǎn)依次與視圖中的矩形區(qū)域邊界比較,直到有一個(gè)匹配的為止。這種方法簡(jiǎn)單,但費(fèi)時(shí),實(shí)驗(yàn)中采用一種時(shí)間復(fù)雜度比較低的算法。

        首先將視圖視為2維數(shù)組,按從上到下從左到右的順序依次對(duì)矩形編號(hào),以lngDiff代表一個(gè)矩形所跨域的經(jīng)度,以latDiff代表一個(gè)矩形所跨域的緯度,以swp代表視圖區(qū)域的西南點(diǎn),利用Math庫提供的下取整函數(shù)Math.floor,則點(diǎn)point所在的矩形行標(biāo)為:Math.floor((nep.lat-point.lat)/latDiff),列標(biāo)為:Math.floor((point.lngswp.lng)/lngDiff),這樣就找到了標(biāo)記點(diǎn)到矩形的對(duì)應(yīng)關(guān)系。對(duì)應(yīng)關(guān)系找到,標(biāo)記點(diǎn)的分類與聚合就可以順利完成。下一步就需要確定聚合點(diǎn)的顯示位置。

        聚合點(diǎn)在矩形的顯示位置需要考慮當(dāng)前的縮放級(jí)別,若縮放級(jí)數(shù)低,為避免聚合點(diǎn)重疊,可以將聚合點(diǎn)顯示在矩形正中;若縮放級(jí)別高,則可選取矩形內(nèi)某個(gè)標(biāo)記點(diǎn)的位置為聚合點(diǎn)的顯示位置,這個(gè)標(biāo)記點(diǎn)可以簡(jiǎn)單的選取遇到的第一個(gè)標(biāo)記點(diǎn),也可以選取最靠近矩形中心的標(biāo)記點(diǎn),或者可以根據(jù)標(biāo)記點(diǎn)內(nèi)容,選取最重要的點(diǎn)。

        實(shí)驗(yàn)中選取矩形中心為聚合點(diǎn)的目標(biāo)位置。圖1、圖2分別為使用聚合算法前后標(biāo)記點(diǎn)的顯示情況,可以看出,聚合后的信息呈現(xiàn)更加簡(jiǎn)潔豐富。選取矩形中心為聚合點(diǎn)的顯示位置,可以避免出現(xiàn)圖3所示的情況,圖3中由于[3]

        [2]矩形及[3][3]矩形的聚合點(diǎn)位置隨機(jī)選取為矩形內(nèi)的某個(gè)標(biāo)記點(diǎn)位置,而恰巧這兩個(gè)標(biāo)記點(diǎn)相鄰,這就使得聚合點(diǎn)發(fā)生覆蓋,信息無法讀出。

        3. 基于距離的標(biāo)記點(diǎn)聚合

        3.1 原理

        基于矩形的標(biāo)記點(diǎn)聚合實(shí)現(xiàn)簡(jiǎn)單,但不夠靈活?,F(xiàn)實(shí)應(yīng)用中,標(biāo)記點(diǎn)多與國(guó)家地區(qū)相聯(lián)系,因此聚合時(shí),常需要考慮標(biāo)記點(diǎn)間的距離。

        首先需要解決地球表面上兩點(diǎn)間距離的計(jì)算問題。通常在不要求特別精確的情況下,將地球視為正球體,而實(shí)際上地球是個(gè)兩頭略扁的橢球體,因此實(shí)驗(yàn)中得出的距離是個(gè)近似距離。在球面幾何中,定義正球體表面兩點(diǎn)間的距離為經(jīng)過這兩點(diǎn)的大圓所在的劣弧長(zhǎng),如圖4中弧AB即為A、B兩點(diǎn)間的距離。以 表示∠AOB的弧度,以R表示地球半徑,則根據(jù)弧長(zhǎng)公式得到:A、B兩點(diǎn)間的距離為R。這樣,選取某個(gè)標(biāo)記點(diǎn)為基點(diǎn),則其他點(diǎn)到基點(diǎn)的距離都可以得到。

        以絕對(duì)距離劃分標(biāo)記點(diǎn)存在一個(gè)問題,在不同縮放級(jí)數(shù)下,同一距離對(duì)應(yīng)不同的像素點(diǎn)數(shù)目,而視圖區(qū)域的像素點(diǎn)數(shù)目是一定的,用戶是以兩點(diǎn)間的像素點(diǎn)數(shù)目來衡量點(diǎn)與點(diǎn)之間的距離,因此以間隔的像素點(diǎn)數(shù)目為標(biāo)準(zhǔn)設(shè)計(jì)聚合算法更合理(圖4)。

        圖1 點(diǎn)聚合前

        圖2 點(diǎn)聚合后

        圖3 聚合點(diǎn)發(fā)生覆蓋

        3.2 實(shí)現(xiàn)

        百度地圖API默認(rèn)使用墨卡托投影。選取經(jīng)緯線原點(diǎn)為平面原點(diǎn),即原點(diǎn)位置為赤道與0度經(jīng)線相交的位置。在百度地圖API中,以18級(jí)為平面坐標(biāo)基準(zhǔn)級(jí)數(shù)。已知某點(diǎn)的經(jīng)緯度,利用BMap.MercatorProjection類可獲取該點(diǎn)在18級(jí)下的平面像素坐標(biāo),在其他級(jí)別下的像素坐標(biāo)可通過Math. floor (平面坐標(biāo)×2zoom-18)換算得到,其中zoom代表當(dāng)前縮放級(jí)別。至此,點(diǎn)的經(jīng)緯度坐標(biāo)到像素坐標(biāo)轉(zhuǎn)換完成,點(diǎn)的像素坐標(biāo)已知,則點(diǎn)間的像素距離不難得到。

        圖4 地球表面兩點(diǎn)間距離示意圖

        圖5 點(diǎn)聚合前

        圖6 點(diǎn)聚合后

        實(shí)驗(yàn)中,取成都市為基點(diǎn)(經(jīng)緯度坐標(biāo):104.067923,30.679943),到該點(diǎn)的距離小于等于65像素的點(diǎn)被聚合,聚合前后標(biāo)記點(diǎn)情況分別如圖5、6所示。易實(shí)現(xiàn),基于距離的聚合算法則更靈活些。在實(shí)際應(yīng)用中,常在這兩種方法的基礎(chǔ)上增加一些限制條件,更精確的定位及聚合標(biāo)記點(diǎn)。

        4. 結(jié)束語

        文章重點(diǎn)介紹了基于視圖矩形的聚合算法及基于距離的聚合算法的原理及實(shí)現(xiàn),基于視圖矩形的聚合算法簡(jiǎn)單

        [1]許輝,馬曉鵬. 基于web墨卡托投影地理信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).電腦編程技巧與維護(hù), 2011年第8期

        [2]崔文紅. 電子地圖的應(yīng)用及發(fā)展趨勢(shì). 測(cè)繪與空間地理信息, 2008年第3期

        猜你喜歡
        經(jīng)緯度視圖矩形
        兩矩形上的全偏差
        化歸矩形證直角
        5.3 視圖與投影
        視圖
        從矩形內(nèi)一點(diǎn)說起
        Y—20重型運(yùn)輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        自制中學(xué)實(shí)驗(yàn)操作型經(jīng)緯測(cè)量?jī)x
        澳洲位移大,需調(diào)經(jīng)緯度
        一種利用太陽影子定位的數(shù)學(xué)模型
        在线观看视频日本一区二区三区 | 2018国产精华国产精品| 国产裸体歌舞一区二区| 99精品国产一区二区三区不卡 | 国产日韩精品suv| 国产在线精品欧美日韩电影| 97中文字幕在线观看| 少妇隔壁人妻中文字幕| 亚洲综合网国产精品一区| 亚洲成av人片天堂网 | 国语憿情少妇无码av| 国产一区二区中文字幕在线观看 | Y111111国产精品久久久| 中文亚洲第一av一区二区| 日本xxxx色视频在线观看免费| 米奇777四色精品人人爽| 亚洲国产成人无码影院| 国产无套粉嫩白浆内精| 精品国产yw在线观看| 国产午夜福利在线播放| 日韩欧美在线观看成人| 宅男天堂亚洲一区二区三区| 国产97色在线 | 国产| 欧美粗大无套gay| 麻豆人妻无码性色AV专区| 成人在线观看av毛片| 人妻体体内射精一区二区| 婷婷丁香五月亚洲| 亚洲人妻av在线播放| 免费av片在线观看网址| 成人综合网亚洲伊人| 欧美在线观看www| 婚外情长久的相处之道| 国产精品无码久久久久久| 国产精品自产拍在线18禁| 日本一区人妻蜜桃臀中文字幕| 精品人妻大屁股白浆无码| 国产精品后入内射日本在线观看| 极品美女尤物嫩模啪啪| 性av一区二区三区免费| 亚洲国产精品福利片在线观看|