设计自己的地图叠加到 Google Maps或者 MicroSoft Vitual Earth
源貼 :http://hi.baidu.com/wiselyman/blog/item/d2dbd6f9dc83dc51242df2e2.html
?
英文源貼:http://webhelp.esri.com/arcgisserver/9.3/java/index.htm#designing_overlay_gm_mve.htm
?
ArcGIS Server 9.3包含Google Maps和Mircosoft Virtual Earth API的JavaScript擴(kuò)展包。如果你想要使用這些擴(kuò)展包來(lái)添加你的地圖疊加到Google Maps或者M(jìn)icroSoft Virtual Earth上的話(huà),按照下面的流程創(chuàng)建你自己的地圖:
Author the map
你將在ArcMap中創(chuàng)建地圖并添加數(shù)據(jù)且給以合適的標(biāo)注。當(dāng)你設(shè)計(jì)地圖的時(shí)候,你將需要使用和Google Maps和microsoft virtual earth相同的坐標(biāo)系統(tǒng)和比例尺。
?
Change the coordinate system to WGS 1984 Web Mercator
設(shè)計(jì)地圖要做的第一件事情就是將數(shù)據(jù)框架的坐標(biāo)系統(tǒng)改成和Google Maps 和microsoft virtual earth一樣,即WGS 1984 Web Mercator。為了實(shí)現(xiàn)改變坐標(biāo)系統(tǒng),按照下面的步驟:
??? 1、在ArcMap TOC(table of contents)上,右鍵點(diǎn)擊data frame 名稱(chēng)(默認(rèn)是Layers),并選擇properties(屬性)
?? 2、點(diǎn)擊Coordinate System 標(biāo)簽
?? 3、點(diǎn)擊 predefined->Projected Coordinate Systems->World->WSGS 1984 Web Mercator,然后點(diǎn)擊“OK”
注意: 如果你數(shù)據(jù)的地理坐標(biāo)系統(tǒng)(geographic coordinate system)不是使用WGS1984 datum或者 GRS80 橢圓體(ellipsoid),你將需要將你的數(shù)據(jù)進(jìn)行轉(zhuǎn)換來(lái)正確的適應(yīng)Google Maps和Virtual Earth。NAD83就是一個(gè)使用GRS80橢圓體的地理坐標(biāo)系統(tǒng)例子。不適用WGS 1984 datum或者FRS80 橢圓體的地理坐標(biāo)系統(tǒng)還包括NAD27,ED50,等等,更多請(qǐng)看ESRI Knowledge Base Article 34749 (介紹如果進(jìn)行這些轉(zhuǎn)換)
?
Design at the Google Maps and Microsoft Virtual Earth scales
你地圖的用戶(hù)將會(huì)看到Google Maps和microsoft virtual earth使用的比例尺,所以你在設(shè)計(jì)你的比例尺的時(shí)候只能使用這些比例尺。但是你怎么知道這些比例尺都是多少呢?
你可以加載Google maps和microsoft virtual earth 的比例尺到你的 Arcmap 比例尺下拉列表(dropdown list),按照下列步驟:
??? 1、將txt文件gmaps_ve_scales.txt 拷到一個(gè)你容易記住的地方。(這個(gè)文件放在C:\Inetpub\wwwroot\ArcGIS\Manager\Help\gmaps_ve_scales.txt)
?? 2、打開(kāi) ArcMap 并且添加一些數(shù)據(jù)
?? 3、點(diǎn)擊比例尺下拉列表(dropdown list of scales)并且點(diǎn)擊自定義這個(gè)列表
?? 4、點(diǎn)擊Load
?? 5、打開(kāi)gmaps_ve_scales.txt文件
?? 6、點(diǎn)擊OK使你的更改生效。你將看到所有的google maps/virtual earth的比例尺很輕松的顯示了。
你僅僅需要將你的地圖在對(duì)應(yīng)比例尺下的外觀(guān)做好就可以了,因?yàn)樵诿總€(gè)比例尺下要做地圖緩存。如果你不打算對(duì)大比例尺做緩存的話(huà),你不必在這些比例尺做任何設(shè)計(jì)工作。
在你的圖層上設(shè)置比例尺范圍(scale ranges)可以做到在不同的比例尺上可以見(jiàn)到不同的內(nèi)容。當(dāng)你設(shè)置你的比例尺范圍(scale ranges)的時(shí)候,避免在你編輯的比例尺上或者附近切換圖層關(guān)閉或者打開(kāi)。
你也許需要復(fù)制你的圖層,這樣你可以給它們?cè)诓煌谋壤咭圆煌姆?hào)。Arcmap 的toc可以包含一個(gè)圖層的多個(gè)拷貝。每一個(gè)可以有自己的符號(hào)和比例尺范圍。復(fù)制圖層的步驟是:在arcmap toc 中郵件點(diǎn)擊它并點(diǎn)擊Copy。然后右鍵點(diǎn)擊data frame 名稱(chēng),再點(diǎn)擊 Paste Layer(s)。
Publish the map as a service
在你完成創(chuàng)建你的地圖文檔(.xmd)之后,你需要將它發(fā)布成一個(gè)Arcgis Server map service,這樣你才能在你的JavaScript應(yīng)用中使用它。最早的一種方式是在arccatalog上右鍵點(diǎn)擊地圖文檔,再點(diǎn)擊 publish to arcgis server
Learn more about publishing a GIS resource to the server .
Create a map cache
Google maps和vritual eart訪(fǎng)問(wèn)速度很快的一個(gè)原因就是他們使用了服務(wù)器端的地圖緩存,這就意味著事先生成的圖片被存儲(chǔ)在服務(wù)器端,這樣你就可以很快的通過(guò)一個(gè)URL很快的 訪(fǎng)問(wèn)了。使用arcgis server,你可以為你的地圖創(chuàng)建一個(gè)類(lèi)似的緩存。創(chuàng)建地圖緩存是優(yōu)化地圖表現(xiàn)的所推薦的(也是在使用Arcgis JavaScript extension for virtual earth必需的)。
地圖緩存(Map caches )部分包含了很多關(guān)于計(jì)劃、創(chuàng)建、和更新地圖緩存的細(xì)節(jié)。創(chuàng)建緩存的方式有很多種,下面是關(guān)鍵的步驟:
??? 1、在arccatalog中右鍵點(diǎn)擊服務(wù)(service),然后點(diǎn)擊Service properties
??? 2、點(diǎn)擊Caching標(biāo)簽,選擇“Using tiles from a cache that you will define below”來(lái)畫(huà)地圖
??? 3、點(diǎn)擊“Load tiling scheme from”,然后在下拉列表選擇Microsoft Virtual Earth / Google Maps
??? 4、如果有必要,更改緩存目錄
??? 5、點(diǎn)擊create tiles,緩存工具將顯示許多數(shù)據(jù)已經(jīng)被填在上面。
??? 6、不要勾選你不需要做緩存的比例尺。如果你的地圖覆蓋一個(gè)很大的區(qū)域,你在大比例尺下(zoom in)將看不到它,所以你不要勾選這些大比例尺
??? 7、設(shè)置更新模式為Recreate All tiles 然后點(diǎn)擊OK。工具將會(huì)創(chuàng)建這些tiles
依賴(lài)于你的地圖有多大和你選擇了哪些比例尺,創(chuàng)建所有的tiles將是一個(gè)很長(zhǎng)的時(shí)間。見(jiàn)Planning a map cache 了解更多關(guān)于影響創(chuàng)建緩存時(shí)間的因素。
Once you've finished creating the cache, you're ready to use your map with Google Maps or Microsoft Virtual Earth. See Developing with ArcGIS Server: An Overview to learn how you can develop JavaScript applications that overlay your maps with Google Maps and Microsoft Virtual Earth.
總結(jié)
以上是生活随笔為你收集整理的设计自己的地图叠加到 Google Maps或者 MicroSoft Vitual Earth的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: uniapp蓝牙模块demo
- 下一篇: AspectJ切面