十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
把GIS的功能适当抽象,以组件形式供开发者使用,将会带来许多传统GIS工具无法比拟的优点。 抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程。以GPS监控为例。对于GPS应用,除了需要地图显示、信息查询等一般的GIS功能外,还需要特定的应用功能,如动态目标显示、目标锁定、轨迹显示等。这些GPS行业性应用功能组件被封装起来后,开发者的工作就可简化为设置显示目标的图例、轨迹显示的颜色、锁定的目标,以及调用、接受数据的方法等。
创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为钦州企业提供专业的成都网站建设、成都做网站,钦州网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
4 组件GIS(ComGIS)
构件式软件技术成为了当今软件技术的潮流之一,它的出现改变了以往封闭、复杂、难以维护的软件开发模式。 ComGIS便是顺应这一潮流的新一代地理信息系统,是面向对象技术和构件式软件技术在 GIS软件开发中的应用。
4.1 ComGIS的基本思想
ComGIS的基本思想是把GIS的功能模块划分为多个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,可以分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成地理信息系统基础平台和应用系统。
组件软件的可编程和可重用的特点在为系统开发商提供有效的系统维护方法的同时,也为GIS最终用户提供了方便的二次开发手段。因此,ComGIS会在很大程度上推动GIS软件的系统集成化和应用大众化,同时也很好地适应了网络技术的发展,是一种 WebGIS的解决方案。
4.2 ComGIS的基本特点
(1)与语言无关性
首先,组件GIS不需要专门的二次开发语言,只要按照一定的标准(如Microsoft的ActiveX控件标准)开发接口,提供一套实现GIS基本功能函数的构件 。也就是说GIS应用开发者,不必掌握专门的GIS开发语言,只需熟悉基于Windows平台的通用集成开发语言(如Visual C++,Visual Basic,Visual FoxPro,Borland C++等),及组件GIS各个构件的属性、方法和事件,即可完成应用系统的开发和集成。
(2)二次开发能力强
一个完全组件化了的组件GIS其二次开发能力非常强大。因为GIS的每一个功能模块都组件化了,其功能模块组件既提供给二次开发用户,同时也是组件GIS内部调用接口。为了实现一个完整的GIS功能,各个功能模块组件及接口必须定义得完备、详细。
(3)开放性和可扩展性
组件GIS不依赖于某一种开发语言,可以嵌入通用的开发环境中实现GIS功能。专业模型则不仅可以使用这些通用开发环境来实现,也可以插入专业模型的分析控件,有效克服了传统的GIS软件在系统集成上存在的低效、“有缝”等缺陷,实现高效、无缝的系统集成。
另外,利用组件技术的多态性,二次开发用户对组件GIS本身进行功能扩展,是组件GIS最有特色和展现其魅力的地方。
(4)大众化
由于组件式技术已经成为行业标准,即“组件”标准化,用户可以像使用其他ActiveX控件一样来使用组件GIS控件,这样,非专业的普通用户也能够开发和集成所需要的GIS应用系统,使GIS从专家们的实验室走向社会,有力促进GIS的普及与大众化的进程。
(5)低成本
由于组件GIS本身可以分解为若干个完成,不同的功能的组件,用户可根据实际需要选择组件,同时,由于组件GIS只提供GIS的通用功能组件,其他非GIS的专业功能可使用专业厂商体提供的专门功能的组件,这样,就可以大大减轻用户的经济负担,降低GIS软件的开发成本。
(6)分布式多数据源集成
组件化使得在应用中可较易实现分布式多数据源的集成。
(7)互操作性
互操作GIS还处在研究的阶段,但组件化是互操作GIS基础。只有GIS的功能模块化、标准化,各个GIS厂商按照标准以组件的方式实现各个功能模块,不同厂商的功能模块相互之间才可协同工作和达到互操作的目的。
4.3 ComGIS的设计与开发
设计组件式GIS,需要根据功能划分为多个控件。划分控件需要根据不同的数据结构和系统模型进行具体分析,要考虑以下几个方面的问题:(1) 控件间差别最大、控件内差别最小;(2) 纯设计用模块与将随集成系统发布的模块分开,例如地图符号编辑、线型编辑器应与空间查询分析等模块分开;(3) 相同显示窗口的模块尽可能设计在同一个控件里;(4) 处理相同数据文件的模块尽可能设计在同一个控件里;(5) 剔除空间查询分析控件中不必要的内容,减少Internet下载的数据量。
考虑到以上因素, 组件式GIS可以划分为数据采集与编辑控件、图像处理控件、三维控件、数据转换控件、地图符号编辑/线性编辑控件、空间查询分析控件等。其中一些无须进行二次开发的模块不一定以组件方式提供,比如数据采集、数据转换、符号编辑/线型编辑等模块可以用独立运行程序方式提供,数据转换模块还可以编译成动态连接库。
传统GIS软件与用户或者二次开发者之间的交互,一般通过菜单或工具条按钮、命令以及二次开发语言进行。组件式GIS与用户和客户程序之间则主要通过属性、方法和事件交互,如下图1所示。
图1 ComGIS与集成环境及其他组件之间的交互
组件式GIS开发要注意几个方面的问题:(1)优化的代码和高效的算法 尽管COM技术的二进制通信具有很高的效率,与独立运行程序比较,OCX控件在运行速度上仍有差距。不过我们的开发实践证明,采用高效的算法并精心优化代码可以使软件整体效率有较大改善。经过对比测试,我们研制的组件式GIS软件- ActiveMap,在图形显示上比目前Windows95/NT平台上大多数商业化GIS软件快,其中甚至包括非组件式的GIS软件。(2)紧凑、简练的数据结构 在能够充分表达地理信息并能有效进行各种处理、分析的前提下,软件数据结构要尽可能紧凑。这不仅可以加快数据存取速度,同时也为适应Internet传递的需要。(3)流行GIS数据文件的数据引擎 除提供与各种GIS数据文件格式的数据转换程序外,组件式GIS被设计为可以直接访问多种数据格式也是一大特色。Intergraph的GeoMedia可以直接访问MGE、Frame、ArcView、SDO等著名软件的数据格式。ActiveMap也可直接访问MGE等流行的数据格式,提高了数据共享方面的能力。
答:地理信息系统(GIS , Geographic Information System)是在计算机硬、软件系统支持下,对现实世界(资源与环境)的研究和变迁的各类空间数据及描述这些空间数据特性的属性进行采集、储存、管理、运算、分析、显示和描述的技术系统
特点有:1)具有采集、管理、分析和输出多种地理空间信息的能力;2)以地理研究和地理决策为目的,以地理模型方法为手段,具有空间分析、多要素综合分析和动态预测的能力;并能产生高层次的地理信息。3)具有公共的地理定位基础,所有的地理要素,要按经纬度或者特有的坐标系统进行严格的空间定位。4)由计算机系统支持进行空间地理数据管理,并由计算机程序模拟常规的或专门的地理分析方法,作用于空间数据,产生有用信息,完成人类难以完成的任务。 5)地理信息系统从外部来看,它表现为计算机软硬件系统;而其内涵确是由计算机程序和地理数据组织而成的地理空间信息模型,是一个逻辑缩小的、高度信息化的地理系统。信息的流动及信息流动的结果,完全由计算机程序的运行和数据的交换来仿真。
GIS有别于CAD系统,二者虽然都有参考系统,都能描述图形,但CAD系统只处理规则的几何图形,属性库功能弱,更缺乏空间分析和判断能力(重点是缺乏空间分析能力)。
GIS二次开发发展模式
1.独立开发
指不依赖于任何GIS 工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C++、Delphi 等,在一定的操作系统平台上编程实现。这种方式的好处在于无须依赖任何商业GIS 工具软件,减少了开发成本,但一方面对于大多数开发者来说,能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化GIS 工具软件相比,而且在购买GIS 工具软件上省下的钱可能还抵不上开发者在开发过程中绞尽脑汁所花的代价
2.宿主型二次开发
指基于GIS 平台软件上进行应用系统开发。大多数GIS 平台软件都提供了可供用户进行二次开发的脚本语言,如ESRI 的ArcView 提供了Avenue 语言,MapInfo 公司的MapInfo Professional提供了MapBasic 语言等等。用户可以利用这些脚本语言,以原GIS 软件为开发平台,开发出自己的针对不同应用对象的应用程序。这种方式省时省心,但进行二次开发的脚本语言,作为编程语言,功能极弱,用它们来开发应用程序仍然不尽如人意,并且所开发的系统不能脱离GIS 平台软件,是解释执行的,效率不高。
3.基于GIS 组件的二次开发
大多数GIS 软件产商都提供商业化的GIS 组件,如ESRI 公司的MapObjects、MapInfo 公司的MapX 等,这些组件都具备GIS 的基本功能,开发人员可以基于通用软件开发工具尤其是可视化开发工具,如Delphi、Visual C++、Visual Basic、Power Builder 等为开发平台,进行二次开发。
利用GIS 工具软件生产厂家提供的建立在OCX 技术基础上的GIS 功能控件,如ESRI 的MapObjects、MapInfo 公司的MapX 等,在Delphi 等编程工具编制的应用程序中,直接将GIS 功能嵌入其中,实现地理信息系统的各种功能.
组件式GIS系统的特点
1)、 小巧灵活、价格便宜
由于传统GIS结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差,系统的开发难度大。在组件模型下,各组件都集中地实现与自己最紧密相关的系统功能,用户可以根据实际需要选择所需控件,最大限度地降低了用户的经济负担。。组件化的GIS平台集中提供空间数据管理能力,并且能以灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价格仅是传统GIS开发工具的十分之一,甚至更少。这样,用户便能以较好的性能价格比获得或开发GIS应用系统。
(2)、 无须专门GIS开发语言,直接嵌入MIS开发工具
传统GIS往往具有独立的二次开发语言,对用户和应用开发者而言存在学习上的负担。而且使用系统所提供的二次开发语言,开发往往受到限制,难以处理复杂问题。而组件式GIS建立在严格的标准之上,不需要额外的GIS二次开发语言,只需实现GIS的基本功能函数,按照Microsoft的ActiveX控件标准开发接口。这有利于减轻GIS软件开发者的负担,而且增强了GIS软件的可扩展性。GIS应用开发者,不必掌握额外的GIS开发语言,只需熟悉基于Windows平台的通用集成开发环境,以及GIS各个控件的属性、方法和事件,就可以完成应用系统的开发和集成。目前,可供选择的开发环境很多,如Visual C++、Visual Basic、Visual FoxPro、Borland C++、Delphi、C++ Builder以及Power Builder等都可直接成为GIS或GMIS的优秀开发工具,它们各自的优点都能够得到充分发挥。这与传统GIS专门性开发环境相比,是一种质的飞跃。
(3)、 强大的GIS功能
新的GIS组件都是基于32位系统平台的,采用InProc直接调用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统GIS软件逊色。小小的GIS组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间查询与分析能力。
(4)、 开发简捷
由于GIS组件可以直接嵌入MIS开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且,GIS组件提供的API形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的MIS开发人员能够较快地过渡到GIS或GMIS的开发工作中,从而大大加速GIS的发展。
(5)、 更加大众化
组件式技术已经成为业界标准,用户可以象使用其他ActiveX控件一样使用GIS控件,使非专业的普通用户也能够开发和集成GIS应用系统,推动了GIS大众化进程。组件式GIS 的出现使GIS不仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理的的可视化工具。
呵呵
你直接问我就是
哪用到到这里