APP下载

三维数字农场信息管理平台的研究与应用

2019-08-22段芃芃

计算机技术与发展 2019年8期
关键词:数据表纹理农场

段芃芃,刘 锂

(成都理工大学 工程技术学院,四川 乐山 614007)

0 引 言

三维数字化农场[1]可以真实反映所有动物、农作物等的信息,可以实时监测农作物和动物的生长情况。然而,三维数字化农场需要的三维模型多、地形数据处理难、空间数据量大、数据表复杂、数据检索速度慢、后续扩展困难等问题,极大地限制了三维数字化农场的发展。因此,结合好三维模型和三维地形、融合各个层次的数据以及优化数据检索是实现三维数字化农场的关键。三维农场中所有动物内容显示与农场实地完全一致,管理者可在地图上不同区域显示动物信息、智能查询监测的动物信息等,管理者可足不出户地检查动物的健康状态和生长情况等,可以在农场主展区以园区VR引导的方式高效立体向客户进行三维展示,增强农业产业园的市场竞争力。这也将是智慧农业信息化发展的新趋势[2]。在农业信息化管理、农业信息化监测,以及三维地形建模和三维农场的三维虚拟系统等方面,国内学者已经开展了诸多研究,建立了多个系统平台。例如,基于ArcGIS三维地形可视化及其应用研究(刘阳,2009),基于VRP的三维农场游戏的动态显示(王洋等,2011),基于VRP的虚拟农场设计与实现(郑鹤成等,2012),等等,为三维虚拟农场的建设提供了研究方向和技术支持。戴建国等(2012)研究了基于国营农场规模化农业生产模式下作物生产信息管理系统,融合RS和GIS技术,提供了农业信息采集、录入、管理、统计分析等功能。程晓蕾等(2017)研究了实时监控和决策的农场信息管理系统,提供了农场信息的实时监测和决策分析。王慧(2011)研究了农场农业资源管理服务信息系统。李宁(2017)研究了GIS管理智慧农场,研究了农场信息分析、决策和统计。

目前大量的研究表明,并没有关于三维数字农场的信息管理方面的研究,相关的报道非常少,而且也缺乏相关的技术方案。因此,文中以三维数字化农场信息平台的建设为研究点,对平台的设计、三维虚拟系统的构建、数据融合以及数据检索进行分析和研究。从传统的农业发展方式到三维数字化农场的实现,对三维虚拟系统[3]、多维数据融合[4]和数据检索优化[5]关键技术进行了研究。结合空间信息数据、三维模型数据、三维地形数据,提出三维虚拟系统的快速、高效的实现方法;将多个层面的分散信息数据进行有效整合,动态管理,建立一个便于后续扩展和系统实现的数据库平台;对复杂的数据库平台进行数据的检索优化,提升数据显示和系统响应的速度。

1 三维虚拟系统

三维虚拟系统的实现主要包括遥感影像数据正射纠正、矢量化二维数字地图、地图空间配准、三维地表数据建模、三维建筑和农作物建模、纹理数据处理、属性数据处理等,采用ArcGIS、SketchUP和SuperMap技术平台进行快速实现。

(1)三维地表数据模型。

遥感影像数据和DEM的紧密结合,完成地形数字化的真实表达[6]。DEM特征提取中主要包括地形特征和水系特征的提取。通过遥感影像数据和DEM数据的正射纠正,得到正射影像数据作为三维地表建模的基本数据,可以制作高精度的三维地表模型,通过纹理数据的贴图可以达到逼真的效果。

(2)二维数字地图处理。

二维数据矢量化的实质是将一幅原始的影像图的点通过某种方式进行扫描读取再转换为二维的坐标保存下来。经过矢量化后的数据就是二维数字地图,可以直接作为三维建筑中的基础数据来使用。但这些数据不具备高程值,导致二维数据无法在三维场景中进行显示,而且坐标数据也有一定的偏移。为了使二维数字地图数据可以跟空间信息以及三维信息完全贴合,就需要进行一些处理。首先是进行空间配准保证坐标数据的吻合;其次是基于纹理的方法进行处理,通过读取矢量数据,将二维数字地图数据转化为纹理图像,在地形绘制时采用纹理映射的发法进行绘制,完成二维数字地图数据和三维地形的融合[7]。

(3)纹理数据处理。

在三维数字化农场的建设中,纹理图像主要包括在地貌地形上以及建筑物各个可以进行显示的面上的一个展示。对于纹理数据,可以从实际自行拍摄的照片进行处理,或者从专业的摄影图中根据需要将照片处理成不同类型的图像,还可以直接从已经入库的库存里按需要来提取获得、通过分形产生的纹理等[8]。

(4)属性数据库建库。

属性数据采集内容包括:(1)顶面贴图图片、侧面贴图图片、地物名称、建筑物层数、农作物等;(2)道路宽度、公路等级等;(3)植被的名称、种类、高度等;(4)其他模型对应的名称、贴图等。

(5)二、三维数据联动。

二、三维数据联动的关键在于地表模型和二维数字地图数据的无缝融合[9],使得坐标数据和高程数据一一对应。三维地表模型和二维数字地图一一对应,三维模型和纹理数据通过坐标点进行导入,保证了二维坐标和三维模型的对应。二维数字地图数据、纹理数据、三维模型数据和三维地形地表模型一体化显示,实现了三维农场虚拟系统。

2 多维数据融合技术

三维农场数据库设计是系统实现的关键。由于农场的动物数据复杂、空间信息复杂、模型纹理数据多、品种多,物种数量多,信息量大,数据关联性复杂等,在数据管理上面临了很多问题,如数据库设计困难、信息交互性差、数据查询繁琐、数据表冗余、多维数据融合难度大等。

三维农场的动物数据包括三维模型、纹理数据、空间坐标信息、编号、分类以及各个生长时期详细的喂养情况等。通过对数据量的分析,三维数字农场数据信息属于大数据的范畴,采用传统的数据库的思想设计,造成数据表冗余、数据表之间的关联度复杂,从而导致数据查询效率低,信息交互性差,数据响应速度慢。不便于数据量的后续扩展。

文中根据“大地图”、“大数据”的思想,为每个品种的饲养动物制定个性化数据库的解决方案,以农场的动物为个性化研究对象,进行数据库的逻辑设计,能够很好地解决系统的需求。在当今的大数据发展中,大数据和个性化设计是用户体验的未来。个性化设计更依赖于大数据。因此,根据对农场动物的各种数据记录、三维模型、纹理数据、空间信息,突出个性化设计与大数据之间的交互。具体的设计过程如下:

首先是针对三维农场中饲养动物的各种属性信息数据进行归类划分,进行动态管理,分别建立相应的数据库和数据表。如:将抽象复杂对象具体化为数据信息,分类为模型、纹理、坐标信息、农场信息、生长情况、饲养情况等,建立三维模型的数据表、纹理数据表、坐标信息数据表、农场信息数据表等。

经过分类建库后,复杂的信息数据结构和层次变得清晰,而且便于后续扩展和数据海量增长的动态管理。此后只需要建立一个农场动物与其对应的各属性数据模块之间的逻辑关系,完成动态属性数据的动态管理。具体设计如图1所示。

图1 三维数字化农场数据管理平台

完成了动态属性数据的动态管理后,设置个性化数据库,将每个动物对应的编号与动态属性数据进行关联,获取对应的数据信息,便于数据信息在三维数字化平台上进行显示。这样的设计方法既可以将复杂的信息进行简化分类管理,也便于数据较好的展现,并能充分体现出各个农场动物的个性化生长特征和生长情况,同时也便于信息检索。

3 数据检索优化

系统涉及的数据表较多,数据量较大。数据的访问和检索,直接影响系统的响应速度和数据的精确度。因此需要对数据库的检索进行优化。从图2可以得知,每一个动物对应多个数据表,因此采用传统的逻辑关联的思想:多表之间的级联查询。假设满足所有动物的属性数据要求需要n个表,则需要建立n个数据表。若从n个数据表中获取信息,则需要采用连接运算符JOIN。

下面分析JOIN的原理以及查询的时间开销。假如要对4个表进行信息查询,需要进行3次连接,SQL语句如下:

SELECT*from A,B,C,D WHERE

A.ANIMAL_ID=B.ANIMAL_ID

AND A.ANIMAL_ID=C.ANIMAL_ID

AND A.ANIMAL_ID=D.ANIMAL_ID

该语句可能采用的数据表连接情况如图2所示。

图2 连接查询执行过程

在数据库中,JOIN的连接方式有3种,分别是哈希、合并、嵌套。每个连接有三种可能性,总共有34种可能性。如果是10次连接,则可能性是310种,依次推出n次连接,为3n种可能[10]。

数据库查询优化器中,提供了多种算法,优化器真正的工作是在有限时间里找到一个好的解决方案[11]。

常见的是动态规划,在小规模的查询中,很可能采用动态规划算法[12],它的处理方式如图3所示,时间复杂度为O(3n)。

贪婪算法,即逐步寻找最佳算法,先处理一条JOIN,接着每一步按照同样规则加一条新的JOIN。比如一个针对4张表(A,B,C,D)3次JOIN的查询,为了简化把嵌套JOIN作为可能的连接方式,按照使用最低成本的连接规则,直接从4个表里选一个开始(比如A)。计算每一个与A的连接(A作为内关系或外关系),发现“A JOIN B”成本最低,计算每一个与“A JOIN B”的结果连接的成本(“A JOIN B”作为内关系或外关系),发现“(A JOIN B) JOIN C”成本最低,计算每一个与“(A JOIN B) JOIN C”的结果连接的成本,最后确定执行计划“(((A JOIN B) JOIN C) JOIN D)”。这样该算法的时间复杂度为O(N*logN)。

数据库查找,执行类似SELECT*from A WHERE ANIMAL_ID=“10 091”这样的SQL语句时,查询的时间复杂度为O(1),将多个级联查找的方式,转换为多个单表简单查询,就可以将时间复杂度降到N*O(1),也就是O(N)。

文中通过建立一套数据检索表的方法,避免了表之间的连接查询,将多个级联查找简化为多个单表的数据查询。将查询的时间复杂度降到O(N)。具体的设计如图3所示。

图3 数据检索优化设计

哈希表是根据关键码值而直接进行访问的数据结构,通过把关键码值映射到表中一个位置来访问记录,以加快查找速度[13]。根据该特点,可以使用哈希表来对数据进行降维,从而简化数据的结构,便于数据快速处理。

图4中的哈希表字段的值由0和1按照一定的序列组成,该序列也是动物对象对应每张个性数据表的排列序列,反映对应了数据表的情况。其中值为1表示含有该数据表,0表示不含该数据表。这样就可以将每个动物所需要对应的数据表,通过哈希表的序列得出。获取对应的数据时,只需要对每个数据表进行单个查询,这样最坏情况下的查询复杂度为O(N)。

针对O(N)和O(n*logn)可以测算出,当处理2 000条数据时,O(n)会消耗2 000次运算,O(n*logn)会消耗约14 000次运算;当处理1 000 000条元素时,O(n)会消耗1 000 000次运算,O(n*logn)会消耗14 000 000次运算。通过比较,随着数据量的增大,O(n)比O(n*logn)快20倍左右。

对于普通的数据库级联查找时间复杂度为O(3n),显然不适合对农场未来海量数据的扩展方式,采用优化的级联查找最好的情况为O(N*logN),也比O(N)慢近20倍的速度。通过优化检索机制,将时间复杂度降到了O(N)。对于当今处理器每秒可处理上亿次的运算,对于海量数据,处理时间在毫秒级~秒级之间,该时间复杂度适合海量数据的扩展。

4 系统实现与数据分析

4.1 系统实现

文中研究的平台立足于创新生态、低碳、循环、智慧的农业产业园。目前在四川省乐山市某农场在奶牛、鸡、鸭和猪等动物的饲养情况和健康状况监测方面成功进行了数据测试,检测内容包括动物区域分布管理、饲养情况、健康状况及三维场景漫游、动物精确定位等,同时还提供了模拟规划功能[14-15]。针对不同用户的浏览方式,系统实现了从任意图层或者任意角度对地貌地物的三维浏览,提供了多种三维漫游和浏览方式。用户在网站页面点击查询功能,并选择相应的动物类型、饲养周期、动物特点等查询条件后,系统将符合该查询条件的所有数据以列表形式进行展示,用户点击任何一个动物,即可进行三维定位以及空间属性信息的展示。系统提供了农场区域的查询,通过查询不同的区域,显示不同区域动物的情况。

图4 三维农场展示

图4(a)展示了系统三维漫游的效果。系统三维漫游提供了多种智能的、高效的、个性化的漫游方式。三维场景中选择打开场景,就可以看到整个数字化农场的全景,可以选择不同物种,可以选择不同区域,可以根据属性的不同有规律地选择对同类物种进行同时漫游的过程,可以自定义路线等多种方式进行三维场景的漫游。

图4(b)展示了区域检索、区域三维场景展示、基本信息展示、区域定位以及区域管理等功能。通过对农场区域的选择,或者区域的查找,系统根据分区的中心坐标位置,对该区域行定位,实现三维可视化场景的展示、定位和近景转换。可以快速定位到查询区域的图层,对查询区域进行近景观看,实时了解农场植被、生物的生长情况;通过选择漫游可以将整个农场进行局部细致的查看,了解每个地块、地物的属性特征以及生长情况。

4.2 数据分析

文中对该系统进行了具体数据的测试,测试内容包括三维模型、个性化数据表、数据记录项和动物种类,如表1所示。

表1 测试数据内容

测试计算机为四核处理器,CPU为Intel Core i5-4590 3.30 GHz,内存8 G。系统响应时间测试包括了三维模型加载时间、数据信息加载时间和动物属性查询,如表2所示。

表2 系统响应时间 s

从表2可以看出,三维模型加载时间较长,由于采用的是普通性能的PC机,而且模型数量有5 300多个,三维加载花费的时间较长。通过个性数据索引表的建立,优化了整个查询系统,在进行所有动物数据信息加载时,其实加载的只是个性数据索引表,包含了编号、坐标以及个性数据哈希表,完成加载只用了3 s,简化了数据加载,提升了系统速度。在进行动物属性查询时,采用了优化查询,完成时间为0.3 s。

在三维数据加载、多维数据的融合以及数据检索的优化方面,通过实验测试和数据分析,文中设计的三维数字化农场,在系统响应方面体现了较好的效果,从系统响应时间上来看,满足了后续大数据的扩充。

5 结束语

结合了GIS技术、三维建模技术、多维数据融合技术、数据检索技术实现了三维数字化农场信息管理平台,实现了三维展示和漫游、三维GIS、动态属性查询分析等功能,推动了三维数字农场信息化的发展。采用ArcGIS、SketchUP和SuperMap技术平台的三维虚拟技术,高效、快速地实现了三维虚拟系统;采用多维数据融合技术,对零散、孤立、复杂的数据信息进行了个性化的动态管理设计,有效整合了各类数据信息,建立了便于管理和数据操作的数据库平台;采用数据检索优化技术,通过分析多表数据查询的时间复杂度,设计个性化数据索引表,对数据进行降维,检索优化,使数据检索性能得以提升。实现了三维数字化农场的三维虚拟平台的立体化展示,三维数据与二维空间数据和关系数据的有机结合,三维动物的属性信息的快速查询;提高了农场的立体化展示、科学数据管理、动态监测和管理,有助于推动农业信息化与三维虚拟技术和GIS技术的快速深度融合发展。该技术为三维数字化农场技术的发展提供了技术参考和理论依据。

猜你喜欢

数据表纹理农场
农场假期
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于BM3D的复杂纹理区域图像去噪
湖北省新冠肺炎疫情数据表
农场
肺纹理增多是病吗?
TEXTURE ON TEXTURE质地上的纹理
一号农场
消除凹凸纹理有妙招!