前段时间需要给自己的C/S系统加一个地图,但是没有数据,于是就想到了使用网上的切片地图,但是C/S系统又不能联网,于是就想本地发布切片服务来使用。
本来想用ArcGIS Server来发布从网上下载的切片地图。但是发现 PortableBasemapServer 可以完全实现我的需求,而且快速、方便。
博文的内容讲的是利用PBS下载在线地图然后发布成地图服务。
1、PortableBasemapServer(PBS) 介绍
PortableBasemapServer 是用C#开发的一个开源地图发布服务器,支持很多的数据源,我经常用到的是MBTiles(*.mbtiles)和ArcGISTilepackage(*.tpk)。他不仅可以发布地图服务,而且可以下载在线切片保存到本地,虽然现在地图质量不高,但是是学习地图服务发布和切片地图下载存储的非常好的一个开源软件。
编译后的程序:http://pan.baidu.com/s/1c1Cs1Te 更多详细信息和源码请自行百度。
程序界面:
2、利用PBS下载在线地图切片
(1)、点击"格式转换"菜单下的"在线地图-->MBtiles"选项,打开切片下载界面,打开后界面如下:
(2)、设置好参数之后就可以点击下载了,我设置的参数如下图:
(3)、然后点击中间的开始按钮,下载对应范围内的地图切片。
(4)、test.mbtiles其实是一个小型的SQLite数据库,用SQLite Expert Professional 打开后界面如下:
3、发布地图服务
(1)、利用刚才下载好的切片地图来发布一个切片服务,打开主界面,选择数据源类型和数据源路径之后,界面如下:
(2)、设置好后点击“创建新服务”按钮
服务创建成功之后会在"服务名称"列表中显示该地图服务。
(3)、双击该行会打开预览服务窗体,如下图所示:
(4)、在ArcGIS Earh中打开
输入服务地址:
添加进去之后的效果如下: