基于土地调查的地类样本库可视化管理系统设计与实现

2022-04-29 00:44李刚
计算机应用文摘 2022年11期
关键词:可视化样本数据库

摘要:在土地调查中,遥感图像存在同谱异物和同物异谱现象。文章以青岛市不同区域为研究对象,对其地类进行拍摄及区分纹理,制作地类图册,建立地类样本库。基于ArcGIS Engine技术、GIS组件技术开发应用程序,以第三次全国土地调查为依托,文章构建了一个地类样本库可视化管理系统。

关键词:ArcGIS;地类样本库;管理;分析

中图法分类号:TP315文献标识码:A

Design and implementation of visual management system of land sample database based on land survey

LI Gang

(Hefei Surveying Mapping Design &Research Institute, Hefei 230001,China)

Abstract: In land survey, remote sensing images have the phenomenon of homogeneity and heterogeneity. This paper takes different areas of Qingdao as the research objects, takes pictures of the land types and distinguishes their textures, makes a land type atlas, and establishes a land type sample database. The developed software based on ArcGIS Engine technology and GIS component technology relys on the third national land survey, and the paper constructs a visual management system of land sample database.

Key words: ArcGIS, geographic sample base, management, analysis

1  引言

遥感图像存在同谱异物和同物异谱现象,严重影响了遥感影像的现场解译与判读[1]。在第三次全国土地调查的内、外业工作过程中,由于工作人员对不同地类认定的标准和尺度不同,因此对于同一遥感图像纹理的现场解译存在或多或少的偏差。根据各个区域的地类特征,对青岛市各个地区的样本地类图斑进行拍摄,对样本数据入库并建立地类样本库,我们开发了一个地类样本库可视化管理系统,供第三次全国土地调查的内、外业工作人员以及核查工作人员进行集中学习与地类认定培训,以提高第三次全国土地调查的数据成果地类判读质量。

2  系统技术及框架设计

2.1  技术框架

2.1.1  开发环境

系统以 C#语言和 Visual Studio 2012为开发环境。 C 语言和 C++语言派生出了 C#这种面向对象的、简易的、类型安全的和现代的编码语言。C#语言具有与 Web 紧密结合、兼容性强和语法简洁、便于开发等特点;Microsoft Visual Studio (简称 VS)则是微软推出的一系列产品。

2.1.2  数据库

系统采用 MySQL 数据库存储地类样本数据以及遥感影像,采用地理空间数据库(Geodatabase)存储空间数据和对应的属性数据[2]。来自瑞典的 MySQL AB 公司研发了 MySQL 数据库,其属于 Oracle 的一个关系型数据库[3] ;Geodatabase 则是一个使用常规关系数据库技术来表示地理信息的数据模型,其支持在标准数据库管理系统(DBMS)表中存储和管理地理信息,主要通过要素类、数据集和对象类三种不同的形式进行数据的保存。对象类是一种可以在地理数据库中保存非空间数据的表。要素类和要素数据集不相关。当要素类在保存拓扑要素时应该保存于元素数据集中,目的是确保公共空间引用。

2.1.3  开发平台

.NET Framework 是微软推出的一个编程平台,也是一个完整的 Windows 组件,支持构建、部署和运行下一代应用程序和 Web 服务,提供了一个高效的、基于标准的、多语言的环境,将现有的应用程序与下一代应用程序和服务集成在一起,并支持 Internet 规模的应用程序的快速部署和操作。

2.2  数据库设计

2.2.1  数据库平台选取

数据库是一个存储数据的存储库,能够根据数据的不同结构组织来存储和管理数据。基于文献资料,在设计数据库时有四种参考类型,即平面型、网络型、层次型和关系型。

MySQL 数据库就是关系型数据库的代表,拥有体积小、总体成本低、开源等特点,支持多种操作系统,提供的接口支持多种语言连接操作。MySQL 数据库拥有一个快速、稳定的基于线程的内存分配系统,可以连续使用,而不用担心它的稳定性。同时,MySQL 数据库提供了多样性界面供用户选择,包括命令客户机、浏览器和编程语言接口,如 C++,Java,PHP 和 Python。

2.2.2  数据库设计原则

数据库在系统中占据核心地位,在设计数据库时应考虑系统的工作效率和稳定性[4]。所以,為保证系统能够良好运行,在设计数据库时应该遵循下列原则。

(1)命名规范:为使系统适应不同的数据库,因此各种对象命名长度不超过30个字符,同时字段名称应该有实际意义,便于工作人员理解与编程。

(2)数据的一致性和完整性:在设计系统时,应保持数据的完整性和一致性,即数据的主属性不能是空值。但是,为了增加系统的反应时间,应使数据有合理的冗余。

(3)扩展性:某些数据表有可能会随着系统的升级而发生改变,在设计数据库的过程中应该充分考虑这一因素。

2.2.3  数据表设计

依据实际需求,平台设计了地类数据表、坐标数据表、人员信息表(包括数据采集人员、平台管理人员)等,具体如下:(1)地类数据表,包括地类名称信息、地类编码信息等;(2)坐标数据表,包括坐标数据、点位 id、地类编码等。

2.3  关键技术

2.3.1   ArcGIS Objects SDK for .NET

ArcGIS Objects 是 ESRI 公司 ArcGIS 系列产品的开发平台,基于 Microsoft COM 技术而构建,面向的是 GIS 开发人员。ArcGIS Objects 具有很强的开放性和可扩展性。开放性体现在开发环境的选择方面, ArcGIS Objects 可以在 VBA,VB 和.NET 等多种支持 COM 标准的语言工具中进行开发;可扩展性是指对 ArcGIS Objects 组件没有提供的功能进行补充。

2.3.2  数据访问技术

可以使用各种数据访问方法或技术使客户机能够访问服务器和 ADO.NET 。它提供了一系列方法来支持对数据源的访问,并可以让 OLEDB 和 XML 等不保密的数据源进行一致访问,数据客户机应用程序可以使用ADO.NET 连接、查询、添加、删除和更新相关数据。

2.4  平台结构

平台采用 C/S 架构;后台采用主流的 MySQL 關系型数据库完成数据的存储工作;前端以 C# Windows 应用程序为客户端。平台的架构体系主要分为三层,即数据层、服务层和应用层。

(1)数据层由地类数据库和空间数据库构成,是软件系统的数据基础,为平台提供地类样本数据和空间位置数据。

(2)服务层负责处理桌面端的地图服务请求、数据修改请求和空间分析请求,从数据层中读取数据并进行相关地图操作,执行空间分析,并将结果呈现在用户界面。服务层主要由地图服务、坐标转换、空间查询、空间分析、数据输入输出组成。

(3)应用层是系统与用户进行交互的纽带,也是平台的入口。根据用户需求,主要提供遥感影像操作、地类查询、实地照片查看等功能。

2.5  平台功能模块

系统功能包括空间数据的浏览、地类查询和实地照片显示;GIS 的基本功能包括:地图放大、缩小等。功能模块如图1 所示。

2.5.1  数据管理模块

(1)数据导入:支持 shape 文件、遥感影像、excel 表格和照片的导入。

(3)地类查询:支持对各种地类的查询、显示实地照片以及遥感影像上有该地类的矢量边界。

(5)图层管理:支持图层控制,可以进行图层开关、图层叠加、显示顺序调整等操作。

2.5.2  数据可视化模块

(1)显示矢量和影像数据:支持显示Mxd文档里的地图和影像以及导入的图层和影像。

(2)显示实地拍摄照片。

2.5.3   GIS 基本功能模块

系统的基本功能包括地图的测量功能、图层的显示功能、属性的查询功能等。地图的常规操作功能包括对遥感影像的放大、缩小、移动、复位、更新等。查询功能即通过地类目录树对各种地类进行查询。测量功能可以对所显示的地类图斑的面积、长度等进行测量。

3  系统实现

3.1  平台研发与集成

3.1.1  平台研发流程

在进行系统开发时常用到的两种方法为生命周期法和快速原型法。其中,生命周期法是指按照生命周期原理来开展开发工作。在使用生命周期法开展开发工作时,每一个阶段的开发任务和目标都是提前确定的。在开发系统时要遵循一定的顺序和标准,用户不参与系统的开发和实现过程。快速原型法建立在生命周期法之上,是生命周期法结构化的结果。其主要原理是:首先,建立一个原型来反映客户的各种不同需求,客户据此能够看到系统全貌,可以更加直观地对系统做出评价,进而获得更加客观、全面的修改意见,最后搭建出全新的系统供用户使用。平台研发流程如图2 所示。

3.1.2  平台集成

运用 C#语言进行编程,在 Visual Studio 2012软件中的 Windows 窗体应用程序进行实际的开发工作。将 GIS 组件、数据管理模块、数据可视化模块、GIS 基本操作功能模块等集成到一个框架下,并以此框架为基础实现与 MySQL 数据库的互联,最终构建了地类样本库可视化管理系统。

3.2  界面设计

3.2.1  界面设计规范

要保证界面整体结构合理,能够简单地调整地图窗口的尺寸并以最大页窗口显示地图。蓝色和白色的结合象征着和平、安全、技术和舒适。导航主题的颜色是黑色,具有突出重心、突出平衡的作用。在界面设计和操作中,我们不仅注重美观和实用性,更重视产品的基本技术标准。接口左侧为数据目录树,右侧为功能目录,分辨率高。工具条在菜单条下方,菜单条包括地图的基本操作功能。简单而美丽的图标充分体现设计师注重每一处细节。界面简单、实用并且美丽。在系统界面中,页面左侧是基本的 map 工具条,并且使用方便。地图显示在页面的中间,完整且美观。把地图放大地显示即可使操作变得方便。系统界面如图3 所示。

3.2.2  美学设计

系统界面要求操作方便,界面层各功能模块的功能完整、组织合理。在系统结构上不仅具备一般 GIS 软件系统的布局特点,同时在系统结构分布上采用“左?右 (功能模块?地图窗口)、“上?中?下 (系统标题、地图工具条、可视化页面)窗口全屏显示的方式,处处从用户操作便捷的角度考虑,以使本软件可以得到大力推广和广泛使用。系统的主体使用绿色,象征着理性、平和、纯洁、干净,可以体现出清晰、纯洁的主旨。

3.2.3  界面资源设计

界面资源包括图标资源、图像资源和界面组件。在地理信息系统中,通常利用在各种地图上图标,如放大、缩小、移动等图标。工具栏上的图标包括层信息打开、追加、放大、缩小、移动、全图显示、刷新、全畫面放大、全画面缩小、左移和右移等。

3.3  系统功能演示

3.3.1  数据的显示与控制

数据的显示与控制可以实现数据的加载功能,并对加载出的数据进行操作与控制。在本系统中,打开系统主界面即可显示样本照片,可以通过选择工具栏中的“ Add  Data ”按钮,添加数据对话框,可以对 Shapefiles ,Geodatabase ,Raster,Server Data,Layer files 等数据进行加载。操作界面如图4 所示。

地图控制基于图形数据,包括地图缩放、地图全图显示、漫游、空间定位、地图刷新等 GIS 功能。在本系统中,可以在工具栏直接调用 ArcGIS Engine 组件库的工具实现地图控制。系统工具栏如图5 所示。

可以通过菜单栏的测量模块对图斑面积和长度等进行测量,如图6 所示。

3.3.2  数据可视化模块

利用样本数据可视化模块可以对各种地类进行查询,系统界面左侧为一级地类和二级地类目录树,用户可以根据自己的需求进行查询,查询后在右侧可视化窗口显示该地类图斑实地照片,并可以进行“下一张”“上一张”“旋转”等操作。样本可视化界面如图 7所示。

利用影像数据可视化模块,可以在点击完目录树中的图斑后,根据坐标数据在影像上的定位获取该坐标位置,供用户查看该地类图斑的遥感影像纹理。影像可视化界面如图8 所示。

数据可视化模块将实地照片与遥感影像完美地结合起来,供用户对各种地类进行查询和学习。

3.4  平台测试

对平台进行测试的目的是验证用户提出的需求是否都已得到满足,如果没有满足用户需求,就要找出平台存在的问题,从而获得解决问题的方法,最后加以解决,使平台更加完善。

3.4.1  测试种类

在软件开发阶段,可以将测试分为以下几个类别:(1)单元测试,又称模块测试,针对源代码实现的每一个最小单元进行正确性检测,检查每一个最小单元是否实现了设计的功能;(2)确认测试,目的是测试软件的功能与需求分析中的要求是否一致;(3)系统测试,当确认测试完成后,要对整个系统进行测试,目的是确定系统是否满足需求规范的定义。通过测试来找出与需求规范不同的部分,然后找到更加完善的解决方法。  3.4.2  测试结果

在开发平台的过程中,每开发一个小模块都要进行平台单元测试,目的是了验证平台每个模块的功能是否实现。当所有小模块完成测试,要将它们组合起来共同进行测试,查看相应功能是否实现,如导入数据的功能,包括选择数据的格式、导入数据;当一个功能完成开发,就要从该功能入手,验证系统是否实现了该功能,对该功能进行确认测试。最后,当系统设计总体完成,要进行系统测试,要根据需求分析中提出的每项要求进行检测,找出与需求分析不符合的地方,并进行解决,最终实现系统的完美运行。

4  总结

本文基于 ArcGIS Engine 技术、GIS 组件技术开发的应用程序,以第三次全国土地调查为依托,构建了地类样本库可视化管理系统。本文从地类样本管理的现状出发,针对相关问题进行研究,成果如下:(1) 研究组件式 GIS 开发原理。利用 ArcGIS Engine 软件设计与开发地类样本库可视化管理系统,实现系统的基本功能。(2)系统能够实现对各种地类的查询;建立了目录树,将相应一级类、二级类展示出来,供用户查询;能够根据用户查询请求,给出相应地类的遥感影像图片和现场照片;能定位影像所在位置,并给出该地类在影像上的边界范围。

参考文献:

[1] TD/T 1015?2018,地类样本图斑拍摄方法[ S].北京:自然资源部,2018.

[2] 刘明德,林杰斌.数据库设计与 Oracle 数据库应用教程[M].北京:清华大学出版社,2006.

[3] 谭俊.数据库审计系统中 MySQL 协议的研究与解析[M].北京:中国人民大学出版社,2005.

[4] 齐明松,赵志刚,王莉.基于 ArcGIS Engine 的地名地址数据库的实现[ J].测绘与空间地理信息,2013,36(9):108?110+113.

作者简介:

李刚(1993—) ,硕士,研究方向:地理信息系统软件开发与利用。

猜你喜欢
可视化样本数据库
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
用样本估计总体复习点拨
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
推动医改的“直销样本”
数据库
随机微分方程的样本Lyapunov二次型估计
数据库
数据库