ArcGIS地图服务叠加原理

3

Click here to load reader

Transcript of ArcGIS地图服务叠加原理

Page 1: ArcGIS地图服务叠加原理

ArcGIS 地图服务叠加基本上都是一个切片地图(底图)+一个动态地图(业务地图)

ArcGISTiledMapServiceLayer + ArcGISDynamicMapServiceLayer

TiledMapService 是切好片的地图服务(服务器上保存为一张张图片文件), DynamicMapService

是动态地图服务, 只会在请求时临时输出地图.

1. 从切片地图服务那里获得所有的小瓦片, 铺设在一起形成底图(basemap)

2. 从动态地图服务那里获得整个屏幕大小的输出图片(export), 覆盖在底图之上

如下图所示, 河南地图 + 基站覆盖情况, 其中河南地图为底图, 基站覆盖为业务地图即动

态地图服务, 通过 firebug 观察 HTTP 请求的数据就一目了然了

Page 2: ArcGIS地图服务叠加原理

切片底图(请求每一块瓦片)

这 些 图 片 文 件 是 在 服 务 器 上 预 生 成 好 的 , 称 为 Tile Cache, 一 般 保 存 在

c:\arcgisserver\arcgiscache

例如这里的河南地图服务(henjichu), 根据地图服务名, 则在

C:\arcgisserver\arcgiscache\henjichu 目录下面

REST 瓦片对应服务器文件

通过 REST 访问的地址会映射到对应的图片,为 XYZ 关系, 即 Level/Row/Column, 只不过 REST

采用的是 10 进制, 服务器文件采用的是 16 进制

例如:

http://192.168.200.102:8399/arcgis/rest/services/henjichu/MapServer/tile/1/433/608.png

Page 3: ArcGIS地图服务叠加原理

转化为 16 进制(level 不用转)

433 -> 1b1

608 -> 260

因此对应服务器文件为(16 进制补全 8 位):

C:\arcgisserver\arcgiscache\henjichu\Layers\_alllayers\L01\R000001b1\C00000260.png

动态地图(一次性请求整个屏幕)

通过地图服务的 export 方式输出地图