以GIS为核心的数字化成图系统的设计与实现
[摘要]
本文阐述了基于组件式GIS来开发以GIS为核心的数字化成图系统的优越性,以及以GIS为核心的数字化成图系统的设计目标和基础地形要素的编码方案。文中还结合SuperMap Survey的开发过程,介绍了如何设计与实现基于GIS内核的专业数字化成图系统。
It’s necessary to develop a Digital Mapping System(DMS) specially for GIS to solve problems resulting from data conversion between DMS and GIS.In this paper,The advantages of development DMS for GIS based on Components GIS(ComGIS) technology are discussed.In addition,the goals for DMS for GIS are listed and how to encode GIS entities is also explained.Specially,SuperMap Survey is used to discuss the details for develop DMS for GIS.
[关键词]
数字化成图系统 以GIS为核心 组件式GIS 设计目标 SuperMap Survey
Digital Mapping System,for GIS,Component GIS,Goals,SuperMap Survey
1. 引言
数字化成图技术是目前最为常用的成图技术之一,数字化成图系统所提供的电子数据也是GIS一个非常重要的数据来源。数字化成图系统所提供的电子数据与GIS数据之间的无缝联接问题也是当前GIS发展亟需解决的难点问题之一。虽然当前国内外市场上数字化成图系统很多,但到目前为止,都未能很好地解决现有的问题。数字化成图系统所提交的电子数据进入GIS后存在的问题主要表现在:
(1) 在数据转换过程中普遍存在着信息损失。由于传统的数字化成图系统大多是基于CAD内核来开发的,它偏重于对空间几何信息的描述;而GIS则要求空间信息与属性信息联合存储与管理,这就导致了在数据转换的过程中,不仅空间信息会有损失,属性信息损失的情况会更严重。
(2) 数据转入后往往不能直接满足GIS的要求,仍需要大量的后期编辑工作,造成了资源的浪费,延长了系统的建设周期。
(3) GIS基础数据库的维护与更新的难度较大。由于在维护与更新的过程中需要在GIS与数字化成图系统之间进行频繁的数据转换,往往不能直接对基础数据库进行操作,造成了基础数据维护与更新的不便。
(4) 在数据转换的过程中,除了信息损失外,还往往伴随着数据膨胀。数据膨胀的结果有时会导致GIS无法对这些“海量”数据进行管理。
导致上述问题的原因有很多,归纳起来,主要有以下几方面的原因:
(1) 数据的复杂性与多样性。主要表现为现实世界的复杂性与多样性以及对同一空间对象在不同成图系统中描述与表达的不一致性。
(2) 对GIS理解的不同。不同的数字化成图系统的开发人员对GIS理解的不同,再加上缺乏相应的统一标准作为参照,这就导致了数据在表达上的差异性。
(3) 由于受到基础开发平台及开发力量的限制,数字化成图系统往往不能很好地兼顾到GIS对数据的要求。目前,绝大多数的数字化成图系统的开发商都不是GIS基础平台的开发商,这也或多或少地影响了数字化成图系统与GIS之间的沟通。
目前,市场上数字化成图系统较多,按其开发方式来分,主要可以分为两大类:(1)以CAD系统为二次开发平台。这些系统很好地利用了CAD系统灵活的编辑和强大的制图功能,但由于CAD系统与GIS在数据结构上存在着较大的差异,这使得其数据往往不能很好地满足GIS的要求。(2)独立平台的数字化成图系统。这样的系统在开发上虽然不必拘泥于二次开发开台的限制,在开发上具有较大的灵活性。但开发这样的系统,需要完全从底层做起,开发难度高,周期长,投资大。 组件式GIS(Components GIS,ComGIS)技术的出现,为开发以GIS为核心的数字化成图系统提供了一种新的开发手段和开发思路。
2. ComGIS技术及其作为数字化成图系统开发平台的优越性
2.1 什么是组件式GIS技术
组件式软件技术已经成为当今软件技术的潮流之一。基于组件开发(Component-Based Development,简称CBD)是软件开发的一次革命。与诸如面向对象和客户/服务器(Client/Server)等新趋势不同,基于组件开发不只是一种分布计算的新花样,而是一种广泛的体系结构,支持包括设计、开发和部署在内的整个生命周期计算的理念。
由于基于组件开发具有高度的重用性和互用性,所以它将影响应用程序构成的各个方面,包括所有类型的客户机,应用程序服务器和数据库服务器,将对应用程序开发的各个方面产生深刻影响。
基于组件开发的两个重要规范分别是MicroSoft的COM/DCOM和OMG的CORBA。目前Microsoft的COM/DCOM占市场领导地位,已经得到广泛应用,并逐渐成为业界事实上的标准。基于COM/DCOM,MicroSoft推出了ActiveX技术,ActiveX控件是当今可视化程序设计中应用最为广泛的标准组件。
所谓组件式GIS,是指基于组件对象平台,以一组具有某种标准通信接口的、允许跨语言应用的组件提供的GIS。这种组件称为GIS组件,GIS组件之间以及GIS组件与其他组件之间可以通过标准的通信接口实现交互,这种交互甚至可以跨计算机实现。
目前,国内外GIS厂商对组件式GIS平台的发展前景十分看好,纷纷推出了各自的GIS产品。如北京超图地理信息技术有限公司推出的全组件式GIS平台SuperMap2000、北京图原公司开发的MapEngineer、ESRI的MapObjects、MapInfo的MapX等。值得欣慰的是,国产的组件式GIS平台在功能上已经完全可以与国外同类产品相抗衡,在许多方面甚至优于国外同类产品,这使得开发以GIS为核心的数字化成图系统有了更大的选择空间。
2.2 使用组件式GIS开发数字化成图系统的优越性
组件式GIS的出现为开发以GIS为核心的数字化成图系统提供了一种新的开发手段,与传统的开发手段相比较,其优越性主要表现在:
(1) 组件式GIS本身就是一个完整的GIS,其数据模型与GIS的数据模型完全一致。基于此进行开发,可以保证数字化成图系统与GIS之间具有良好的兼容性。
(2) 组件式GIS具有灵活的开发手段。我们可以自由选择自己所熟悉的计算机语言进行开发(如VB,VC,Delphi,C Builder等),而不必专门学习二次开发语言。组件式GIS提供两种不同层次上的开发,一是基于ActiveX控件进行开发;二是直接基于组件式GIS的底层类库(SDK)进行开发。我们可以根据自己的需要灵活选择。
(3) 由于组件式GIS完全封装了GIS的功能,这使是开发人员可以完全专注于专业功能的实现,这就使得开发难度和开发周期大大降低。
(4) 基于组件式GIS开发的数字化成图系统具有良好的可扩充性。组件式GIS可以与包括数字化成图系统在内的其他系统无缝集成,开发人员可以直接使用已经写好的程序代码;组件式GIS平台往往由多个组件组成,开发人员可以根据系统的需要,随时选用新的组件对系统进行升级;在组件平台功能增强的情况下,开发人员甚至不用重新编译整个程序就可直接使用增强的底层功能,这就大大降低了系统维护和升级的难度。
表1 使用ComGIS的开发手段与传统的开发手段的比较
比较内容\开发手段 基于ComGIS平台 基于CAD平台 完全由底层开发
与GIS的兼容性 完全兼容 差 一般
是否以GIS为核心 是 否 很难做到
对空间数据库的支持 好 很差 差
开发难度 低 低 高
开发周期 短 短 长
开发投资 小 小 大
可扩展性 好 一般 较好
开发语言的选择 很多 少 很多
是否支持可视化开发 是 否 是
是否自主版权 是 否 是
3 以GIS为核心的数字化成图系统的设计
3.1 系统的设计目标
传统的数字化成图系统经过多年的发展,已经形成了一套比较完整的理论和技术体系。但是,GIS技术的飞速发展和广泛应用,对数字化成图系统提出了更高的要求,ComGIS技术的出现为传统的数字化成图系统向以GIS为核心的数字化成图系统的转变提供了一个较为理想的开发手段。与传统的数字化成图系统相相比较,以GIS为核心的数字化成图系统在设计上需要达到以下目标:
(1) 以GIS为核心,面向GIS。这就要求在系统的开发过程中充分考虑GIS对数据的要求,解决当前成图系统数据进入GIS所存在的问题。以GIS为核心是整个系统设计的灵魂和精华所在。
(2) 兼顾制图与GIS的双重需求。在满足GIS需要的同时,还必须考虑到制图对于数据表达的要求,其核心是实体的符号化表达。
(3) 开放性设计。不同地区、不同的GIS对数据的要求千差万别,这就要求数字化成图系统具有较大的灵活性和可定制性,以不变应万变。可定制性的内容应包括实体代码、实体属性、实体分层等。
(4) 对空间数据库的支持。近几年来,基于大型关系型数据库(如Oracle,SQL Sever等)的空间数据库技术在GIS工程建设中得到了广泛的应用,如何直接基于空间数据库进行数据的存储、管理、维护与更新是急需解决的问题之一。
(5) 多源数据集成。当前,数字化成图系统的电子数据格式和GIS的数据格式很多,数字化成图系统如果以对这些数据格式有着良好的支持,这会大大降低数据入库的难度,解决GIS工程建设中的数据瓶颈问题。
(6) 操作简便,符合作业人员的作业习惯。面向GIS进行数字化成图系统,工作量的增加是不可避免的。以GIS为核心的数字化成图系统必须提供高效简便的操作方式,以提高作业效率。
(7) 标准化与规范化。
3.2基础地形数据编码的设计
地形数据编码是在GIS中唯一标识某一地物的关键字。基础地形数据编码的设计也是在GIS中进行制图的需要,也是实现基础空间信息共享的基础。基础地形数据的编码是开发以GIS为核心的数字化成图系统的基础,是系统成败的关键之一。在进行基础地形数据编码设计时,必须遵循几个原则:(1)遵从国家和行业标准。(2)方便应用。用户可根据不同的需求,分层和按专题要素提取基础地形要素信息,随意定制专题显示及输出。(3)系统实现便利。在实际进行设计时,可在《国家基础地形要素编码》的基础上加以扩充,以满足系统的实际需要。
在实际系统的开发中,我们采用了基于实体特征的城市基础地理信息分类编码方案。该方案的特点是在地理要素分类的基础上,加入构成地理要素的实体的分类与特征属性,能够较好地满足GIS制图与分析的应用需求。有关该编码的详细内容可参考《基于实体特征的城市基础地理信息分类编码方案》(梁军,金文华)一文,本文不再赘述。
下面是一个地形要素的编码示例
编码 = 地形要素分类码(4位) 地形要素特征码
如: 1 1 1 0 2 0 (三角点点状符号的编码)
3.3 系统的功能设计
在功能设计上,以GIS为核心的数字化成图系统必须兼顾制图与GIS的双重需求。按其工作流程,可将其划分为以下几个模块:
(1) 数据输入模块。在此模块中,应支持目前常见的几种数据采集手段。包括:野外数字化测图(测绘)、扫描图矢量化、其他格式的电子数据(GIS数据和CAD数据)转入。在数据输入模块中,还需支持空间数据库作为其数据源。
(2) 编辑模块。这是以GIS为核心的数字化成图系统的核心模块。在编辑模块中,所有GIS实体的创建过程都必须是由系统完全封装而且是自动完成的。
(3) 查询、统计与分析。基于现有系统,可以直接完成一些常见的、简单的查询、统计与分析功能。
(4) 输出模块。包括几个方面的内容:制图输出、报表输出、其他格式的GIS数据输出、数据直接存入空间数据库。
4.以GIS为核心的数字化成图系统SuperMap Survey的实现
4.1 组件式GIS平台的选择
SuperMap Survey是北京超图地理信息技术有限公司开发的一套完全以GIS为核心的数字化成图系统。在组件式GIS平台的选择上,我们选择了全组件式GIS平台---SuperMap2000作为SuperMap Survey的开发平台。SuperMap2000是北京超图地理信息技术有限公司推出的全组件式GIS平台,与其他的ComGIS平台相比较,SuperMap2000更加适合作为以GIS为核心的数字化成图系统开发的基础平台,这主要是因为:
u SuperMap提供了两种层次的开发手段:ActiveX控件和SDK。特别是提供SDK的开发手段,特别适合开发这样的系统。
u 多组件组成。SuperMap2000由SuperMap核心控件、SuperWorkspace、SuperLegend、SuperTopo、Super3D、SuperLayout等多个组件,在组件的选择上具有很大的灵活性,使得整个系统的扩充性大大增强。
u 开放的线型和符号制作功能。SuperMap 2000 内置功能强大的线型编辑器和符号编辑器,允许用户根据专业需要设计新的线型和符号。
u 强大的制图、编辑和捕捉功能。SuperMap2000提供了可与CAD相媲美的编辑和捕捉功能,缩小了GIS和CAD系统在这方面的差距。
u 独特的多源空间数据无缝集成技术(SIMS)。SuperMap 2000 的数据转换功能可以方便地共享其他GIS软件平台的地理数据,提供了转换多种数据格式的能力。
u 空间数据库支持。通过SuperMap的空间数据库引擎,可以直接支持基于大型关系型数据库(如Oracle,SQL Server等)存储和管理空间数据。
4.2 SuperMap Survey的实现
在开发SuperMap Survey的时候,我们采用了SuperMap的底层SDK,编程语言采用了Visual C 6.0。在SuperMap SDK的支持下,我们针对数字化成图系统的需要进行了功能的扩充。在数据的存储结构上,我们采用了SuperMap2000所提供的SDB格式的数据存储结构,它是最大优点是采用双文件结构,而不是常见的一层一组文件的存储方式,这样就有利于保持数据的完整性。在编辑制图方面,我们对SuperMap底层所提供的编辑功能作了进一步的扩充,增加了适合数字化成图所需要的编辑功能。系统对于空间数据库的支持和其他格式GIS数据的支持,是基于SuperMap2000的空间数据库技术和SIMS技术来实现的。
经过紧张的开发,我们基于SuperMap2000的SDK,现已初步完成了以GIS为核心的数字化成图系统的开发工作,基本上实现了系统的设计目标。在SuperMap Survey中,我们实现了以下功能:
(1) 支持常用的测绘手段进行野外数字化测图。包括测记法(包括电子手簿),内外业一体化数据采集(电子平板)。利用SuperMap Survey可进行常规的大比例尺数字化测图。
(2) 扫描图矢量化。SuperMap Survey支持常见图像格式的图像调入、配准、切边、配准和屏幕矢量化。
(3) 支持基于SQL Server和Oracle等的空间数据库操作。可直接编辑数据库中的数据。
(4) 支持多种格式的GIS数据和CAD数据的导入和导出。
(5) 适合数字化成图系统的编辑和捕捉功能。完全自动化的GIS实体创建。专为地籍测量定制的地籍测量模块。
(6) 提供最为常用的GIS查询、统计和分析功能。
(7) 基于模板的标准图件输出。
(8) 开放性设计。使用SuperMap Survey所提供的参数管理程序可方便地定制各种参数。
图1 基于SuperMap2000开发的以GIS为核心的数字化成图系统
五 结论
以GIS为核心的数字化成图系统的开发,较好地解决了传统的数字化成图系统所提供的电子数据进入GIS所存在的问题,在实际应用中取得了良好的效果。
在系统开发的过程中,我们深深地体会到,以ComGIS作为数字化成图系统的开发平台,与传统的开发技术相比较,开发难度适中,开发周期短,开发投资小,与GIS的兼容性好,是开发以GIS为核心的数字化成图系统的理想选择。
[参考文献]
[1]陈述彭等,《地理信息系统导论》,科学出版社,北京,2000.1
[2]杨德麟等,《大比例尺数字测图的原理、方法和应用》,清华大学出版社,北京,1998.2
[3]宋关福、钟耳顺,”组件式地理信息系统研究与开发”, 《图像图形学报》,Vol.3 No.4 ,1998.4
[4]中科院地理信息产业发展中心,《杭州市土地信息系统基础地形信息编码与分层方案》,2000.2
[5]北京超图地理信息技术有限公司,《理解SuperMap GIS》,2000.9
图片不知道怎么发上来
请自己去参考资料查看
协同过滤推荐系统是当今众多推荐系统中最流行和最重要的推荐方法之一。
尽管已经被广泛采用,但是现有的基于 cf 的方法,从矩阵分解到新兴的基于图的方法, 在训练数据非常有限的情况下表现不佳 (数据稀疏问题)。
本文首先指出了造成这种不足的根本原因,并指出现有基于 CF 的方法固有的两个缺点,即: 1)用户和物品建模不灵活; 2)高阶相关性建模不足。
在这种情况下,文中提出了一个双通道超图协同过滤(DHCF)框架来解决上述问题。
首先,引入 双通道学习策略 (Dual-Channel),全面利用分治策略,学习用户和物品的表示,使这两种类型的数据可以优雅地相互连接,同时保持其特定属性。
其次, 利用超图结构对用户和具有显式混合高阶相关性的物品进行建模 。提出了跳跃超图卷积(JHConv)方法,实现高阶关系嵌入的显式和有效传播。
推荐系统的核心是一系列的推荐算法,这些算法能够**根据用户的个人特征有效地从爆炸式信息筛选出信息。协同过滤是目前最受欢迎和广泛采用的方法之一。
CF 持有一个基本的假设,当向用户提供推荐时: 那些行为相似的人(例如,经常访问同一个网站)很可能在物品(例如,音乐、视频、网站)上分享相似的偏好。 为了实现这一点,一个典型的基于 CFbased 方法执行一个两步策略: 它首先利用历史交互区分相似的用户和项目; 然后基于上面收集的信息,向特定用户生成推荐。
现有的 CF 方法可以分为三类。
虽然 CF 方法已经研究了多年,但仍然存在局限性,特别是在训练的先验知识非常有限的情况下。为了理解这些缺陷,深入挖掘现有 CF 方法的内在机制得到以下局限性:
基于这些生成的连接组,即超边,可以分别为用户和物品构造两个超图,即两个通道的表示。本文提出了一种新的跳跃超图卷积算法(JHConv) ,该算法通过聚合邻域的嵌入并引入先验信息,有效地在超图上进行信息传播。(与传统的基于图的方法对比,用户超图和项目超图,可以更灵活地进行复杂的数据关联建模,并与不同类型的数据结合。)
超图定义为 ,V表示图节点, 表示超边集合,超图邻接矩阵 描述节点与超边的关系
在高层次上,DHCF 首先通过一个双通道超图框架学习用户和物品的两组嵌入,在此框架上,DHCF 通过计算用户和物品嵌入查找表的内积,进一步计算出用户-项目偏好矩阵。基于这样的偏好矩阵,DHCF 估计用户对某个商品感兴趣的可能性。
总体分为三步:
构建用户和物品嵌入矩阵:
为了在预定义的混合高阶关系上聚合相邻消息,执行以下高阶消息传递:
为了提取有区别的信息,我们对用户和物品定义为
综上所述,上述两个过程构成了一个集成的DHCF 层,允许对用户和物品进行明确的建模和编码,并通过强大的嵌入功能进一步更新和生成更精确的嵌入超图结构。这种精细嵌入可以进一步应用于推荐系统中的各种下游任务。
与 传统 HGNNConv 相比,JHConv 允许模型同时考虑其原始特征和聚合相关表示,在另一方面,这样的 resnet结构的跳跃连接使模型能够避免由于集成了许多其他连接而导致的信息稀释。
引入高阶关联来实现构建超边,根据自定义的规则分别对用户和物品进行高阶关联提取
定义1: 物品的 k 阶可达邻居。在用户-物品交互图,更具体地说是二部图中,如果在 itemi 和 itemj 之间存在一个相邻顶点序列(即一条路) ,且该路径中的用户数小于 k,itemi (itemj)是 itemi (itemi)的 k 阶可达邻居。
定义2: 物品的 k阶可达用户。在物品-用户二部图中,如果用户 j 和物品 k 之间存在直接交互作用,则用户 j 是 itemi 的 k 阶可达邻居,而物品 k 是 itemi 的 k 阶可达邻居。
对于 itemi,其 k 阶可达用户集称为 。从数学上讲,超图可以定义在一个集簇上,其中每个集代表一个超边。因此,这里可以通过物品的 k 阶可达用户集构建超边。
然后在用户 k 阶可达规则的基础上构造高阶超边组,该超边组可表示为:
假设通过K阶可达规则,构造a个超边组,最后的超图需要将这a个超边组做融合,见上面的总体框架中的描述。
同理,按照相似的K阶可达的规则,对物品进行分析,构成物品的超边(N个用户,M个物品)
在实验中,每个用户观察到的交互中的10% 被随机选择用于训练,其余的数据用于测试。这样的设置增加了 CF 任务的难度,因为模型只能获取非常有限的观察到的交互。此外,由于数据的高度稀疏性,它可以很好地评价模型从有限的隐式数据集中挖掘有用信息的能力。对于所有四个数据集,每个用户至少有两个用于训练的交互。
这篇工作基于超图结构,提出了一种新的CF框架,与基于图神经网络的CF相比,超图结构更符合实际情况;此外,双通道的思路也值得借鉴,之前也分析的一篇双通道BPR的论文。近年来,基于图神经网络的推荐已经成为研究主流,而其中超图相关的工作少之又少,最近看到的另一篇是SIGIR2020上的一篇Next Item Recommendation with Sequential Hypergraphs,在超图神经网络上并没多大的改进,重点仍然在于如何用这种结构去解决存在的问题。
如果觉得有用,欢迎点赞关注赞赏,若对推荐感兴趣欢迎评论区/私信交流~~~