离上写的《基于SuperMap Objects写的GoogleMap地图切割程序(三)》 已经有大半年的时间了,这半年时间里,因为杂七杂八的事情比较多,所以也很少更新博客内容,今天是小年,特将最近基于ArcEngine写的Google Map地图切割程序与大家分享。这里我会从数据制作-切图-发布给大家进行介绍,并结合之前做的Google Map API3 离线版,告诉大家如何布署一个真正的离线WebGIS系统:
一.环境准备:
1.ArcEngine:因为我们使用是的是ArcEngine做为平台来开发,所以这个是必须的,版本为9.3。
2.ArcMap:目前切图工具中没有增加地图配置的功能,只能打开已经配置好的地图文件,所以这里还需要有ArcMap来进行地图数据的配置。
3.DotNet:程序是用C#开发的,所以得有这个环境。这个网上很多,大家搜一下就可以了,下载.NET Framework 2.0就可以。
之所以选择用ArcGIS来开发还有一个原因是国内的用户比较多,PJ相对也会多些,如何安装网上也有很多资料,大家可以搜一下。
二.地图配置:
安装完ArcMap和ArcEngine后,我们就可以对需要切割的地图数据进行配置。因为Google Map使用的是WEB WGS84的投影方式,所以我们在配置的时候也需要配置成和Google Map相同的坐标系统,坐标配置文件从这里下载:Google Mercator (world).prj。当然我们还需要准备一份切图用的数据,这里使用的是ESRI公司做的测试数据。
下载地址是:Esri公共地理框架电子地图模板_V1.31 for ArcGIS 9.3.1
对于地图配置和使用,这里已经讲得很清楚,这里也非常感谢ESRI能分享出这些资料来。
配置完的数据应该是下面这个样子:
三.地图切图:
配置好的地图数据我会随后和程序一起打包提供给大家下载。当然,大家也可以使用自己的矢量数据和影像数据,只要通过ArcMap配置好的地图,我们应该都可以用这个程序来进行地图切割。
1.现在我们来运行我们的切图工具,这是地图界面,程序默认加载所在的Data目录下的Map.mxd文件。
这个地图数据的坐标系我已经配置好的,可以用ArcMap直接打开这份地图数据可以看得到。
2.我们切换到切图界面:在这里,我们可以指定需要切图的范围,和需要输出的等级,我已经在程序中设定好了,如果是新数据,请自行设定。
3.切图参数我们都设置好后,点击“地图输出”,选择保存的路径后,系统开始切图工作。
4.切图完成后,会提示使用的时间和切图的数量:
四.数据发布:
1.再将切完后的地图图片数据拷贝到Google Map API V3离线版所在的tilemap目录下,如果不想自己切图的,也可使用我切好的地图数据进行查看:
2.打开Google Map API V3离线版目录下的maptype-tms.html文件,就可以看到效果:
3.maptype-tms.html文件中默认是加载当前目录下tilemap目录中的图片数据,你也可以指定到其它的目录,当然,如果你把图片放在WEB服务器上,将这个地址改为服务器的地址就可以了,这样就完全可以部署一个属于自己的Google Map地图浏览程序了(提前你是这么多的数据,呵呵)。
让大家久等了,切图相关的下载在这里:
切图工具和地图数据:GMapExprotForArcEngine.zip
Google Map API V3离线版:GoogleMapAPIV3.zip
切图后数据:GoogleMapAPIV3Demo.zip(空间有限,所以只上传了6-8级,9和10级请自己进行切图)
由于水平有限,程序可能会存在不完善的地方,请告诉我,如果你有更好的建议,也请告诉我。