您的位置:首页 > 产品设计 > UI/UE

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

2008-03-04 16:54 471 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: