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