天天看點

設計自己的地圖疊加到 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上的話,按照下面的流程建立你自己的地圖:

Author the map

你将在ArcMap中建立地圖并添加資料且給以合适的标注。當你設計地圖的時候,你将需要使用和Google Maps和microsoft virtual earth相同的坐标系統和比例尺。

Change the coordinate system to WGS 1984 Web Mercator

設計地圖要做的第一件事情就是将資料架構的坐标系統改成和Google Maps 和microsoft virtual earth一樣,即WGS 1984 Web Mercator。為了實作改變坐标系統,按照下面的步驟:

    1、在ArcMap TOC(table of contents)上,右鍵點選data frame 名稱(預設是Layers),并選擇properties(屬性)

   2、點選Coordinate System 标簽

   3、點選 predefined->Projected Coordinate Systems->World->WSGS 1984 Web Mercator,然後點選“OK”

注意: 如果你資料的地理坐标系統(geographic coordinate system)不是使用WGS1984 datum或者 GRS80 橢圓體(ellipsoid),你将需要将你的資料進行轉換來正确的适應Google Maps和Virtual Earth。NAD83就是一個使用GRS80橢圓體的地理坐标系統例子。不适用WGS 1984 datum或者FRS80 橢圓體的地理坐标系統還包括NAD27,ED50,等等,更多請看ESRI Knowledge Base Article 34749 (介紹如果進行這些轉換)

Design at the Google Maps and Microsoft Virtual Earth scales

你地圖的使用者将會看到Google Maps和microsoft virtual earth使用的比例尺,是以你在設計你的比例尺的時候隻能使用這些比例尺。但是你怎麼知道這些比例尺都是多少呢?

你可以加載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 并且添加一些資料

   3、點選比例尺下拉清單(dropdown list of scales)并且點選自定義這個清單

   4、點選Load

   5、打開gmaps_ve_scales.txt檔案

   6、點選OK使你的更改生效。你将看到所有的google maps/virtual earth的比例尺很輕松的顯示了。

你僅僅需要将你的地圖在對應比例尺下的外觀做好就可以了,因為在每個比例尺下要做地圖緩存。如果你不打算對大比例尺做緩存的話,你不必在這些比例尺做任何設計工作。

在你的圖層上設定比例尺範圍(scale ranges)可以做到在不同的比例尺上可以見到不同的内容。當你設定你的比例尺範圍(scale ranges)的時候,避免在你編輯的比例尺上或者附近切換圖層關閉或者打開。

你也許需要複制你的圖層,這樣你可以給它們在不同的比例尺以不同的符号。Arcmap 的toc可以包含一個圖層的多個拷貝。每一個可以有自己的符号和比例尺範圍。複制圖層的步驟是:在arcmap toc 中郵件點選它并點選Copy。然後右鍵點選data frame 名稱,再點選 Paste Layer(s)。

Publish the map as a service

在你完成建立你的地圖文檔(.xmd)之後,你需要将它釋出成一個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通路速度很快的一個原因就是他們使用了伺服器端的地圖緩存,這就意味着事先生成的圖檔被存儲在伺服器端,這樣你就可以很快的通過一個URL很快的 通路了。使用arcgis server,你可以為你的地圖建立一個類似的緩存。建立地圖緩存是優化地圖表現的所推薦的(也是在使用Arcgis JavaScript extension for virtual earth必需的)。

地圖緩存(Map caches )部分包含了很多關于計劃、建立、和更新地圖緩存的細節。建立緩存的方式有很多種,下面是關鍵的步驟:

    1、在arccatalog中右鍵點選服務(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,緩存工具将顯示許多資料已經被填在上面。

    6、不要勾選你不需要做緩存的比例尺。如果你的地圖覆寫一個很大的區域,你在大比例尺下(zoom in)将看不到它,是以你不要勾選這些大比例尺

    7、設定更新模式為Recreate All tiles 然後點選OK。工具将會建立這些tiles

依賴于你的地圖有多大和你選擇了哪些比例尺,建立所有的tiles将是一個很長的時間。見Planning a map cache 了解更多關于影響建立緩存時間的因素。

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.

GIS