<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 41,  comments - 90,  trackbacks - 0
    國家測繪局2010年10月21日正式發(fā)布中國公眾版國家地理信息公共服務(wù)平臺(tái)“天地圖”,作為中國境內(nèi)數(shù)據(jù)資源最全的地理信息服務(wù)網(wǎng)站,“天地圖”將為公眾提供權(quán)威、可信、統(tǒng)一的地理信息資源。

    “天地圖”公開開放了地圖數(shù)據(jù)服務(wù)接口,第三方使用者可以直接通過互聯(lián)網(wǎng)獲取地圖數(shù)據(jù),無需授權(quán)認(rèn)證,在公眾服務(wù)信息公開方面可以說是一次非常大的進(jìn)步。
    “天地圖”的在線服務(wù)數(shù)據(jù)近10TB以下是“天地圖”提供的在線地理信息數(shù)據(jù)資源:

    數(shù)據(jù)類型

    數(shù)據(jù)源

    級(jí)別

    服務(wù)地址

    線劃地圖

    全球1:100萬地理底圖

    2-10級(jí)

    http://tile0.tianditu.com/services/A0512_EMap

    http://tile0.tianditu.com/services/AB0512_Anno

    全國1:25萬公開版數(shù)字地形圖

    11-12級(jí)

    http://tile0.tianditu.com/services/B0627_EMap1112

    全國車載導(dǎo)航

    13-18級(jí)

    http://tile0.tianditu.com/services/siwei0608

    衛(wèi)星影像

    全球250米衛(wèi)星影像 (MODIS)

    2-7級(jí)

    http://tile0.tianditu.com/services/sbsm0210

    全國15米衛(wèi)星影像 (ETM)

    8-10級(jí)

    全國2.5米衛(wèi)星影像 (P5)

    11-14級(jí)

    http://tile0.tianditu.com/services/e11

    http://tile0.tianditu.com/services/e12
    http://tile0.tianditu.com/services/e13
    http://tile0.tianditu.com/services/eastdawnall

    地級(jí)城市0.6米衛(wèi)星影像

     (QuickBirdWorldView IWorldView II)

    15-18級(jí)

    http://tile0.tianditu.com/services/sbsm1518

    數(shù)字高程模型

    全球90X90米數(shù)字高程模型

     

    http://tile0.tianditu.com/services/J07098

    地名地址

    全球1:100萬地名地址

     

    http://search.tianditu.com/wfs

    全國1:25萬地名地址


    全國車載導(dǎo)航地名地址


    除地名地址數(shù)據(jù)使用OGC WFS協(xié)議發(fā)布外,其他數(shù)據(jù)全部采用基于OGC WMS-C協(xié)議的分級(jí)瓦片形式發(fā)布,工作原理類似于谷歌地圖和OSM(OpenStreetMap)。

    類似谷歌地圖,“天地圖”為互聯(lián)網(wǎng)開發(fā)人員提供了二次開發(fā)API(武大吉奧開發(fā)的GeoGlobe二維地圖API)。

    通過分析GeoGlobe API代碼,發(fā)現(xiàn)它源自O(shè)penlayers,大部分代碼除了把Openlayers換成GeoSurf外,沒有任何變化。不知道Openlayers項(xiàng)目組就此作何感想。
    正因?yàn)槿绱耍覀兛梢詤⒖糘penLayers.Layer.TileCache和OpenLayers.Layer.XYZ類,編寫一個(gè)專用于讀取“天地圖”的TDTLayer類,使Openlayers能夠直接訪問“天地圖”的在線地圖數(shù)據(jù)。

    “天地圖”采用256×256像素,png格式的地圖瓦片文件,讀取單個(gè)文件需要四個(gè)參數(shù):T、X、Y、L
    T=瓦片(Tile)名稱,X=瓦片橫向編碼,Y=瓦片縱向編碼,L=瓦片級(jí)別
    這個(gè)是一個(gè)完整的請求示例:http://tile0.tianditu.com/DataServer?T=AB0512_Anno&X=50&Y=12&L=6

    天地圖”地理信息數(shù)據(jù)資源列表將地圖瓦片分為16級(jí)(L=2-18),其中L=2級(jí)比例尺最小,對(duì)應(yīng)全球地圖。
    L=2級(jí)只有8個(gè)瓦片文件,分別是

     X= 0 1 2 3 0 1 2 3
     Y= 0 0 0 0 1 1 1 1
    L=3級(jí)有32個(gè)瓦片文件,分別是:
     X= 0-7
     Y= 0-3
    L=4級(jí)有128個(gè)瓦片文件,分別是:
     X= 0-15
     Y= 0-7
    其余各級(jí)以此類推,每級(jí)的瓦片文件數(shù)比前一級(jí)增加4倍,其中線劃地圖10級(jí)以上,衛(wèi)星地圖8級(jí)以上只提供中國境內(nèi)的數(shù)據(jù),沒有覆蓋全球。

    查看
    GeoGlobe API主代碼GeoSurfJSAPI.js文件(相當(dāng)于Openlayers.js,可以了解X(x_num)、Y(y_num)、L(level)的生成方法,偽代碼如下:
    level=getLevelForResolution(map.getResolution()); //計(jì)算瓦片級(jí)別
    coef=TopTileSize.w/Math.pow(2,level); //中間系數(shù)
    x_num=this.pyramid.topTileFromX<this.pyramid.topTileToX?Math.round((bounds.left-this.pyramid.topTileFromX)/coef):Math.round((this.pyramid.topTileFromX-bounds.right)/coef);
    y_num=this.pyramid.topTileFromY<this.pyramid.topTileToY?Math.round((bounds.bottom-this.pyramid.topTileFromY)/coef):Math.round((this.pyramid.topTileFromY-bounds.top)/coef);
    根據(jù)當(dāng)前分辨率計(jì)算地圖瓦片級(jí)別
    function getLevelForResolution(res){
    var ratio=map.getMaxResolution()/res;
    if(ratio<1)return 0;
    for(var level=0;ratio/2>=1;)
    {level++;ratio/=2;}
    return level;
    }

    經(jīng)過簡單測試,“天地圖”和谷歌地圖在數(shù)據(jù)上差別不大,二次開發(fā)方面借助于強(qiáng)大的Openlayers地圖客戶端引擎不會(huì)弱于Google Map API,唯獨(dú)在速度上與谷歌地圖存在較大差距,特別是地圖放大到13級(jí)-18級(jí)時(shí),延遲變得非常明顯,有時(shí)甚至無法顯示。
    使用Firebug跟蹤運(yùn)行發(fā)現(xiàn),大約1/3的地圖瓦片請求超時(shí),導(dǎo)致客戶端讀取失敗。
    “天地圖”目前還處于測試階段,希望相關(guān)單位繼續(xù)改進(jìn)和提升服務(wù)器端性能,快速穩(wěn)定的響應(yīng)大量客戶端發(fā)出的并發(fā)請求。
    測試中發(fā)現(xiàn),“天地圖”開放的地圖數(shù)據(jù)服務(wù)接口從tile0.tianditu.com一直到tile7.tianditu.com。依次ping 這8個(gè)服務(wù)接口,tile1到tile7的響應(yīng)速度相對(duì)較快。修改客戶端js代碼,將瓦片地圖請求平均發(fā)送給tile0到tile7 八個(gè)服務(wù)接口,可以有效加快地圖顯示速度。“天地圖”提供的GeoSurfJSAPI.js中已經(jīng)包含相關(guān)代碼,通過給Layer的mirrorUrl屬性賦值,可以均衡讀取指定的多個(gè)服務(wù)接口,代碼如下:
                            var layer3 = new GeoSurf.Layer.GlobeTile("siwei0608", "http://tile6.tianditu.com/services/siwei0608", {
                                    transitionEffect: "resize",
                                    topLevel: 13,
                                    bottomLevel: 18,
                                    maxExtent: new GeoSurf.Bounds(100, 27, 110, 34),
                                    mirrorUrls: [
                                        "http://tile1.tianditu.com/services/siwei0608",
                                        "http://tile2.tianditu.com/services/siwei0608",
                                        "http://tile3.tianditu.com/services/siwei0608",
                                        "http://tile4.tianditu.com/services/siwei0608",
                                        "http://tile5.tianditu.com/services/siwei0608",
                                        "http://tile6.tianditu.com/services/siwei0608"
                                    ]
                                });

    客戶端使用上述讀取策略后,即便放大到17-18級(jí),整幅地圖也能夠完全顯示,速度有明顯的提升。


    posted on 2010-12-06 14:06 天狼 閱讀(8588) 評(píng)論(5)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲高清国产拍精品青青草原| 日本免费一区二区三区四区五六区| 啦啦啦www免费视频| 亚洲短视频在线观看| 久久国产免费观看精品3| 五月天网站亚洲小说| 久久aⅴ免费观看| 亚洲人成在线观看| 性xxxx视频免费播放直播| 99久久亚洲综合精品成人网| 69视频免费观看l| 亚洲an日韩专区在线| 无码国产精品一区二区免费虚拟VR | 久久精品国产亚洲一区二区三区| 免费一级毛suv好看的国产网站 | 亚洲欧洲国产精品你懂的| 亚在线观看免费视频入口| 亚洲精品网站在线观看你懂的 | 午夜私人影院免费体验区| 亚洲av日韩av永久在线观看| 亚洲A∨精品一区二区三区| 你好老叔电影观看免费| 久久亚洲精品无码AV红樱桃| 青青草a免费线观a| 亚洲AV无码一区二区三区久久精品| 免费国内精品久久久久影院| 中文字幕手机在线免费看电影 | 人妻仑乱A级毛片免费看| 久久亚洲精品无码播放| 久久永久免费人妻精品下载 | 亚洲色图黄色小说| 最近免费中文字幕大全视频 | 亚洲国产高清在线精品一区 | 在线观看国产区亚洲一区成人 | 亚洲精品第一国产综合境外资源 | 亚洲日本VA中文字幕久久道具| 亚洲第一福利网站在线观看| 无码人妻丰满熟妇区免费 | 一级毛片人与动免费观看| 亚洲AV成人片色在线观看高潮 | 亚洲国产91精品无码专区|