基于vb的港口规划信息系统开发建设.docxVIP

  • 1
  • 0
  • 约3.45千字
  • 约 4页
  • 2023-09-07 发布于湖北
  • 举报

基于vb的港口规划信息系统开发建设.docx

基于vb的港口规划信息系统开发建设 港口规划包括两个方面:全球区域港口规划和港口总体规划。前者亦称区域港口发展规划或港口需求的战略规划;规划期常在20年,关乎全局,一般在较小比例尺地图上实现。后者亦为与特定城市新港(或新码头)建设相联系的港口实体规划,规划时限短,一般为5年,在一个较小的港口范围和岸线地段进行,在较大比例尺地图上实现,具有局部细致要求的特点。但不论何者,其所涉及的信息量都很大,且均具很强的空间属性——地理性。现有的港口规划多为规划期限短的港口建设总体规划,且以比较分散的方式来管理相关的规划资料,如用AutoCAD来绘制和管理规划图,用数据库软件管理各种统计数据等,这种分散的管理方式不利于决策者和管理者进行管理。 根据管理的需要,着眼于区域港口综合规划,作者利用VB和MapX控件相结合,对福建省港口规划信息系统建设做出初步尝试。 1 mapinfo二次开发应用 VB即Visual Basic的缩写,是一个32位的Windows应用程序集成开发环境,它提供了直观的开发界面、先进的程序设计思想,是目前比较流行的编程语言。MapX是MapInfo公司开发的一个基于ActiveX标准的GIS组件,它提供了丰富的二次开发功能,可满足大多数嵌入式GIS应用系统的需要,与MapInfo Professional内置的二次开发工具——MapBasic不同的是它可以脱离MapInfo的软件平台独立运行。MapX采用基于MapInfo Professional的地图化技术,它提供了一系列的对象模型,大量的属性、方法和事件,利用VB + MapX进行港口规划信息系统的建设,可以较为完善实现MapInfo Professional具有的绝大部分地图编辑和空间分析功能。 2 主窗口和目录树 港口规划信息系统主要包括4个部分:地图管理、数据库管理、文档和视频资料管理。系统界面主要包括主窗口、树形目录窗口和鹰眼图窗口(图1)。系统以类似于Windows资源管理器的目录树,按照沿海市级行政区域分级进行组织管理(图2),主窗口所显示的内容,根据所选择的目录树节点内容在地图视图、文档视图和数据库视图间进行自动切换。目录树节点可根据需要进行添加、修改或删除等操作。 2.1 数据库管理技术 文档资料管理相对比较简单,与数据库管理安排在同一目录下,主要以*.doc、*.rtf和*.txt等文件格式存储,可对文档进行编辑修改等操作。 数据库管理是在VB开发环境下,通过ADO对象连接至Access数据库,ADO对象能够通过OLEDB提供者访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小,具有较大的灵活性,既可以在Access中管理数据库,也可直接在系统中对同一数据库进行操作,保证数据的同步性,同时在系统中还实现对数据库的不同统计分析功能,并可制作各种统计图(图3、图4)。 2.2 基础地理图层 地图管理主要以MapX控件嵌入至VB中进行开发设计,对图层的管理以类似MapInfo Professional的工作空间的*.gst文件进行管理。港口规划信息系统图层主要包括基础地理图层和规划图层两大部分,区域港口现状(包括地理位置、主要功能、腹地划分、社会经济发展环境)、自然条件(海岸地质地貌、海域水文、风况、等深线分布等)、水陆集疏运状况等与港口规划相关的要素为基础地理图层,规划图主要包括全省的港口规划图,图层以点、线、面、注记的形式存储,各图层具有相应的属性数据库。 在目录树管理中,按照全省沿海各市级行政区域组织管理地图,各地市子节点显示的是市域范围内各港口的规划图,该节点可以自动增加,即凡有新的港口规划图图层增加至*.gst文件后,相应子节点也会自动增加该规划图的名称,可以选择节点前的复选框确定是否让该图显示(图2),这类似于图层控制中的可视性选择开关,这样设计重点突出港口规划图,使得操作更加直接方便。 2.2.1 mapx控制软件设计 图层的常规管理包括对地图的放大、缩小、移动,以及图层控制、距离面积量算、投影转换,增加、修改、删除对象等操作,MapX控件对图层常规管理已有较完整的设计,通过简单的编程即可实现这些功能。 2.2.2 航道疏浚及设备布置 缓冲区分析是针对点、线、面对象,自动建立其周围一定范围内的缓冲区域,然后利用图层叠置分析功能进行下一步的分析。例如对进港航道的设计,可以对预选航道中心线对象生成缓冲区,用于分析航道区域海底地形、水深条件是否适合,是否需要对航行障碍物进行清除,是否需进行航道疏浚以及为导航标志配布提供参考等(这在新港总体规划类型用得较为具体)。缓冲区的生成可以用MapX的FeatureFactory.BufferFactory变量,然后使用BuffreFeatures方法:Featur

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档