MapGuide概述
MapGuide 是Autodesk 公司推出的在网络上发布空间数据的新一代Web GIS 平台,为了促进开源Web GIS 的发展,Autodesk 公司推出了开源 版的MapGuide ,同时还有商业版MapGuide ,开源版本与商业版本相比,软件构架与功能 相同,只是开源版本仅支持的数据格式较少,目前支持shp 、sdf 、ArcSDE 、MySQL 、ODBC 、RASTER 、WMS 、WFS , 要支持其他格式的数据或者数据库则需要购买MapGuide 商业版或者由用户自行开发数据处理组件。
MapGuide 具有如下特点:
●跨平台支持。新一代的MapGuide 支持Window 和Linux 操 作系统。
●支持多种浏览器。MapGuide 提供两种Viewer, DWF Viewer 和AJAX Viewer 。DWF Viewer 使用ActiveX 控件,只支持IE 浏 览器。AJAX Viewer 支持Fire fox, Opera 浏览器。
●支持多种数据格式。MapGuide 使用FDO (Feature Data Object )存取数据,MapGuide 提供多种数据的FDO ,如sdf 、shp 、Oracle 、SqlServer 、WFS 、WMS 等 多种数据源。
●提供内容丰富的API ,简化二次开发。MapGuide 提供.NET 、PHP 、JSP 三 种语言的API ,可以对地图数据按照要求进行相应修改,显示,用户可以根据不同条件选用相应的开发语言。
●集成多种GIS 功能。MapGuide API 可以进行属性查询和空间查询,MapGuide API 包含一系列坐标系的函数,可以方便地完成坐标转换等功能。
2 、MapGuide 框 架结构
MapGuide 采用典型的网络三层结构,支持Windows 和Linux 操 作系统,支持多种浏览器,用户可选择安装DWF Viewer Active 控件或使用支持Javascript 的 浏览器进行浏览。
MapGuide 由以下四部分组成:
● MapGuide Server
用于与空间数据直接交互,并处理MapGuide Web Extension 发出的请求,MapGuide Server 支持Windows 和Linux 平台。
● MapGuide Web Extension
也称为Web Server ,是网络结构的中间层,用于转发IIS (Internet Information Service) 的请求,并向MapGuide 服务器发出相应的请求。MapGuide Web Extension 支持IIS 和Apache (Windows 平台) 或Apache (Windows 和Linux 平台) , 它提供一系列完整的API ,可以用这些API 进行定制开发。MapGuide Web Extension 支持三种语言的开发,分别是PHP 、ASP 和JSP 。
● MapGuide Studio
是一个用于地图管理的工具,为了用户方便, Studio 内部集成了浏览器,用户可以用Studio 进 行所见即所得的便捷管理,MapGuide Studio 只能安装在Windows 平台。
● MapGuide Viewer
用于在浏览器中对地图进行浏览,编辑等,它提供两种Viewer, DWF Viewer 和AJAX Viewer ,由于DWF Viewer 是Active 控件,所以它只支持Microsoft IE (Internet Explorer ),AJAX Viewer 支持Fire fox, Opera (Mac) 等浏览器。
图 MapGuide 框架结构
图 描述了MapGuide 的框架结构,Studio 和Viewer 是MapGuide 的 客户端程序,从这些客户端发出请求,通过HTTP 协议发送到Web Externsion, Web Externsion 的Agent 组件对请求进行处理并发送相应请求到MapGuide Server 。当服务器 (Server) 接收到一个请求时,它按照请求的内容,存取或者修改仓库(Repository) 中 的数据,并将相应的结果返回给Web Extension ,然后由Web Extension 返回 给客户端Viewer 。
以上所示的软件可以任意部署在一台或多台计算机中。
3 、MapGuide API
MapGuide API 包含两类,Web Tier API 和Viewer API 。Web Tier API 是一系列服务端API ,功能强大,基本上覆盖了GIS 系 统需要的所有函数。Viewer API 是客户端API ,在Web 页面 脚本中执行,与Web Tier API 相比,功能简单,完成一些客户端常用的功能,如放大缩小、平移、选中、打印,简单数字 化等功能,进一步的复杂功能需要调用Web Tier API, 进行服务端和客户端交互开发。
Web Tier API 是服务端API ,在.NET 、PHP 、JSP 中 被调用,Web Tier API 包含如下模块的类:
● 资源服务: 用于操纵资源和数据库
● 坐标系统:用于坐标系统转换
● 集合:用于存放对象的集合,比如查询返回的几何对象集合
● 绘制服务:在底层调用函数绘制DWF 数据
● 几何对象:几何对象API 支持二维对象和2.5 维对象,并包含对二维对象的 分析等函数
● 通用类:提供一些通用函数,如ByteReader 、MimeType 、Warnings 、 时间和颜色等。
● 站点服务:用于配置用户、用户组和用户进程等
● Exception :包含一些与MapGuide 相关的例外
● 渲染服务:将一幅地图渲染成BMP 图像
●服务:支持在AJAX VIEWER 中平滑平移和放大缩小等功能
●地图服务:提供地图和图层的控制函数
Viewer API 是客户端API ,在Web 页面 的脚本中执行,所以Viwer API 是一类用来控制Viewer 的JavaScript 函 数,由于MapGuide 提供对两类浏览器(IE 和FireFox) 的 支持,Viewer API 实际上是这两类浏览器的统一接口,这一类函数提供对地图的一些通用功能。如果用户只需要支持IE , 可调用DWF Viewer 的Javascript 函数,与统一接口相比,这些函数提供了更强的功 能。很多函数会产生服务端的请求,如刷新数据或者通知服务器Viewer 状态变化,这些请求自动产生,无须人工干预。
应用MapGuide API 可以方便地进行二次开发。可以根据需求进行相应的二次开发,studio 提 供了Commands 接口,支持Javascript 函数调用和页面调用,用户可以应用这些接口调 用Viewer API 或者Web Tier API 进行简单开发,定制一些简单的功能。另外,用 户可直接应用Web Tier API 和Veiwer API 开发独立的Web 程 序,根据需求开发完成较为复杂的功能。
MapGuide 的安装
MapGuide 的安装包括:安装 MapGuide Server ; 安装 MapGuide WebServer Extensions 、安装示例数据、安装示例程序、 安装 DwfViewer 、安装 mapguide studio 这 几项。
以下所介绍的安装都基于 Windows 平台和 IIS 网 络服务,并使用 .Net 开发技术。
下载地址: https://mapguide.osgeo.org
1 、安装 MapGuide Server
下载 MgServerSetup.exe 安装 MapGuide Server 。
可以使用多台计算机共同提供 MapGuide Server 的功能,当在多台计 算机上安装 MapGuide Server 时,需要设置一台计算机作为 site server ,其他的计算机作为 support server , 在 安装 support server 时需要提供 site server 的 IP 地 址。
MapGuide Server (mgserver.exe) 程序在系统运行时自动启动,服务名为 MapGuide Server ( Windows 服务可查看)。
2 、安装 MapGuide WebServer Extensions
下载 MgWebServerExtensionsSetup.exe 安装 MapGuide WebServer Extention 。
MapGuide Server 和 MapGuide WebServer Extention 可以安装在同一台计算机上,也可安装在不同的计算机上,需要安装在其他计算机上时,要提供安装了 MapGuide Server 的计算机的 IP 地址。
MapGuide WebServer Extention 支持的 WebServer 配 置环境:
1) IIS Configuration (对初学 者比较适合);
2) Bundled Configuration (支 持 PHP 、 Java 开发);
3) Manual Configuration ;
注: MapGuide 需要 ASP.NET 2.0.50727 或更高版本的支持。
在 IIS 服务中选择 mapguide 站 点,打开属性页面,选择 ASP.NET 标签查看 ASP.NET 的 版本信息,如果 ASP.NET 版本低于 version 2.0.50727 ,请更新 ASP.NET 。
3 、安装测试
安装好 MapGuide Server 和 Extension 后, 可以访问以下地址测试是否安装成功:
( 1 )测试 MapAgent
http://localhost/mapguide/mapagent/mapagent.fcgi?OPERATION=ENUMERATERESOURCES&VERSION=1.0.0&LOCALE=en&RESOURCEID=Library://&TYPE=&DEPTH=-1
默认用户名 : Administrator
默认密码: admin
以上的用户名和密码区分大小写。
如果页面显示一 XML 文件,则安装成功。
( 2 )测试 Site Administrator
http://localhost/mapguide/mapadmin/login.php
默认用户名 : Administrator
默认密码: admin
以上的用户名和密码区分大小写。
如果可以登入 Site Administrator 页面,则安装成功。 Site Administrator 中可以修改所有的 Server 配置信息。
( 3 )测试 Web Server Extensions
http://localhost/mapguide/mapviewerajax/ajaxviewer.aspx?WEBLAYOUT=Library://ATest.WebLayout
由于当前 MapGuide 中没有 ATest.WebLayout , 页面应该显示如下错误信息:
Resource was not found: Library://ATest.WebLayout , 这表示 Web Server Extension 安装成功,并可以正常的接收和处理请求。
4 、安装 MapGuide 示 例数据
下载 Mapguide 示例数据 Sheboygan.mgp 。 在 Mapguide Server 上装载 Sheboygan 示 例数据的步骤如下:
( 1 )将 Sheboygan.mgp 文 件拷贝到 Packages 目录中:
( 2 )打开 Site Administrator :
http://localhost/mapguide/mapadmin/login.php
默认用户名 : Administrator
默认密码: admin
( 3 )选择 Configure Services 菜 单
( 4 )在 Resource Services 项 中,目录信息应该与步骤( 1 )中相同:
MapGuideOpenSource 安装目录 Server/Packages
( 5 )选择 Manage Packages 菜 单
( 6 )在 Load Package 项 中选择 Sheboygan.mgp ,点击 Load Package 。
数据装载完毕后,状态栏会显示 Load Succeeded 信息。
如果装载不成功,可查看日志信息: MapGuideOpenSource 安装目 录 /Server/Packages/Sheboygan.mgp.log
可用 MapGuide Studio ,则可以在其中查看示例数据;也可以使用 http 方 式测试示例数据装载成功与否,打开: http://localhost/mapguide/mapagent/index.html , 选择 EnumerateResources 选项,在 Type 中 输入 WebLayout ,点击提交,如果示例数据装载成功,应该获得如下 6 个 WebLayout :
Library://Samples/Sheboygan/Layouts/SheboyganPhp.WebLayout
Library://Samples/Sheboygan/Layouts/SheboyganPhpTiled.WebLayout
Library://Samples/Sheboygan/Layouts/SheboyganAsp.WebLayout
Library://Samples/Sheboygan/Layouts/SheboyganAspTiled.WebLayout
Library://Samples/Sheboygan/Layouts/SheboyganJsp.WebLayout
Library://Samples/Sheboygan/Layouts/SheboyganJspTiled.WebLayout
5 、安装 MapGuide 示 例程序
下载 Mapguide 示例 Viewer 程 序 dotnetviewersample 。在 Mapguide Server 上安装示例程序 dotnetviewersample 的步 骤如下:
( 1 )将 dotnetviewersample 文 件夹拷贝到 MapGuide WebServer Extention 中的 www 的 文件夹中;
( 2 )在 IIS 服务中打 开 mapguide 站点,在 dotnetviewersample 文 件夹上点击右键,选择属性,在“目录”标签的“应用程序设置”选项中点击“创建”,点击“确定”完成 dotnetviewersample 的 配置。
配置好示例数据和 dotnetviewersample 示例程序后,可在浏览器 中查看该示例程序的三种效果:
注:需要先安装 DwfViewer 软件才能在 Internet Explorer 中浏览 DWF Viewer 效果。
DWF Viewer 效果:可以浏览矢量地图数据,只能在 Internet Explorer 上运行, URL :
http://localhost/mapguide/dotnetviewersample/dwfviewersample.aspx
AJAX Viewer 效果:使用 AJAX 方式浏览 地图数据(非矢量),可在 Internet Explorer 上或 Firefox 等 浏览器上运行, URL :
http://localhost/mapguide/dotnetviewersample/ajaxviewersample.aspx
使用分片地图( tiled map )的 AJAX Viewer 效果:使用分片地图和 AJAX 方式浏览地图数据(非矢 量),可在 Internet Explorer 上或 Firefox 等 浏览器上运行, URL :
http://localhost/mapguide/dotnetviewersample/ajaxtiledviewersample.aspx
注:在步骤( 2 )中,如 mapviewernet 不 是应用程序,需要按照步骤( 2 )的方式将 mapviewernet 配 置为应用程序。
6 、安装 MapGuide DwfViewer
DwfViewer 是 Mapguide 使用的矢量数 据浏览器,安装了 DwfViewer 后即可在 IE 浏 览器中浏览 Mapguide 矢量地图。
下载 DwfViewerSetup_chs.exe 安装 Dwf 浏 览器。
7 、安装 MapGuide Studio 2007 试用版
MapGuide Studio 是地图管理工具,用户可以用 Studio 进 行所见即所得的便捷管理,对地图数据进行配置和管理。 MapGuide Studio 只能安装在 Windows 平 台。 MapGuide Studio 不是开源程序,需要购买。
下载 autodeskmapguidestudio2007eval.exe 安 装 MapGuide Studio 。此版本是 60 天 试用版本。
另外, MapGuide Web Studio 提供了 MapGuide Studio 的部分功能。 MapGuide Web Studio 位 于 MapGuideOpenSource 安装目录 /WebServerExtensions/www/webstudio 文 件夹中, URL :
http://localhost/mapguide/webstudio/index.html
MapGuide Studio 和 MapGuide Web Studio 登 录的站点为:
http://localhost/mapguide
默认用户名 : Administrator
默认密码: admin
更多 MapGuide 的安装、配置和开发信息请参考资料:
InstallConfigureMgOpenSourceOnWindows.pdf 包含了 MapGuide 的 安装和配置信息。
InstallMapGuideOpenSourceSamples.pdf 包含了 MapGuide 示 例数据和示例程序的安装和配置信息。
转自:http://www.cnblogs.com/charmdx/articles/713127.html