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
默认用户名
: 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
登
录的站点为:
默认用户名
: Administrator
默认密码:
admin
更多
MapGuide
的安装、配置和开发信息请参考资料:
InstallConfigureMgOpenSourceOnWindows.pdf
包含了
MapGuide
的
安装和配置信息。
InstallMapGuideOpenSourceSamples.pdf
包含了
MapGuide
示
例数据和示例程序的安装和配置信息。