论文部分内容阅读
摘要:市政道路的设计需要处理大量信息,是一项复杂繁琐的工作。研究通过对CAD的二次开发,以及ComGIS的组件应用技术,构建了信息化技术在市政道路设计中的应用平台,提高了市政道路设计的效率,减小了设计的工作量。
关键词:GIS;组件技术;市政道路;设计
1前言
城市道路分为市政道路与社区道路,市政道路是由市政部门管理和养护的,是指城市供车辆、行人通行的,具备一定技术条件的道路、桥梁、隧道、广场以及附属在路面上的相关设施[1]。市政道路是一个城市的筋脉,是城市基础中的基础,对于一个城市而言,市政道路是城市发展最重要的环境因素之一。
CAD技术在市政道路测设中的应用,成为道路测设现代化的主要标志之一。市政道路CAD设计涉及的主要内容包括设计方案的构思和形成、工程的计算与优化、方案的比较和选择、设计图表的绘制与设计文件的输出等一系列工作。而市政道路则包含了许多的空间信息与属性信息,数据之间关系复杂,数据量庞大。而利用GIS技术可以将市政道路的空间信息和属性信息有机结合起来,从而能更好地应用于市政道路设计,服务于市政道路设计。
虽然AutoCAD的绘图功能十分强大,但其对数据的分析能力不高,制约了其在市政道路设计工程领域的进一步应用。因此,把现有的AutoCAD图形文件转入GIS中,并为GIS图形数据添加属性数据,或者为其进行属性数据的绑定,从而利用GIS强大的空间分析功能对转入的公路及其两旁的地理实体数据进行各种分析运算,为市政道路设计方案的优化、领导决策等提供技术支持。
2信息化技术在市政道路设计中的应用
2.1基于ActiveX Automation技术进行AutoCAD的二次开发[2-3]
ActiveX Automation是微软建立的标准,,它允许一个WindowS应用程序通过暴露的对象控制另一个WindowS应用程序。AutoCAD内嵌了ActiveX Automation语言VBA(Visual Basic for Application),它是Office办公自动化家族软件成员中的标准宏语言。VBA IDE(集成开发环境)提供了高质量的用户编程能力,能够使AutoCAD数据与其它的VBA应用程序直接共享。同时,用户可以方便地使用VB、VC++、Delphi等易学易用的客户化编程语言与开发工具进行Aut0CAD的二次开发。ActiveX基于COM。所谓COM(Component Object Model),即组件对象模型,是关于如何建立组件以及如何通过组件架构应用程序的一个规范。按照COM规范建立的组件称为COM组件。COM客户通过接口(Interface)访问COM组件。对于COM来说,接口是一个指向虚拟函数表(vtbl)地址的指针,虚拟函数表每一项包含的是一个由组件所实现的函数的地址。ActiveX采用C/S模式并通过COM接口来实现它的性能。
当以Delphi7.0[4]為开发工具,利用VBA宏语言对AutoCAD2000进行二次开发时,Delphi7.0作为自动化控制器。ActiveX Automation技术使得AutoCAD被登录为一个Delphi可以访问的对象,最高层对象为AutoCAD.ApPlication,其下有层次化的各种子对象,它们都有相应的方法和属性供用户调用,Delphi通过访问AutoCAD的这些绘图对象和非绘图对象来实现待定的功能。
Delphi向用户隐藏了ActiveX Automatinn的实现细节,为程序员访问自动化对象提供了极大的方便。Delphi使用ActiveX Automation与AutoCAD集成的主要步骤为:
(1) Delphi引用AutoCAD的类型库。
(2) 设置主要的对象变量,并实现与AutoCAD的链结(Link)。
(3) 在AutoCAD中画图。
2.2组件式GIS技术在设计中的应用
传统的GIS信息系统在设计中有较大的缺陷,主要是系统复杂庞大,二次开发具有语言限制,难于应用于海量数据的管理和分析,因此,针对于市政道路设计中的应用,需要融合新的计算机技术。因此,可采用ComGIS(组件式地理信息系统)作为基础平台进行应用系统的研发。
组件对象模型(Component Objeet Model,COM)是微软公司于1993年创建的。现在是微软公司、数据设备公司(DEC)等公司所支持的一种软件组件结构标准。组件式软件技术改变了以往封闭、复杂、难以维护的软件开发模式,成为了当今软件技术的潮流之一。组件式GIS(ComGIS)便是顺应这一潮流的新一代地理信息系统,是面向对象技术和组件式软件技术在GIS软件开发中的应用。
ComGIS就是采用了面向对象技术和组件式软件的GIS系统(包括基础平台和应用系统)。ComGIS的基本思想是把Gls的各大功能模块划分为几个组件,每个组件完成不同的功能。各个GIS组件之间,以及GIS组件与其它非GIS组件之间,都可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS基础平台以及应用系统。
软件的组件化己成为软件技术发展的潮流,MapX作为代表性的GIS构件产品,已广泛应用于Gls软件开发之中。MapX是一个基于ActiveX(OCX)技术的可编程控件。
使用MaPX控件开发地理信息系统的主要步骤:
(1)图层设置和投影与坐标系的选择;
(2)地图编辑及地理信息的查询和空间分析;
(3)数据库及地图数据的绑定。
2.3市政道路设计的实现
2.3.1路线平面图的自动生成
以Delphi7.0为开发工具,利用ActiveX Automation语言VBA对Auto CAD进行二次开发,即利用GPS和米尺等工具对现有公路、拟建公路及其周围的地理实体进行测量后,由已知地物点的坐标及其相关数据求解未知点的坐标,写入Excel数据表,然后调用数据表中的数据,在AutoCAD中自动生成路线平面图。
要使系统容易扩充,就要使它的结构清楚,为此,需要把系统分成若干个符合一定要求的子系统,子系统设计是独立进行的,设计过程中不断地吸取用户调查提供的信息,并且将它们与目前生产实践的需要及将来发展的可能结合起来,不断地进行修改。子系统设计均采用由下而上的方法,先从实际调查出发,研究其可能涉及的资料,确定其实体的属性,然后逐级向上综合,子系统的划分给系统的逻辑设计和物理设计打下基础,为整个系统的运行提供保证。一个易于修改的系统应该由一些相对独立、功能单一的模块按照层次结构组成。
依照上述原则,路线平面图自动生成子系统的功能模块图有绘制点、绘制线、绘制道路、绘制面以及求解地物坐标入库模块。其中利用GPS和米尺等工具对现有公路、拟建公路及其周围的地物进行测量后,由已知地物点的坐标及其相关数据求解未知地物点的坐标,写入Excel数据表,是求解地物坐标入库模块。而应用程序调用数据表中的点、线、道路及面的实体数据,并相应在 AutoCAD中生成各自的实物,分别为绘制点实体模块、绘制线实体模块、绘制道路实体模块和绘制面实体模块。
2.3.2路网输入编辑子系统
市政道路的路网输入系统主要有数据转换、数据绑定和路网编辑。
(1)数据转换
将CAD图形数据直接转换为Maphifo数据,然后利用ComGIS组件MapX的属性和方法为Maphifo中的地图对象写入属性数据。
(2)数据绑定
将CAD地图数据转换成Maphifo数据后,当需要进行数据分析时利用数据绑定功能实现地图数据与其属性数据的关联,这样可以应用数据库的强大功能对属性数据进行管理。这种关联可以是静态的,也可以是动态的。
(3)路网编辑
对由CAD转入的地图对象进行填充、闭合多边形与区域的相互转换、“岛”与“洞”的处理等操作。
2.3.3市政道路辅助设计子系统
根据数据表中某一个数值型的字段,用户可以对整个图层对象或者选定的对象进行数据统计,进而对其进行评估,用于分析决策。同时,可以对图层对象创建各种样式的统计图,以直观地显示表中不同地图对象的特定列之间的数值关系。例如,进行市政道路设计时,通过对搬迁成本的统计来对不同的公路设计方案进行选择与优化,以便缩短工程建设周期,节约工程建设投资。
3结论
信息化技术在市政道路设计中的应用,将会随着经济的发展,而有更广阔的发展空间,以Delphi7.0为开发工具,利用ActiveX Automation语言VBA对Aut0CAD进行二次开发,即利用GPS和米尺等工具对现有公路、拟建公路及其周围的地理实体进行测量后,由已知地物点的坐标及其相关数据求解未知点的坐标,写入Excel数据表,然后调用数据表中的数据,在AutoCAD中自动生成路线平面图,克服了传统方法费时费力的缺点,极大地提高了工作效率。
关键词:GIS;组件技术;市政道路;设计
1前言
城市道路分为市政道路与社区道路,市政道路是由市政部门管理和养护的,是指城市供车辆、行人通行的,具备一定技术条件的道路、桥梁、隧道、广场以及附属在路面上的相关设施[1]。市政道路是一个城市的筋脉,是城市基础中的基础,对于一个城市而言,市政道路是城市发展最重要的环境因素之一。
CAD技术在市政道路测设中的应用,成为道路测设现代化的主要标志之一。市政道路CAD设计涉及的主要内容包括设计方案的构思和形成、工程的计算与优化、方案的比较和选择、设计图表的绘制与设计文件的输出等一系列工作。而市政道路则包含了许多的空间信息与属性信息,数据之间关系复杂,数据量庞大。而利用GIS技术可以将市政道路的空间信息和属性信息有机结合起来,从而能更好地应用于市政道路设计,服务于市政道路设计。
虽然AutoCAD的绘图功能十分强大,但其对数据的分析能力不高,制约了其在市政道路设计工程领域的进一步应用。因此,把现有的AutoCAD图形文件转入GIS中,并为GIS图形数据添加属性数据,或者为其进行属性数据的绑定,从而利用GIS强大的空间分析功能对转入的公路及其两旁的地理实体数据进行各种分析运算,为市政道路设计方案的优化、领导决策等提供技术支持。
2信息化技术在市政道路设计中的应用
2.1基于ActiveX Automation技术进行AutoCAD的二次开发[2-3]
ActiveX Automation是微软建立的标准,,它允许一个WindowS应用程序通过暴露的对象控制另一个WindowS应用程序。AutoCAD内嵌了ActiveX Automation语言VBA(Visual Basic for Application),它是Office办公自动化家族软件成员中的标准宏语言。VBA IDE(集成开发环境)提供了高质量的用户编程能力,能够使AutoCAD数据与其它的VBA应用程序直接共享。同时,用户可以方便地使用VB、VC++、Delphi等易学易用的客户化编程语言与开发工具进行Aut0CAD的二次开发。ActiveX基于COM。所谓COM(Component Object Model),即组件对象模型,是关于如何建立组件以及如何通过组件架构应用程序的一个规范。按照COM规范建立的组件称为COM组件。COM客户通过接口(Interface)访问COM组件。对于COM来说,接口是一个指向虚拟函数表(vtbl)地址的指针,虚拟函数表每一项包含的是一个由组件所实现的函数的地址。ActiveX采用C/S模式并通过COM接口来实现它的性能。
当以Delphi7.0[4]為开发工具,利用VBA宏语言对AutoCAD2000进行二次开发时,Delphi7.0作为自动化控制器。ActiveX Automation技术使得AutoCAD被登录为一个Delphi可以访问的对象,最高层对象为AutoCAD.ApPlication,其下有层次化的各种子对象,它们都有相应的方法和属性供用户调用,Delphi通过访问AutoCAD的这些绘图对象和非绘图对象来实现待定的功能。
Delphi向用户隐藏了ActiveX Automatinn的实现细节,为程序员访问自动化对象提供了极大的方便。Delphi使用ActiveX Automation与AutoCAD集成的主要步骤为:
(1) Delphi引用AutoCAD的类型库。
(2) 设置主要的对象变量,并实现与AutoCAD的链结(Link)。
(3) 在AutoCAD中画图。
2.2组件式GIS技术在设计中的应用
传统的GIS信息系统在设计中有较大的缺陷,主要是系统复杂庞大,二次开发具有语言限制,难于应用于海量数据的管理和分析,因此,针对于市政道路设计中的应用,需要融合新的计算机技术。因此,可采用ComGIS(组件式地理信息系统)作为基础平台进行应用系统的研发。
组件对象模型(Component Objeet Model,COM)是微软公司于1993年创建的。现在是微软公司、数据设备公司(DEC)等公司所支持的一种软件组件结构标准。组件式软件技术改变了以往封闭、复杂、难以维护的软件开发模式,成为了当今软件技术的潮流之一。组件式GIS(ComGIS)便是顺应这一潮流的新一代地理信息系统,是面向对象技术和组件式软件技术在GIS软件开发中的应用。
ComGIS就是采用了面向对象技术和组件式软件的GIS系统(包括基础平台和应用系统)。ComGIS的基本思想是把Gls的各大功能模块划分为几个组件,每个组件完成不同的功能。各个GIS组件之间,以及GIS组件与其它非GIS组件之间,都可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS基础平台以及应用系统。
软件的组件化己成为软件技术发展的潮流,MapX作为代表性的GIS构件产品,已广泛应用于Gls软件开发之中。MapX是一个基于ActiveX(OCX)技术的可编程控件。
使用MaPX控件开发地理信息系统的主要步骤:
(1)图层设置和投影与坐标系的选择;
(2)地图编辑及地理信息的查询和空间分析;
(3)数据库及地图数据的绑定。
2.3市政道路设计的实现
2.3.1路线平面图的自动生成
以Delphi7.0为开发工具,利用ActiveX Automation语言VBA对Auto CAD进行二次开发,即利用GPS和米尺等工具对现有公路、拟建公路及其周围的地理实体进行测量后,由已知地物点的坐标及其相关数据求解未知点的坐标,写入Excel数据表,然后调用数据表中的数据,在AutoCAD中自动生成路线平面图。
要使系统容易扩充,就要使它的结构清楚,为此,需要把系统分成若干个符合一定要求的子系统,子系统设计是独立进行的,设计过程中不断地吸取用户调查提供的信息,并且将它们与目前生产实践的需要及将来发展的可能结合起来,不断地进行修改。子系统设计均采用由下而上的方法,先从实际调查出发,研究其可能涉及的资料,确定其实体的属性,然后逐级向上综合,子系统的划分给系统的逻辑设计和物理设计打下基础,为整个系统的运行提供保证。一个易于修改的系统应该由一些相对独立、功能单一的模块按照层次结构组成。
依照上述原则,路线平面图自动生成子系统的功能模块图有绘制点、绘制线、绘制道路、绘制面以及求解地物坐标入库模块。其中利用GPS和米尺等工具对现有公路、拟建公路及其周围的地物进行测量后,由已知地物点的坐标及其相关数据求解未知地物点的坐标,写入Excel数据表,是求解地物坐标入库模块。而应用程序调用数据表中的点、线、道路及面的实体数据,并相应在 AutoCAD中生成各自的实物,分别为绘制点实体模块、绘制线实体模块、绘制道路实体模块和绘制面实体模块。
2.3.2路网输入编辑子系统
市政道路的路网输入系统主要有数据转换、数据绑定和路网编辑。
(1)数据转换
将CAD图形数据直接转换为Maphifo数据,然后利用ComGIS组件MapX的属性和方法为Maphifo中的地图对象写入属性数据。
(2)数据绑定
将CAD地图数据转换成Maphifo数据后,当需要进行数据分析时利用数据绑定功能实现地图数据与其属性数据的关联,这样可以应用数据库的强大功能对属性数据进行管理。这种关联可以是静态的,也可以是动态的。
(3)路网编辑
对由CAD转入的地图对象进行填充、闭合多边形与区域的相互转换、“岛”与“洞”的处理等操作。
2.3.3市政道路辅助设计子系统
根据数据表中某一个数值型的字段,用户可以对整个图层对象或者选定的对象进行数据统计,进而对其进行评估,用于分析决策。同时,可以对图层对象创建各种样式的统计图,以直观地显示表中不同地图对象的特定列之间的数值关系。例如,进行市政道路设计时,通过对搬迁成本的统计来对不同的公路设计方案进行选择与优化,以便缩短工程建设周期,节约工程建设投资。
3结论
信息化技术在市政道路设计中的应用,将会随着经济的发展,而有更广阔的发展空间,以Delphi7.0为开发工具,利用ActiveX Automation语言VBA对Aut0CAD进行二次开发,即利用GPS和米尺等工具对现有公路、拟建公路及其周围的地理实体进行测量后,由已知地物点的坐标及其相关数据求解未知点的坐标,写入Excel数据表,然后调用数据表中的数据,在AutoCAD中自动生成路线平面图,克服了传统方法费时费力的缺点,极大地提高了工作效率。