我们在安装好了MapGuide 服务器和Maestro 或者MapGuide Studio后,你是不是迫不及待的想一试身手呢?既然MapGuide是一个快速的GIS数据发布平台,当然如果要看看效果的话,首先还得要有点数据才行。我想大家都能都OSGEO的网站上下载到了Sheboygon的测试数据。如果你还没下载的话,可以从下面地址下载:http://download.osgeo.org/mapguide/releases/2.0.2/samples/
Samples-Symbolization.mgp 22-Sep-2008 01:21 114K Sheboygan.mgp 22-Sep-2008 01:21 13M dotnetviewersample.zip 22-Sep-2008 01:21 117K javaviewersample.zip 22-Sep-2008 01:21 91K phpviewersample.zip 22-Sep-2008 01:21 64K
其中*.mgp 就是我们的关于一个美国小镇Sheboygan的测试数据包。这个测试数据包中包含Sheboygon的基础地形、交通、绿化、土地利用图、社区等地图,并且按照MapGuide中的地图利用的要求,建立好了相应的FeatureSource、layer、Map、和WebLayout等等。
那看到这里,估计就经常有人会误会,以前MapGuide所采用的地图格式,那就是*.Mgp无疑了,那我这儿有一些shp啊等等GIS格式,怎么转换给mgp啊?其实这是一个误区,MapGuide并不像其他的GIS平台一样有自己的专有数据格式,它能够直接读取我们最常见的GIS格式,比如SHP、SDF、Oracle Spatial中等等,这就要归功于FDO技术了。 通俗的讲,我们可以把FDO看做像是ODBC一样的东西,使用FDO可以不关心底层的数据格式是什么样的,只要通过FDO就可以无需转换的、无损失的连接,从而发布到MapGuide平台中。关于FDO我们会在后续的文章中在做详细介绍。
那既然如此的话,那我们用FDO连接到我已有的数据格式就行了,那么mgp又是干什么的?在继续之前,先让我们对这个mgp文件来个解剖。
首先我们把刚才下载到的Sheboygan.mgp 的扩展名改成zip, 然后用7-zip或者winrar等工具解压缩看看,你就会发现这里面最多的其实一大堆的xml文件,另外还有一些SDF这样的数据文件。所以说到底这个mgp也没什么可神秘的,就是一个压缩包嘛。
那既然是压缩包,那他的用处也就是不言自明了,我们经常也就是为了传送多个文件方便才把他们压缩一下的。我们在MapGuide中的的mgp文件也是一样,只是为了在不同MapGuide服务器见交换地图资源文件时才使用的,这只是我们的MapGuide服务器中的资源数据库的一个压缩版本。
好了,现在我要把从OSGEO网站上下载的这个Sheboygan.mgp 导入到我自己的MapGuide服务器中。我们有两种方法:
1. 利用Maestro。 首先我们需要打开Maestro,连接到MapGuide Server。
这里的Server就是MapGuide 服务器的地址,http://localhost/mapguide/mapagent/mapagent.fcgi, 如果是MapGuide Enterprise的话地址是http://localhost/mapguide<xxxx>/mapagent/mapagent.fcgi, 其中xxxx是版本号,比如2009, 2010 什么的。
缺省的用户名是 Administrator,注意A大写,密码是admin,全部小写。
连接到MapGuide Server后,选择Package菜单的 Restore Package,打开我们要恢复的mgp文件,即可把他恢复到MapGuide Server中,我们的shybogan恢复后将包含如图的资源。
那么相反,我们如果要把我们服务器上的资源打包传递给别人如何做呢?比如我们要把上面的Layout目录下的所有资源打包,那首先选择Layouts目录,然后选Package菜单的Create Package,填好文件路径,点OK即可生成。
2,当然如果您没有按照Maestro,我们还有另外一种方法,直接使用MapGuide自带的Site Administrator中的包管理工具来加载或生成数据包。
首先我们需要把mgp文件拷贝到MapGuide Server的Package目录下,对应MapGuide Open Source就是C:\Program Files\OSGeo\MapGuide\Server\Packages。
然后打开Site Administrator,我们可以使用开始菜单中的快捷按钮或者直接在浏览器中输入http://localhost/mapguide/mapadmin/login.php , 这时需要您输入用户名和密码,同样是缺省的用户名是 Administrator,注意A大写,密码是admin,全部小写。
进入到Manager Packages,选中要加载的包,点Load Package即可。
要生成包也在同一页面,在上面填好需要打包的资源ID,然后点Make即可。资源ID形如Library://Samples/Sheboygan/Layouts/。 数据包成功生成都会自动放置到MapGuide Server的 Package目录下。
这里再介绍一下Maestro的很方便的小功能,因为我们在后续的开发中经常会使用的资源ID,Maestro为我们提供了一个很体贴的方法,拷贝资源ID到剪贴板,在资源上点右键即可。
好了,今天先介绍到这里,后续将讲述Autodesk MapGuide Studio的用法,请继续关注。
有关MapGuide开发问题,欢迎大家到MapGuide开发者网络MGDN论坛讨论。