2023-10-25 21:41来源:m.sf1369.com作者:宇宇
(一)数据处理环境
由于AGEIS系统的数据源格式不一致,原则上使用各自的软件平台进行前端数据处理,如GeoMDIS 2000、MapGIS 6.5、ArcGIS 8.3等,并将空间数据转换为ArcGIS的Cov⁃erage、Shape格式。
(1)GeoMDIS
GeoMDIS是中国地质调查局开发研制的,主要用于区域地球化学数据管理、处理、分析、成图,鉴于该软件对于地球化学数据的处理、分析的优势,农业地质环境调查项目之区域地球化学调查数据主要利用GeoMDIS进行地球化学元素的全量、有效态、有机质等数据网格化及地球化学等值线图的前期成图工作。
(2)MapGIS
MapGIS是国内应用最广泛的国产地理信息平台之一,在投影转换、格式转换、图形编辑、打印输出等方面具有方便、灵活等优势。在农业地质环境信息系统的数据库建设过程中空间图形库和属性库建立,以及数据的投影转换、数据格式转换都是在MapGIS平台之下完成。此外,利用MapGIS提供的函数库在统计、制图、属性挂接等方面进行二次开发,大大提高了工作质量和效率。
(3)ArcGIS 8.3
ArcGIS是目前全球最先进的地理信息系统平台软件之一,不仅易学易用,而且功能强大,具有地图生产、高级特征建构工具、动态投影、将矢量和栅格数据存储在数据库管理系统中等强大的空间数据处理和分析功能,能满足本系统所有的数据处理要求。农业地质环境数据库空间数据均转换为ArcGIS的Coverage、ShapeFiles格式,利罩中用ArcToolBox工具进行数据格式转换,最终以GeoDatabase(简称GDB)数据模型存储,并能实现多用户对数据库数据的并发更新。
(二)系统开发环境
集成开发工具(Develop Tools)采用 Visual Basic 6.0,三维组件的开发选用 Visual Studio.net平台,二维功能的开发包(Develop Kit)采用MapObject 2.2(缩写 MO 2.2)组件。ESRI 公司开发的MapObjects 产品体系由嵌入的地图组件组成,能够创建强大的客户端和桌面应用程序,是目前集成地理信息系统开发的主流工具之一。
1.Visual Basic 6.0简介
1991年,微软公司开发出新产品Visual Basic,采用事件驱动,Quick Basic的语法和可视化的IDE。从Visual Basic 5.0版本开始就支持用户开发自己的Active X控件,进程内的COM DLL组件,进程外的COM EXE组件,以及在浏览器中运行的Active X文档。Vis⁃ual Basic发展到6.0版本,在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。Visual Basic可借助COM/COM+强大的功能,开发虚明具有N层结构的分布式应用程序(陈惟斌等,2001)。
总之,Visual Basic可视化、部件编程、面向对象编程、事件驱动的特点使VB具有了相当完善的功能,并可节省程序开发时间,另外建立在类的基础上的,其通过类的封装而使源程序更加便于维护。
2.Visual Studio.net简介
Visual Studio.net是微软公司提供的一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic.net、Visual C + +.net、Visual C#.net和 Visual J#.net全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。
Visual Studio.net使开发人员能够快速创建下一代面向任何设备并与任何平台集成的Internet 应用程序。通过现代化的、功能丰富的开发环境,Visual Studio.net向开发人员提供了用于在操作系统之间和语言之间集成解决方案的工具。利用 Visual Studio.net,开发人员可将现有的业务逻辑方便地转换为可重复使用的 XML Web服务、封装进程并使它们能够用于任何平台上的应用程序。开发人员可方便地包含任意数量的、可被编录并可用于许物誉山多独立的通用描述、发现和集成(UDDI)目录的 XML Web服务,并为应用程序提供强大的服务和业务逻辑基础。
3.MapObjects简介
(1)MapObjects的结构
MapObjects是建立在微软的对象链接和嵌入(OLE)2.0基础之上的。OLE是当今得到最广泛支持的面向对象的软件集成技术。用户像用砖块盖房子一样利用OLE组件开发和集成Windows应用。
MapObjects是一个提供制图与GIS功能的OLE控件,它包含了超过45个可编程OLE对象。MapObjects地图控件可以直接插入到许多标准开发环境的工具集中,可以通过属性页操纵地图。这些属性页是在诸如VB之类的开发环境中建立的,或者通过其他程序化相关对象来控制地图。这些对象为应用开发人员提供了有力的制图与GIS功能支持。
(2)MapObjects的特点
1)广泛的数据格式支持。支持ArcInfo Coverage、ESRI ShapeFiles、ArcSDE图层;支持AutoCAD 13、14和AutoCAD 2000的DXF、DWG格式数据;支持矢量产品格式(VPF)数据;支持大量的栅格图像格式;支持影像目录(Image Catalog)管理。
2)支持ODBC和ADO访问数据库表格数据源。
3)支持扩展的图形数据及操作。
4)支持投影。一个Shape文件、ArcInfo Coverage或SDE Layer作为一个MapLayer被添加到MapObjects中的时候,一些有关它们如何被投影的详细信息也会被保存下来。对于ESRI ShapeFiles和ArcInfo Coverage 来说,这个信息被保存在磁盘上的一个投影文件(.prj)里。对于SDE Layers来说,这个信息被保存在层定义表里面。ShapeFiles使用的投影文件仅仅是可被MapObjects进行写操作的投影元数据的格式,而Coverages所使用的投影文件必须由ArcInfo产生(韩鹏,2004)。
5)增强的GPS功能。MapObjects支持对点、线和多边形目标对象的追踪。
6)空间分析功能。
7)支持数据库版本管理。MapObjects 2.x支持ArcSDE 8.3的版本管理,允许根据许可权限,连接到ArcSDE空间数据库版本树中的任一指定版本。
(3)MapObjects的基本组成
MapObjects由一个名为Map Contro的Active X控件和46个功能对象组成(韩鹏,2004)(图3-3)。其中Map Control中包括15个消息、24个方法和40个属性设置函数,而这46个对象按功能可为六大类,主要如下。
图3-3 MapObjects组成图
1)数据访问对象:存取地图数据库的一组对象。提供了对Arc/Info、ArcSDE、Arc⁃View的Shape等空间图形数据和多种图像数据的访问支持,借助空间数据库访问对象,用户程序可成为客户端的空间数据浏览器。并提供了外部数据库连接访问对象,如Dbase、ODBC等;
2)地图显示对象:用来显示电子地图和符号化地图要素的一组对象,包括定义了控件视图窗口的消息响应函数(如各类鼠标事件,利用该类对象可以实现热区查询、坐标显示等软件功能)和当前图层、前景颜色、背景颜色、滚动条、鼠标指针等属性,并定义了空间数据对象的符号、线型、颜色、标注的字体、尺寸等属性,使得空间数据对象能以规定的属性在控件视图窗口显示出来;
3)几何对象:提供了点、线、面3类表示图层要素互操作的空间数据对象;
4)投影对象:为地图或图层定义坐标系统和进行投影变换的一组对象;
5)地址匹配对象:提供了对地址的模糊查找、图形定位、地址匹配等功能;
6)实用对象:包括一个特殊的字符串对象Strings。
(三)系统测试与运行环境
1.C/S端硬件环境
客户端推荐配置:PⅢ450以上的CPU,内存128M、硬盘10G以上。
服务器端推荐配置:PⅣ1.8G以上的CPU,内存512M、硬盘80G以上。
2.软件环境
(1)操作系统
服务器端推荐使用Windows 2000 Server;客户器端推荐使用Windows 2000 Professional或Windows XP。
(2)数据库平台
AGEIS系统采用ArcSDE与SQL Server 2000共同管理数据的模式。
1)SQL Server 2000
关系数据库平台——SQL Server 2000具有从小的部门网络到企业级网络的可伸缩性,采用客户机/服务器体系结构,满足系统数据存储、安全性以及功能性能的可扩展性等优点,是当前应用最广泛的数据库平台,与VB开发工具有很强的耦合性,是最适合的数据库平台。
SQL Server虽然没有扩展对空间数据类型的支持。但是它的二进制类型,即所谓的Image字段,可以完全管理复杂的二进制数据流。在GIS应用中,都需要这些二进制流来表达复杂的空间矢量要素及非空间数据。实践证明,SQL Server的二进制类型同其他企业级RDBMS一样,具有稳健、灵活和高效的优点。
SQL Server具有技术完整性、灵活性和开放性特点。对数据的查询、分类、汇总是直接进行的,提供了其他方式所无法比拟的查询效率。
2)ArcSDE 8.3
ArcSDE(空间数据库引擎)是ESRI公司针对空间数据的存储问题推出的一套空间数据库管理软件。通过ArcSDE,用户可以将多种数据产品存储于商用数据库系统中,并获得高效的管理和检索服务。
ArcSDE作为空间数据的引擎,充当了客户端和服务器端的中间件,可以屏蔽不同操作系统和数据库系统的差异,使面向特定领域(如空间数据管理及应用)所需的技术得以实现,供不同的客户端高效地共享和互操作。