![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MapGuide
MapGuide_Inside
这个作者很懒,什么都没留下…
展开
-
赠阅活动-《Autodesk地理信息系统解决方案——FDO、MapGuide、AutoCAD® Map 3D二次开发指南》
《Autodesk地理信息系统解决方案——FDO、MapGuide、AutoCAD® Map 3D二次开发指南》出版也有一段时间了。为了感谢大家对Autodesk地理信息系统技术的关注,我决定捐赠20本书给大家。只要你是有兴趣研究Autodesk相关产品、有兴趣在Autodesk相关产品做二次开发的用户,不管是科研单位还是学生,请回复该博文,并且将你的姓名、邮政地址私信给我,前20名就可以免费获得原创 2013-04-23 13:35:18 · 2525 阅读 · 28 评论 -
要素服务之长事务
在GIS应用中,常常会出现这样一种情况,空间数据库中对某个数据集进行的一次操作(比如编辑)很复杂,或者是出于某种原因无法在有限的特定时间内完成,全部完成操作需要比较长的时间,而传统的关系数据库在编辑的数据时要锁定数据,这样就会造成别的用户在很长一段时间内也无法访问(至少是无法编辑)这些数据集,所以GIS中通过长事务解决这类问题。在关系数据库中,事务应该具有四个属性:原子性、一致性、隔离性、持续原创 2009-10-09 19:58:00 · 1204 阅读 · 0 评论 -
要素服务之FDO连接池
要素服务基于FDO技术,通过FDO访问各种类型的要素源,这就意味着在访问要素源中的数据之前必须创建一个到要素源的FDO连接,但是MapGuide应用程序一般都是B/S架构的,用户通过浏览器访问要素源的数据,如果由客户端来维护FDO连接,会造成如下的问题:l 每个FDO连接会占用一定的资源,在大量用户访问MapGuide服务器时,即使一个客户端只打开了一个FDO连接,也会造成大量FDO连接被打原创 2009-10-08 21:51:00 · 1207 阅读 · 0 评论 -
要素源
广义地来讲,要素源是存储了要素的数据源,例如Oracle空间数据库、SHP文件等。在MapGuide中,要素源是一种存储在资源库中的资源,它定义了连接到某一种FDO Provider的参数、要素的空间参考系等信息。要素源资源的模式如图10‑14所示,表10‑6列出了要素源定义的一些主要元素。 名称描述Provider用于指定要素源原创 2009-10-07 22:58:00 · 227 阅读 · 0 评论 -
创建要素源
MapGuide Stuido提供了非常友好的用户界面来创建一个要素源,使用起来也非常简单,所以本节中不会介绍如何使用MapGuide Studio来创建要素源,而是介绍如何以编程的方式创建一个要素源。最简单的编程式创建要素源的方法是调用MgFeatureService::CreateFeatureSource(…),它的方法签名如下所示,其中参数resource用于指定新建要素源的ID,so原创 2009-09-28 20:52:00 · 1653 阅读 · 1 评论 -
获取要素源的能力
对于不同类型的要素源有不同的能力,例如SDF要素源不支持执行SQL语句,要素源能力可以分为如下的类型:l 连接(Connection)l 模式(Schema)l 命令(Commands)l 表达式(Expressions)l 过滤条件(Filters)l 栅格数据(Raster)l 拓扑(Topology)调用方法MgFeatureService::G原创 2009-09-28 20:46:00 · 1017 阅读 · 0 评论 -
查询要素
使用过关系数据库的人一般都非常熟悉SQL语句,它使用Select语句对数据库进行查询,Select语句可以发分为两大类:非聚合类查询语句和聚合类查询语句。SELECT 学号, 姓名, 期中成绩*0.4 + 期末成绩*0.6 as 成绩 FROM 成绩表WHERE 学号>= 100 AND 学号 =学号 ASC SELECT AVG(期中成绩) as期中平均成绩, A原创 2009-09-28 20:36:00 · 2001 阅读 · 1 评论 -
空间关系
基于维度扩展九交模式(Dimensionally Extended 9-Intersection Model,DE-9IM),MapGuide定义了如表8-3所示的11种空间关系,其中8种是OGC简单要素规范所定义的空间关系,另外3种FDO中自定义的空间关系。 空间关系中文名称OGC标准解释Contains原创 2009-09-13 20:32:00 · 3318 阅读 · 1 评论 -
几何类型
与FDO相同,MapGuide支持11种几何图形类型,这11种几何图形类型可以分为简单类型和聚合类型,聚合类型的几何图形由简单类型的几何图形所组成。类MgGeometryType定义了这11种几何图形类型,表8-1列出了这11种几何图形类型以及它们在MapGuide中所对应的类。 几何图形类型几何类简单类型MgG原创 2009-09-13 20:18:00 · 2406 阅读 · 2 评论 -
要素服务之Fetch Siz
MapGuide服务器在将查询结果返回给客户端的时候,并不是将查询结果一次性返回给客户端,它使用了类似于数据库中Fetch Size的技术来改善读取查询结果集的性能。假设Fetch Size为100,当服务器端执行完查询得到结果集后,服务器端会创建一个服务器端结果集读取器,从要素源读取前100个结果,然后将这100个结果一次性返回给客户端,并且在客户端创建一个客户端结果集读取器,MgDataRea原创 2009-10-09 13:26:00 · 794 阅读 · 0 评论 -
要素服务之缓存
要素服务在访问要素源中的数据之前,除了需要必须创建一个到要素源的FDO连接,还经常需要描述要素源的模式和空间上下文(Spatail Context),获取要素类及其属性的定义信息,这些操作都会花掉一定的时间,特别是描述要素源的模式,所以MapGuide服务器将这些信息缓存下来以提高MapGuide服务器的性能。当要素服务需要某个要素源的模式、要素类定义、属性定义、空间上下文时,首先会在要素服务原创 2009-10-09 13:30:00 · 860 阅读 · 0 评论 -
Autodesk地理信息系统解决方案——FDO、MapGuide、AutoCAD® Map 3D二次开发指南
<br /> 该博客中的相关内容进行整理后,已经由电子工业出版社出版了,书名为“Autodesk地理信息系统解决方案——FDO、MapGuide、AutoCAD® Map 3D二次开发指南”。如果感兴趣,大家可以到各大新华书店或网上书店购买。<br /> <br /><br /> <br />下面是当当网的链接地址。<br />http://product.dangdang.com/product.aspx?product_id=21000963&ref=search-1-pub原创 2011-01-01 20:45:00 · 4125 阅读 · 5 评论 -
MapGuide应用程序示例——为你的应用程序添加帮助
MapGuide预定义了许多命令用于提供一些常用的功能,例如平移地图、缩放地图、打印地图、选择要素、测量距离、创建缓冲区等。对于大部分预定义命令,我们只能直接使用它们,或者修改它们的显示名称、工具提示、显示在状态栏上的描述信息、图标等。本节中,我们以添加“Help”命令添加到工具栏为例介绍如何使用预定义命令。原创 2010-01-06 20:31:00 · 173 阅读 · 0 评论 -
MapGuide应用程序示例——为你的应用程序添加帮助
MapGuide预定义了许多命令用于提供一些常用的功能,例如平移地图、缩放地图、打印地图、选择要素、测量距离、创建缓冲区等。对于大部分预定义命令,我们只能直接使用它们,或者修改它们的显示名称、工具提示、显示在状态栏上的描述信息、图标等。 下面我们以添加“Help”命令添加到工具栏为例,介绍如何使用预定义命令。 1) 创建帮助文档。 假设我们创建了如下的帮助文档“index.html”,原创 2010-01-06 20:32:00 · 2360 阅读 · 0 评论 -
MapGuide应用程序示例——你好,MapGuide!
图 3‑4显示了基于MapGuide的Web应用程序的开发流程,整个开发流程可以分为五个阶段。图中,矩形代表任务,椭圆形被任务使用的或被任务创建的实体,箭头代表数据流。1) 加载文件类型的数据,配置到外部数据库的连接,通过联接(Join)一个要素源到另一个要素源扩展要素数据。2) 通过引用要素源的数据和为要素应用样式创建图层。3) 将图层结合起来创建地图。4) 通过Internet原创 2009-12-30 09:16:00 · 7090 阅读 · 7 评论 -
创建和加载资源包(Package)
MapGuide提供了两种方式创建资源包。一种是使用MapGuide Studio,另一种是使用MapGuide站点管理器(Site Administrator)。如果要加载资源包,只能使用MapGuide站点管理器。1.使用站点管理器创建和加载资源包下面我们以开源版MapGuide提供的美国威斯康辛州希博伊根(Sheboygan)县的地图数据(http://download.osgeo.原创 2009-12-24 17:31:00 · 2217 阅读 · 1 评论 -
MapGuide HTTP API
本节将介绍什么是HTTP API,HTTP API与MapGuide Web API的关系,以及如何使用HTTP API。一般情况下,我们并不需要使用HTTP API,而且Viewer API已经包装了某些必需的HTTP API。如果不打算对Viewer API进行一些修改的话,可以忽略本节的内容。1.1.1 什么是HTTP API?如果查看客户端API的JavaScript原创 2009-12-12 13:25:00 · 2314 阅读 · 0 评论 -
MapGuide Web API----通用类、集合类和异常类
1. 通用类通用类包含MgObject、MgDisposable、MgGuardDisposable、MgByteSource、MgByteSink、MgSerializable、MgService、MgNamedSerializable、MgWarnings、MgByteReader、MgColor、MgDateTime、MgServiceType和MgMimeType共14个类,图 3‑3原创 2010-01-30 09:47:00 · 3994 阅读 · 0 评论 -
要素服务之空间上下文
一般情况下,如果一个要素类包含一个几何属性,那么它就有一个相关联的空间上下文(Spatial Context),通过这个关联的空间上下文,可以得知要素类中每个几何属性所使用的坐标系信息,例如坐标系名称、坐标的容差值、范围、范围类型等信息,如下的代码展示了如何获得一个要素类所关联的空间上下文名称。function getSpatialContextName($classDef)原创 2009-10-20 21:05:00 · 1181 阅读 · 0 评论 -
AGF文本
AGF文本与二进制AGF格式类似,只不过它使用的是文本格式而已,它是OGC WKT格式的一个超集,AGF文本的语法如下所示。 ::= POINT | LINESTRING | POLYGON | CURVESTRING | CURVEPOLYGON | MULTIPOINT | MULTILINESTRING | MULTIPOLYGO原创 2009-09-13 20:08:00 · 1224 阅读 · 0 评论 -
AGF规范
本节使用类似于OGC规范的格式描述了简单几何(Simple Geometry)类型的内存布局,它建立在C++结构体内存布局之上,所有的数组是inline的,具有可计算的大小,不指向内存中不同的位置,这样的格式允许将几何数据转换为一个二进制流。double类型数据是8个字节,使用了IEEE双精度数据编码方式,int类型数据是4字节。enum GeometryType : int{No原创 2009-09-13 20:00:00 · 916 阅读 · 0 评论 -
AGF和WKB
WKB(Well Known Binary)是一种存储几何要素的二进制格式,这种格式由OpenGIS组织所定义,关于WKB格式的规范主要由文档99-050.pdf(OpenGIS Simple Feature Specification for OLE/COM)所定义。AGF(Autodesk Geometry Format)是扩展版本的WKB,它与WKB的主要不同点为:l WKB原创 2009-09-13 19:54:00 · 1291 阅读 · 1 评论 -
站点和站点服务
1.1 配置站点在第二章中,我们介绍过站点由若干MapGuide服务器组成,MapGuide服务器包括站点服务器和支持服务器两类服务器。MapGuide服务器和Web应用服务器和MapGuide Web扩展部署到不同的计算机上,例如在图4-1中,站点由两台MapGuide服务器组成,其中一台用作站点服务器,一台用作支持服务器,这两台服务器和MapGuide Web扩展都部署在不同的原创 2009-08-25 08:30:00 · 1331 阅读 · 0 评论 -
MapGuide简介
什么是MapGuide呢?通俗点说,MapGuide是Autodesk公司推出的一款地图发布软件,使用户能够用浏览器非常方便地浏览地图数据,就像Google Map,Yahoo Map和Baidu Map那样。这个解释会让人觉着我这个人太不专业了,但我觉着自己还是挺专业的,所以让我们来看一个稍微专业一点的解释。MapGuide是Autodesk公司推出的一个的Web GIS平台,能够让用户原创 2009-06-21 08:01:00 · 3932 阅读 · 7 评论 -
块和分块服务
本章中,首先将介绍块和分块服务的基本概念和原理,然后介绍如何在MapGuide Studio中通过用户界面来配置图层使用分块服务和如何通过MapGuide分块服务API来创建和使用块。1.1 块对于AJAX Viewer和Fusion Viewer,MapGuide服务器都是将地图渲染为一张图像发送给客户端的,每次当用户在浏览器中缩放或平移地图的时候,通常都会要求MapGuide服务器重原创 2009-08-17 09:13:00 · 1653 阅读 · 1 评论 -
MapGuide API
1.1 MapGuide APIMapGuide是一个三层架构的Web GIS系统,所以MapGuide API也分为了两大类:服务器端API和客户端API,如图3-1所示。 图3-1 MapGuide API 1.1.1 服务器端API服务器端API也称之为MapGuide Web API,它是运行在Web应用服务器上的一系列类的集合,通过这些API原创 2009-08-13 08:07:00 · 2113 阅读 · 0 评论 -
空间参考系统
1.1 空间参考系相关概念谈到空间参考系统的时候,我们会用到许多专业术语,诸如坐标(Coordinate)、坐标系(Coordinate System)、椭球体(Ellipsoid)、大地基准面(Datum)、投影(Projection)、坐标转换(Coordinate System Transformation)等。在许多的资料中,并没有准确地区分这些术语。例如:许多资料中会使用原创 2009-08-02 11:01:00 · 5323 阅读 · 1 评论 -
MapGuide空间参考系API
MapGuide空间参考系 API提供了一些非常易于使用的类,主要功能由以下四个类提供。l MgCoordinateSystemFactory:这是一个工厂类,主要用于创建MgCoordinateSystem和MgCoordinateSystemTransform的实例。l MgCoordinateSystem:代表一个空间参考系,主要用于获取空间参考系的定义信息,诸如获取空间参考系的原创 2009-08-02 11:22:00 · 2406 阅读 · 0 评论 -
资源服务(Resource Service)
资源服务是用来管理资源和资源库的一种服务,它提供了四类API。管理资源库的API管理资源的API管理资源数据的API管理资源包的API 在使用这些API时,经常要使用资源ID来指定一个被操作的资源。如果指定的是文档,那么资源ID的扩展名必须与资源类型一致。例如:如下的资源ID必须是一个指向地图定义的资源。 $resourceID = new MgRe原创 2009-07-25 14:34:00 · 2006 阅读 · 2 评论 -
资源
在MapGuide中,资源(Resource)用来绘制图层和地图所需的文件和配置信息。MapGuide中有许多类型的资源。例如:要素源(FeatureSource)用来描述需要访问的空间数据的位置、类型和其它一些信息。图层定义(Layer Definition)用来定义一个图层的数据和样式(Style)。 在MapGuide中,资源服务(Resource Service)是用来管理资原创 2009-07-18 06:42:00 · 1771 阅读 · 6 评论 -
序言
五年前,在参加Autodesk的面试时,面试官问我为什么想加入Autodesk,我给了他一个非常冠冕堂皇的理由:我希望自己编写的软件能够被世界各地成千上万的人使用,Autodesk正是这样一家能够为我实现这一梦想的公司。听了这句话,可能有人要向我扔砖头了--太假了。这话确实有点冠冕堂皇,但是并不假。设想你辛辛苦苦地开发出来一个程序却无人使用,肯定心里不好受,因为这等于你成果没有得到别人的认原创 2009-06-20 15:38:00 · 1567 阅读 · 7 评论 -
MapGuide的历史
许多人是在MapGuide开源之后才了解MapGuide的,但是MapGuide并不是一开始就是开源的,而且也不是一开始就是由Autodesk公司所开发的。1995年,位于加拿大卡尔加里(Calgary)的Argus Technologies公司创造了MapGuide。在1996年的秋天,Autodesk收购了Argus Technologies。在随后的几个月后,Autodesk发布了M原创 2009-06-24 05:26:00 · 1607 阅读 · 2 评论 -
制图图层定义(Drawing Layer Definition)
目前,仍然有大量地图数据是DWG的格式,如何利用这些DWG格式的地图数据呢?一种办法是分类(Classify)DWG数据,将这些数据导入到空间数据库中,使用向量图层来现实和管理这些数据。这种办法非常费时费力,但是用户可以充分利用向量图层提供的各种GIS功能,例如创建主题图、进行缓冲区分析等。另一种办法是将DWG文件转换为DWF文件,使用制图图层来显示和管理DWF文件。这种办法非常简单,但是原创 2009-07-08 10:12:00 · 1735 阅读 · 0 评论 -
汉化MapGuide
目前MapGuide 没有中文版本,所有的组件都是英文的,对开发人员来说英文不是什么大的问题,但是当最终将MapGuide应用程序交付给用户时,就必须实现用户界面的本地化,通过下面的步骤我们可以汉化用户界面的目的。1) 在目录WebExDir/www/localized下复制文件“en”,将复制后的文件命名为“zh”。2) 将文件“zh”中的字符参数翻译成中文,例如:# Buttons原创 2009-09-03 20:35:00 · 2130 阅读 · 3 评论 -
KML服务
本章首先对KML的语法进行了简单的介绍了,然后介绍了KML服务,展示了如何将MapGuide的数据导出为KML,使Google Earth成为MapGuide的客户端。1.1 KMLGoogle Earth是Google公司开发的虚拟地球软件,它可以带您飞往地球上的任何地方,您可以在 Google Earth上看到卫星图像、地图、地形和 3D 建筑等。而且,Google Earth支持使原创 2009-09-03 08:26:00 · 5318 阅读 · 0 评论 -
MapGuide开源版和企业版的对应关系
开源版企业版新增功能1.0.x20071.0.1:修正了大约140个Bug。1.0.2:修正了大约110个Bug。1.1.x20081.1.0:支持FDO 3.2和引入了KML服务。1.2.0:新的样式化引擎,能够创建更加复杂的符号;原创 2009-09-01 15:02:00 · 1470 阅读 · 0 评论 -
栅格图层定义(Raster Layer Definition)
栅格图层的数据被渲染为图像,而图像是由像素组成的。所以,定义栅格图层的样式,本质上是定义计算每个像素颜色的规则。通过改变栅格图层定义,我们可以调整栅格图层中每个像素的亮度、对比度,选择透明颜色等。 栅格图层支持多光谱(Multi-Spectral)栅格数据。这种数据有多个通道(Band),每个通道具有相同的地理位置,但是代表不同的信息。例如:一个多光谱栅格文件可以包含如下通道:原创 2009-06-27 06:51:00 · 5467 阅读 · 0 评论 -
地图和图层
地图(Map)是由图层(Layer)组成的,每个图层代表一些来自要素源的数据。GIS的数据可以分为两大类:向量数据(Vector Data)和栅格数据(Raster Data)。所以,一般来说图层也分为两大类:向量图层(Vector Layer)和栅格图层(Raster Layer)。MapGuide稍有不同,将图层分为下列三类:向量图层(Vector Layer):用于显示和管理原创 2009-06-30 19:32:00 · 5892 阅读 · 4 评论 -
MapGuide Viewer
MapGuide提供了两种显示地图的方式:基本Web布局(Basic Web Layout)和灵活的Web布局(Flexible Web Layout)。灵活的Web布局可以工作在Windows、Macintosh和Linux,使用了JavaScript,无需任何客户端浏览器插件或私有技术。因为它能够提供更好的灵活性,所以Autodesk推荐用户在开发新的MapGuide应用程序时使用灵活原创 2009-06-30 19:31:00 · 2906 阅读 · 1 评论 -
MapGuide的系统架构
MapGuide由四个独立的组件(Component)构成,它们分别是:MapGuide ServerMapGuide Web ExtensionsMapGuide StudioMapGuide Viewer MapGuide Studio和MapGuide Viewer是MapGuide Server的客户端,来自客户端请求使用HTTP协议发送到We原创 2009-06-26 06:18:00 · 6554 阅读 · 8 评论