【转】ArcGIS server如何将自己的小地图叠加到Google maps或者Virtual Earth上

来源:互联网 发布:卖家怎么联系淘宝客服 编辑:程序博客网 时间:2024/05/01 08:32

如果要将自己的数据与ArcGIS online的数据叠加使用,那么:1、应该选择后者为Primary Map Resource(有一种情况下,可以将自己的服务作为Primary Map Resource,就是自己数据的坐标系与ArcGIS Online或Google Map的坐标系相同,但cache的比例尺级别只是它们其中一个子集。);2、对于自己数据的地图文档,在data frame中将坐标系选择成Predefined > Geographic Coordinate Systems > World > WGS 1984,ArcMap会将你的数据动态投影到该坐标系下;3、做cache的时候选择load an existing tiling scheme from ArcGIS Online Services,这样能保证比例尺级别与其相同,ArcGIS Online默认有十几级cache,对于自己的数据,可以创建其中的几级,但可能出现的情况请参照前面的分析。对于要和Google Map叠加的数据,步骤也是上面的1、2、3,注意在2中要选择:Predefined > Projected Coordinate Systems > World > WGS 1984 Web Mercator。

 如果在步骤3中,点击load an existing tiling scheme时出错,那很有可能是你跳过了步骤2。

 

 

       其他网上资料:

 

使用空间参考

地图上的要素指的的是实际世界中的物体的位置。这些物体的在球面上的位置是用经纬度来衡量的,这就是我们所知道的geographic coordinates。虽然经纬度可以准确的表示物体在球面上的位置,但是它们不是测量的单位;为了解决测量问题,数据经常通过projected coordinate system.,从3D的地理坐标地图转换为2D的平面。投影坐标系统描述到一个原点是(0,0)---(X轴代表东西和y轴代表北南的坐标系)的距离

因为地球是圆的地图是平的,从弯曲的球面获得平面的信心需要一个转换叫做map projection(地图投影)。一个地图投影将经纬度坐标转换为一个projected coordinate system的x,y坐标。

术语坐标系统(coordinate system),它包含地理和投影坐标系统。它被用来描述投影、数据、单位和子午线信息。

每一个坐标系统通过众所周知的ID(WKID)和一个字符串(WKT)来定义。

          设计自己的地图叠加到

Google Maps或者 MicroSoft Vitual Earth

Release 9.3 ArcGIS JavaScript? Extension for the Google Maps? API

Release 9.3 ArcGIS JavaScript? Extension for Microsoft Virtual Earth?

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.

原创粉丝点击