面向企业级的开源WebGIS解决方案--MapGuide

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

你可能感兴趣的:(Geo,server,extension,api,浏览器,internet,web)