zoukankan      html  css  js  c++  java
  • MapGuide应用开发系列(三)MapGuide 数据包管理及Maestro亮点功能介绍

    我们在安装好了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也没什么可神秘的,就是一个压缩包嘛。

    tmp66

    那既然是压缩包,那他的用处也就是不言自明了,我们经常也就是为了传送多个文件方便才把他们压缩一下的。我们在MapGuide中的的mgp文件也是一样,只是为了在不同MapGuide服务器见交换地图资源文件时才使用的,这只是我们的MapGuide服务器中的资源数据库的一个压缩版本。

    好了,现在我要把从OSGEO网站上下载的这个Sheboygan.mgp 导入到我自己的MapGuide服务器中。我们有两种方法:

    1. 利用Maestro。 首先我们需要打开Maestro,连接到MapGuide Server。

    image

    这里的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恢复后将包含如图的资源。

    tmp6D

    那么相反,我们如果要把我们服务器上的资源打包传递给别人如何做呢?比如我们要把上面的Layout目录下的所有资源打包,那首先选择Layouts目录,然后选Package菜单的Create Package,填好文件路径,点OK即可生成。

    image

    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即可。

    image

    要生成包也在同一页面,在上面填好需要打包的资源ID,然后点Make即可。资源ID形如Library://Samples/Sheboygan/Layouts/。 数据包成功生成都会自动放置到MapGuide Server的 Package目录下。

    image

    这里再介绍一下Maestro的很方便的小功能,因为我们在后续的开发中经常会使用的资源ID,Maestro为我们提供了一个很体贴的方法,拷贝资源ID到剪贴板,在资源上点右键即可。

    image

    好了,今天先介绍到这里,后续将讲述Autodesk MapGuide Studio的用法,请继续关注。

    有关MapGuide开发问题,欢迎大家到MapGuide开发者网络MGDN论坛讨论。

    www.mgdn.com.cn/bbs

    作者:峻祁连
    邮箱:junqilian@163.com
    出处:http://junqilian.cnblogs.com
    转载请保留此信息。
  • 相关阅读:
    (BFS 二叉树) leetcode 515. Find Largest Value in Each Tree Row
    (二叉树 BFS) leetcode513. Find Bottom Left Tree Value
    (二叉树 BFS DFS) leetcode 104. Maximum Depth of Binary Tree
    (二叉树 BFS DFS) leetcode 111. Minimum Depth of Binary Tree
    (BFS) leetcode 690. Employee Importance
    (BFS/DFS) leetcode 200. Number of Islands
    (最长回文子串 线性DP) 51nod 1088 最长回文子串
    (链表 importance) leetcode 2. Add Two Numbers
    (链表 set) leetcode 817. Linked List Components
    (链表 双指针) leetcode 142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/junqilian/p/1585483.html
Copyright © 2011-2022 走看看