CN113763508B - 一种基于虚拟引擎的矢量数据处理方法、装置及介质 - Google Patents

一种基于虚拟引擎的矢量数据处理方法、装置及介质 Download PDF

Info

Publication number
CN113763508B
CN113763508B CN202110995767.2A CN202110995767A CN113763508B CN 113763508 B CN113763508 B CN 113763508B CN 202110995767 A CN202110995767 A CN 202110995767A CN 113763508 B CN113763508 B CN 113763508B
Authority
CN
China
Prior art keywords
data
coordinate
point
virtual engine
edited
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110995767.2A
Other languages
English (en)
Other versions
CN113763508A (zh
Inventor
张明
何华贵
刘洋
郭亮
杨卫军
王会
粱智浩
周中正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Urban Planning Survey and Design Institute
Original Assignee
Guangzhou Urban Planning Survey and Design Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Urban Planning Survey and Design Institute filed Critical Guangzhou Urban Planning Survey and Design Institute
Priority to CN202110995767.2A priority Critical patent/CN113763508B/zh
Publication of CN113763508A publication Critical patent/CN113763508A/zh
Application granted granted Critical
Publication of CN113763508B publication Critical patent/CN113763508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Abstract

本发明公开了一种基于虚拟引擎的矢量数据处理方法、装置及介质,通过在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;选定所述轮廓线中的待编辑坐标点;获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。通过在虚拟引擎中编译GDAL库,完成数量数据的读取,通过编译后的虚拟引擎实时绘制轮廓线,并对轮廓线进行编辑,能够在矢量数据运行过程中高效、灵活地完成矢量数据的读取和编辑等处理。通过spline组件生成样条曲线后,通过关卡编辑器能够在编辑模式下快速、高效实现矢量数据的编辑。

Description

一种基于虚拟引擎的矢量数据处理方法、装置及介质
技术领域
本发明涉及计算机图形技术领域,尤其涉及一种基于虚拟引擎的矢量数据处理方法、装置及介质。
背景技术
矢量数据是一种重要的地理信息数据,它基于地理实体的空间信息和属性信息,凭借空间离散点的形式表达地图图形,通过记录坐标的方式,精确地表现点、线、面地理实体,地理实体的空间表达和空间分析大都依赖矢量数据进行。
虚幻引擎(Unreal Engine)是目前主流的游戏引擎之一,得益于虚幻引擎强大的3D创作能力,利用虚幻引擎搭建数字孪生平台成为一个重要的研究方向。
随着虚幻引擎在数字孪生平台应用的不断推进,在虚幻引擎中直接加载和编辑矢量数据成为了亟需解决的关键问题。但现有技术中缺少直接有效的方式加载和编辑矢量数据,在虚幻引擎中处理矢量数据困难且效率低下。
发明内容
本发明实施例提供一种基于虚拟引擎的矢量数据处理方法、装置及介质,通过编辑GDAL库的虚幻引擎高效率的实现矢量数据的处理。
本发明实施例提供一种基于虚拟引擎的矢量数据处理方法,所述方法包括:
在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;
使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;
选定所述轮廓线中的待编辑坐标点;
获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;
使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。
优选地,所述矢量数据包括:点数据、线数据和面数据;
所述坐标数据包括:坐标点和坐标点串,所述坐标点串包括若干具有顺序的坐标点;
所述在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据,具体包括:
在虚拟引擎中编译GDAL库,通过调用GDAL库提供的API函数加载矢量数据;
并读取所述点数据的坐标点,读取所述线数据的形状特征的坐标点串,读取所述面数据的面轮廓特征的坐标点串。
优选地,所述使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线,具体包括:
使用编译后的虚拟引擎提供的ULineBatchComponent类将所述坐标数据绘制成轮廓线。
作为一种优选方式,所述选定所述轮廓线中的待编辑坐标点,具体包括:
在所述轮廓线所在空间中任一位置新建一个操控点,获取所述操控点位置的操控坐标;
将所述操控点与所述轮廓线的坐标数据中的所有坐标点进行逐点对比,确定所述坐标数据中与所述操控点之间的距离最近的坐标点为预选点;
当所述预选点与所述操控点之间的距离小于预设的阈值时,将所述预选点确定为所述待编辑坐标点;
当所述预选点与所述操控点之间的距离不小于预设的阈值时,则再新建一个操控点,更新操控坐标,并比较所述阈值与最新的操控点和最新的预选点之间的距离,直到最新的预选点与最新的操控点之间的距离小于预设的阈值,将最新的预选点确定为所述待编辑坐标点。
优选地,所述获取目标数据,并根据所述目标数据编辑所述待编辑坐标点,具体包括:
当所述目标数据为一个目标坐标点时,使用所述目标坐标点替换所述待编辑坐标点;
当所述目标数据为目标删除指令数据时,删除所述坐标数据中的待编辑坐标点。
优选地,所述使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形,具体包括:
使用编译后的虚拟引擎提供的ULineBatchComponent类重新绘制编辑后的矢量数据的坐标数据的轮廓线,并实时生成编辑后的图形。
作为一种优选方式,所述方法还包括:
使用编译后的虚拟引擎将GDAL库读取的坐标数据输入到spline组件中,生成样条曲线;
将所述样条曲线加载到关卡编辑器中,通过所述关卡编辑所述样条曲线。
本发明提供的一种基于虚拟引擎的矢量数据处理方法,通过在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;选定所述轮廓线中的待编辑坐标点;获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。通过在虚拟引擎中编译GDAL库,完成数量数据的读取,通过编译后的虚拟引擎实时绘制轮廓线,并对轮廓线进行编辑,能够在矢量数据运行过程中高效、灵活地完成矢量数据的读取和编辑等处理。通过spline组件生成样条曲线后,通过关卡编辑器能够在编辑模式下快速、高效实现矢量数据的编辑。
本发明实施例还提供一种基于虚拟引擎的矢量数据处理装置,所述装置包括坐标数据读取模块、轮廓线绘制模块、待编辑坐标点选定模块、编辑模块和图形生成模块;
所述坐标数据读取模块用于在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;
所述轮廓线绘制模块用于使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;
所述待编辑坐标点选定模块用于选定所述轮廓线中的待编辑坐标点;
所述编辑模块用于获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;
所述图形生成模块用于使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。
作为一种优选实施例,所述矢量数据包括:点数据、线数据和面数据;
所述坐标数据包括:坐标点和坐标点串,所述坐标点串包括若干具有顺序的坐标点;
所述坐标数据读取模块具体用于:
在虚拟引擎中编译GDAL库,通过调用GDAL库提供的API函数加载矢量数据;
并读取所述点数据的坐标点,读取所述线数据的形状特征的坐标点串,读取所述面数据的面轮廓特征的坐标点串。
所述轮廓线绘制模块具体用于:
使用编译后的虚拟引擎提供的ULineBatchComponent类将所述坐标数据绘制成轮廓线。
优选地,所述待编辑坐标点选定模块具体用于:
在所述轮廓线所在空间中任一位置新建一个操控点,获取所述操控点位置的操控坐标;
将所述操控点与所述轮廓线的坐标数据中的所有坐标点进行逐点对比,确定所述坐标数据中与所述操控点之间的距离最近的坐标点为预选点;
当所述预选点与所述操控点之间的距离小于预设的阈值时,将所述预选点确定为所述待编辑坐标点;
当所述预选点与所述操控点之间的距离不小于预设的阈值时,则再新建一个操控点,更新操控坐标,并比较所述阈值与最新的操控点和最新的预选点之间的距离,直到最新的预选点与最新的操控点之间的距离小于预设的阈值,将最新的预选点确定为所述待编辑坐标点。
作为一种优选方式,所述编辑模块具体用于:
当所述目标数据为一个目标坐标点时,使用所述目标坐标点替换所述待编辑坐标点;
当所述目标数据为目标删除指令数据时,删除所述坐标数据中的待编辑坐标点。
作为一种优选方式,所述图形生成模块具体用于:
使用编译后的虚拟引擎提供的ULineBatchComponent类重新绘制编辑后的矢量数据的坐标数据的轮廓线,并实时生成编辑后的图形。
优选地,所述装置还包括:样条曲线生成模块和样条曲线编辑模块;
所述样条曲线生成模块具体用于使用编译后的虚拟引擎将GDAL库读取的坐标数据输入到spline组件中,生成样条曲线;
所述样条曲线编辑模块具体用于将所述样条曲线加载到关卡编辑器中,通过所述关卡编辑所述样条曲线。
本发明另一实施例提供了一种基于虚拟引擎的矢量数据处理装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的基于虚拟引擎的矢量数据处理方法。
本发明另一实施例提供了一种存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述发明实施例所述的基于虚拟引擎的矢量数据处理方法。
本发明提供的一种基于虚拟引擎的矢量数据处理方法、装置及介质,通过在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;选定所述轮廓线中的待编辑坐标点;获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。通过在虚拟引擎中编译GDAL库,完成数量数据的读取,通过编译后的虚拟引擎实时绘制轮廓线,并对轮廓线进行编辑,能够在矢量数据运行过程中高效、灵活地完成矢量数据的读取和编辑等处理。通过spline组件生成样条曲线后,通过关卡编辑器能够在编辑模式下快速、高效实现矢量数据的编辑。
附图说明
图1是本发明实施例提供的一种基于虚拟引擎的矢量数据处理方法的流程示意图;
图2是本发明实施例提供的一种基于虚拟引擎的矢量数据处理装置的结构示意图;
图3是本发明另一实施例提供的一种基于虚拟引擎的矢量数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于虚拟引擎的矢量数据处理方法,参见图1所示,是本发明实施例提供的一种基于虚拟引擎的矢量数据处理方法的流程示意图,包括步骤S1~S5:
S1,在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;
S2,使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;
S3,选定所述轮廓线中的待编辑坐标点;
S4,获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;
S5,使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。
在本实施例具体实施时,在虚幻引擎中对GDAL库进行编译,并通过调用GDAL库提供的API函数在虚拟引擎中读取矢量数据的坐标数据,坐标数据包含所述矢量数据的空间位置特征的坐标和属性码;
使用编辑后的GDAL库将读取的坐标数据实时绘制成轮廓线,所述轮廓线能够再现矢量数据的空间位置;
通过外部设备或直接通过数据输入的方式,选定所述轮廓线中的待编辑坐标点;
通过外部设备或直接通过数据输入的方式,获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;
使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形,完成矢量数据编辑后的实时再现。
本实施例在具体实施时,能够在运行时实现对矢量数据的读取和编辑。
其中,矢量数据是在直角坐标中,用x、y坐标表示地图图形或地理实体的位置和形状的数据。矢量数据一般通过记录坐标的方式来尽可能地将地理实体的空间位置表现得准确无误。
GDAL库(Geospatial Data Abstraction Library,跨平台的栅格地理数据格式库)是使用C/C++语言编写的用于读写空间数据的一套跨平台开源库。现有的大部分GIS或者遥感平台,不论是商业软件ArcGIS,ENVI还是开源软件GRASS,QGIS,都使用了GDAL作为底层构建库。
GDAL库由OGR和GDAL项目合并而来,OGR主要用于空间要素矢量数据的解析,GDAL主要用于空间栅格数据的读写。目前,GDAL主要提供了三大类数据的支持:栅格数据,矢量数据以及空间网络数据。
GDAL提供了C/C++接口,并且通过SWIG提供了Python,Java,C#等的调用接口。当我们在Python中调用GDAL的API函数时,其实底层执行的是C/C++编译的二进制文件。除了提供API函数方便开发人员自定义自己的功能之外,GDAL还提供了一系列实用工具,可以实现方便快速的空间数据处理。使用这些实用工具,结合Linux Shell脚本或者Windows批处理脚本能够进行大批量空间数据的批量处理。
本发明提供的一种基于虚拟引擎的矢量数据处理方法,通过在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;选定所述轮廓线中的待编辑坐标点;获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。通过在虚拟引擎中编译GDAL库,完成数量数据的读取,通过编译后的虚拟引擎实时绘制轮廓线,并对轮廓线进行编辑,高效、灵活地完成矢量数据的读取和编辑等处理过程。
在本发明提供的又一实施例中,所述矢量数据包括:点数据、线数据和面数据;
所述坐标数据包括:坐标点和坐标点串,所述坐标点串包括若干具有顺序的坐标点;
所述步骤S1具体包括:
在虚拟引擎中编译GDAL库,通过调用GDAL库提供的API函数加载矢量数据;
读取所述点数据的坐标点,读取所述线数据的形状特征的坐标点串,读取所述面数据的面轮廓特征的坐标点串。
在本实施例具体实施时,所述矢量数据包括:点数据、线数据和面数据;
点数据可直接通过坐标点的坐标值;线数据可用均匀或不均匀间隔的具有顺序坐标点串来描述;面数据(或多边形数据)可用面数据的边界线来描述,即同样用均匀或不均匀间隔的具有顺序坐标点串来描述边界线。
由于空间数据具有属性特征,表示实际物体或目标、现象的性质,和空间特征,表示物体或目标的空间位置,因此矢量数据使用一组坐标加上属性码来表示空间数据,因此本发明在具体实施时,也可同时提取出矢量数据的坐标点/坐标点串和属性码。
通过在虚拟引擎中编译GDAL库,调用后的GDAL库的API函数读取矢量数据的坐标数据,实现矢量数据的提取过程。
在本发明提供的又一实施例中,所述步骤S2具体包括:
使用编译后的虚拟引擎提供的ULineBatchComponent类将所述坐标数据绘制成轮廓线。
在本实施例具体实施时,通过编译后的虚拟引擎ULineBatchComponent类将提取出的坐标数据实时绘制成轮廓线,基于轮廓线能够便于高效的实现矢量数据的编辑。
在本发明提供的又一实施例中,所述步骤S3具体包括:
在所述轮廓线所在空间中任一位置新建一个操控点,获取所述操控点位置的操控坐标;
将所述操控点与所述轮廓线的坐标数据中的所有坐标点进行逐点对比,确定所述坐标数据中与所述操控点之间的距离最近的坐标点为预选点;
当所述预选点与所述操控点之间的距离小于预设的阈值时,将所述预选点确定为所述待编辑坐标点;
当所述预选点与所述操控点之间的距离不小于预设的阈值时,则再新建一个操控点,更新操控坐标,并比较所述阈值与最新的操控点和最新的预选点之间的距离,直到最新的预选点与最新的操控点之间的距离小于预设的阈值,将最新的预选点确定为所述待编辑坐标点。
在本实施例具体实施时,在所述轮廓线所在空间中任一位置新建一个操控点,可通过鼠标的位置作为操控点输入信号,即通过鼠标点击获取操控点获取所述操控点位置的操控坐标;
将所述操控点与所述轮廓线的坐标数据中的坐标点串进行逐点对比,计算每一坐标点与所述操纵点之间的距离,确定所述坐标数据中与所述操控点之间的距离最近的坐标点为预选点;
当所述预选点与所述操控点之间的距离小于预设的阈值时,将所述预选点确定为所述待编辑坐标点;
当所述预选点与所述操控点之间的距离不小于预设的阈值时,则通过鼠标再次新建一个操控点,更新操控坐标,并比较所述阈值与最新的操控点和最新的预选点之间的距离,直到最新的预选点与最新的操控点之间的距离小于预设的阈值,将最新的预选点确定为所述待编辑坐标点。
距离的阈值可手动输入,用于减少由于选择的坐标存在的误差,导致选择的待编辑点不准确,所述阈值可根据轮廓线上的坐标数据间的距离确定,当坐标数据间距离大,也可相应提高阈值;当坐标数据间距离小,需要设置相同等级,比坐标数据的间距要小的阈值,来确定能准确选中每个坐标数据。
通过获取操控点的坐标,并根据操控点的坐标确定待编辑坐标点,能够实现对轮廓线中任一点的编辑。
在本发明提供另一实施例中,所述步骤S4具体包括:
当所述目标数据为一个目标坐标点时,使用所述目标坐标点替换所述待编辑坐标点;
当所述目标数据为目标删除指令数据时,删除所述坐标数据中的待编辑坐标点。
在本实施例具体实施时,可通过目标数据来控制对待编辑坐标点的编辑;
所述目标数据可为目标坐标点或删除指令数据;
当所述目标数据为一个目标坐标点时,使用所述目标坐标点替换所述待编辑坐标点;
当所述目标数据为目标删除指令数据时,删除所述坐标数据中的待编辑坐标点。
可通过目标数据编辑待编辑坐标点,完成矢量数据的编辑或删除。
在本发明提供的又一实施例中,所述步骤S6具体包括:
使用编译后的虚拟引擎提供的ULineBatchComponent类重新绘制编辑后的矢量数据的坐标数据的轮廓线,并生成编辑后的图形。
在本实施例具体实施时,通过编译后的虚拟引擎ULineBatchComponent类重新绘制编辑后的矢量数据的坐标数据的轮廓线,并实时生成编辑后的图形,能够快捷展示边界后的矢量数据的图形效果,便于连续进行矢量数据的编辑。
在本发明提供的又一实施例中,所述方法还包括:
使用编译后的虚拟引擎将GDAL库读取的坐标数据输入到spline组件中,生成样条曲线;
将所述样条曲线加载到关卡编辑器中,通过所述关卡编辑所述样条曲线。
作为又一种矢量数据的编辑方法,本实施例具体实施时,可通过使用编译后的虚拟引擎将GDAL库读取的坐标数据输入到spline组件中,生成样条曲线;
并将样条曲线加载到关卡编辑器中,通过关卡编辑器拖动样条曲线的坐标点直接实现对矢量数据的编辑;关卡编辑器可以进入不同的编辑模式,以启用特定的编辑界面和工作流程,从而编辑特定类型的Actor或几何体的矢量数据。
通过编译后的虚拟引擎将GDAL库读取的坐标数据输入到spline组件中,生成样条曲线,再通过关卡编辑器进行矢量数据的编辑,编辑过程更加便捷、高效,但受限于需要采用关卡编辑器,在编辑模式下编辑。
本发明提供的一种基于虚拟引擎的矢量数据处理方法,通过在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;选定所述轮廓线中的待编辑坐标点;获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。通过在虚拟引擎中编译GDAL库,完成数量数据的读取,通过编译后的虚拟引擎实时绘制轮廓线,并对轮廓线进行编辑,能够在矢量数据运行过程中高效、灵活地完成矢量数据的读取和编辑等处理。通过spline组件生成样条曲线后,通过关卡编辑器能够在编辑模式下快速、高效实现矢量数据的编辑。
本发明实施例还提供一种基于虚拟引擎的矢量数据处理装置,所述装置包括坐标数据读取模块、轮廓线绘制模块、待编辑坐标点选定模块、编辑模块和图形生成模块;
所述坐标数据读取模块用于在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;
所述轮廓线绘制模块用于使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;
所述待编辑坐标点选定模块用于选定所述轮廓线中的待编辑坐标点;
所述编辑模块用于获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;
所述图形生成模块用于使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。
在本发明提供的又一实施例中,所述矢量数据包括:点数据、线数据和面数据;
所述坐标数据包括:坐标点和坐标点串,所述坐标点串包括若干具有顺序的坐标点;
所述坐标数据读取模块具体用于:
在虚拟引擎中编译GDAL库,通过调用GDAL库提供的API函数加载矢量数据;
并读取所述点数据的坐标点,读取所述线数据的形状特征的坐标点串,读取所述面数据的面轮廓特征的坐标点串。
所述轮廓线绘制模块具体用于:
使用编译后的虚拟引擎提供的ULineBatchComponent类将所述坐标数据绘制成轮廓线。
在本发明提供的又一实施例中,所述待编辑坐标点选定模块具体用于:
在所述轮廓线所在空间中任一位置新建一个操控点,获取所述操控点位置的操控坐标;
将所述操控点与所述轮廓线的坐标数据中的所有坐标点进行逐点对比,确定所述坐标数据中与所述操控点之间的距离最近的坐标点为预选点;
当所述预选点与所述操控点之间的距离小于预设的阈值时,将所述预选点确定为所述待编辑坐标点;
当所述预选点与所述操控点之间的距离不小于预设的阈值时,则再新建一个操控点,更新操控坐标,并比较所述阈值与最新的操控点和最新的预选点之间的距离,直到最新的预选点与最新的操控点之间的距离小于预设的阈值,将最新的预选点确定为所述待编辑坐标点。
在本发明提供的又一实施例中,所述编辑模块具体用于:
当所述目标数据为一个目标坐标点时,使用所述目标坐标点替换所述待编辑坐标点;
当所述目标数据为目标删除指令数据时,删除所述坐标数据中的待编辑坐标点。
在本发明提供的又一实施例中,所述图形生成模块具体用于:
使用编译后的虚拟引擎提供的ULineBatchComponent类重新绘制编辑后的矢量数据的坐标数据的轮廓线,并实时生成编辑后的图形。
在本发明提供的又一实施例中,所述装置还包括:样条曲线生成模块和样条曲线编辑模块;
所述样条曲线生成模块具体用于使用编译后的虚拟引擎将GDAL库读取的坐标数据输入到spline组件中,生成样条曲线;
所述样条曲线编辑模块具体用于将所述样条曲线加载到关卡编辑器中,通过所述关卡编辑所述样条曲线。
需要说明的是,本实施例中各个模块具体功能记载在上述基于虚拟引擎的矢量数据处理方法的实施例中,在本实施例中不作赘述。
参见图3,是本发明另一实施例提供的一种基于虚拟引擎的矢量数据处理装置的结构示意图。该实施例的基于虚拟引擎的矢量数据处理装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如道路中心线提取程序。所述处理器执行所述计算机程序时实现上述各个基于虚拟引擎的矢量数据处理方法实施例中的步骤,例如图1所示的步骤S1~S5。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述基于虚拟引擎的矢量数据处理装置中的执行过程。例如,所述计算机程序可以被分割成坐标数据读取模块、轮廓线绘制模块、待编辑坐标点选定模块、编辑模块和图形生成模块,具体功能不作赘述。
所述基于虚拟引擎的矢量数据处理装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于虚拟引擎的矢量数据处理装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是基于虚拟引擎的矢量数据处理装置的示例,并不构成对基于虚拟引擎的矢量数据处理装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于虚拟引擎的矢量数据处理装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于虚拟引擎的矢量数据处理装置的控制中心,利用各种接口和线路连接整个基于虚拟引擎的矢量数据处理装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于虚拟引擎的矢量数据处理装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述基于虚拟引擎的矢量数据处理装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明提供的一种基于虚拟引擎的矢量数据处理方法、装置及介质,通过在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;选定所述轮廓线中的待编辑坐标点;获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。通过在虚拟引擎中编译GDAL库,完成数量数据的读取,通过编译后的虚拟引擎实时绘制轮廓线,并对轮廓线进行编辑,能够在矢量数据运行过程中高效、灵活地完成矢量数据的读取和编辑等处理。通过spline组件生成样条曲线后,通过关卡编辑器能够在编辑模式下快速、高效实现矢量数据的编辑。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种基于虚拟引擎的矢量数据处理方法,其特征在于,所述方法包括:
在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;
使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;
通过外部设备输入或数据输入的方式,选定所述轮廓线中的待编辑坐标点;
获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;
使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。
2.如权利要求1所述的基于虚拟引擎的矢量数据处理方法,其特征在于,所述矢量数据包括:点数据、线数据和面数据;
所述坐标数据包括:坐标点和坐标点串,所述坐标点串包括若干具有顺序的坐标点;
所述在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据,具体包括:
在虚拟引擎中编译GDAL库,通过调用GDAL库提供的API函数加载矢量数据;
并读取所述点数据的坐标点,读取所述线数据的形状特征的坐标点串,读取所述面数据的面轮廓特征的坐标点串。
3.如权利要求1所述的基于虚拟引擎的矢量数据处理方法,其特征在于,所述使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线,具体包括:
使用编译后的虚拟引擎提供的ULineBatchComponent类将所述坐标数据绘制成轮廓线。
4.如权利要求1所述的基于虚拟引擎的矢量数据处理方法,其特征在于,所述选定所述轮廓线中的待编辑坐标点,具体包括:
在所述轮廓线所在空间中任一位置新建一个操控点,获取所述操控点位置的操控坐标;
将所述操控点与所述轮廓线的坐标数据中的所有坐标点进行逐点对比,确定所述坐标数据中与所述操控点之间的距离最近的坐标点为预选点;
当所述预选点与所述操控点之间的距离小于预设的阈值时,将所述预选点确定为所述待编辑坐标点;
当所述预选点与所述操控点之间的距离不小于预设的阈值时,则再新建一个操控点,更新操控坐标,并比较所述阈值与最新的操控点和最新的预选点之间的距离,直到最新的预选点与最新的操控点之间的距离小于预设的阈值,将最新的预选点确定为所述待编辑坐标点。
5.如权利要求1所述的基于虚拟引擎的矢量数据处理方法,其特征在于,所述获取目标数据,并根据所述目标数据编辑所述待编辑坐标点,具体包括:
当所述目标数据为一个目标坐标点时,使用所述目标坐标点替换所述待编辑坐标点;
当所述目标数据为目标删除指令数据时,删除所述坐标数据中的待编辑坐标点。
6.如权利要求1所述的基于虚拟引擎的矢量数据处理方法,其特征在于,所述使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形,具体包括:
使用编译后的虚拟引擎提供的ULineBatchComponent类重新绘制编辑后的矢量数据的坐标数据的轮廓线,并实时生成编辑后的图形。
7.如权利要求1所述的基于虚拟引擎的矢量数据处理方法,其特征在于,所述方法还包括:
使用编译后的虚拟引擎将GDAL库读取的坐标数据输入到spline组件中,生成样条曲线;
将所述样条曲线加载到关卡编辑器中,通过所述关卡编辑所述样条曲线。
8.一种基于虚拟引擎的矢量数据处理装置,其特征在于,所述装置包括坐标数据读取模块、轮廓线绘制模块、待编辑坐标点选定模块、编辑模块和图形生成模块;
所述坐标数据读取模块用于在虚拟引擎中编译GDAL库,并调用GDAL库读取矢量数据的坐标数据;
所述轮廓线绘制模块用于使用编译后的虚拟引擎将所述坐标数据实时绘制成轮廓线;
所述待编辑坐标点选定模块用于通过外部设备输入或数据输入的方式,选定所述轮廓线中的待编辑坐标点;
所述编辑模块用于获取目标数据,并根据所述目标数据编辑所述待编辑坐标点;
所述图形生成模块用于使用编译后的虚拟引擎实时生成编辑后的坐标数据的图形。
9.一种基于虚拟引擎的矢量数据处理装置,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的基于虚拟引擎的矢量数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的基于虚拟引擎的矢量数据处理方法。
CN202110995767.2A 2021-08-27 2021-08-27 一种基于虚拟引擎的矢量数据处理方法、装置及介质 Active CN113763508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110995767.2A CN113763508B (zh) 2021-08-27 2021-08-27 一种基于虚拟引擎的矢量数据处理方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110995767.2A CN113763508B (zh) 2021-08-27 2021-08-27 一种基于虚拟引擎的矢量数据处理方法、装置及介质

Publications (2)

Publication Number Publication Date
CN113763508A CN113763508A (zh) 2021-12-07
CN113763508B true CN113763508B (zh) 2022-06-14

Family

ID=78791495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110995767.2A Active CN113763508B (zh) 2021-08-27 2021-08-27 一种基于虚拟引擎的矢量数据处理方法、装置及介质

Country Status (1)

Country Link
CN (1) CN113763508B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112215739A (zh) * 2020-10-12 2021-01-12 中国石油化工股份有限公司 一种用于AutoCAD的正射影图文件处理方法、装置及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7057616B2 (en) * 2004-04-23 2006-06-06 Microsoft Corporation Using constrained optimization in curve editing
EP1681656A1 (en) * 2005-01-18 2006-07-19 Oculus Info Inc. System and method for processing map data
CN104991993A (zh) * 2015-06-09 2015-10-21 北京红马传媒文化发展有限公司 一种场地信息图形的处理方法
CN108038138A (zh) * 2017-11-23 2018-05-15 国网浙江省电力有限公司 一种从cad平面坐标系转换到谷歌地图的wgs84坐标系的方法
CN110807073A (zh) * 2018-07-20 2020-02-18 南京洲源信息科技有限公司 一种基于开源的webgis实现二三维一体化的方法
CN109064525B (zh) * 2018-08-20 2023-05-09 广州视源电子科技股份有限公司 一种图片格式转换方法、装置、设备和存储介质
EP3734575A1 (en) * 2019-04-30 2020-11-04 Honeywell International Inc. System and method for rendering dynamic data and controlling the visual form of the data on a cockpit display without altering the certified software
CN110955261A (zh) * 2019-12-11 2020-04-03 北京工业大学 一种基于ros的固定翼无人机自动驾驶仪的仿真方法
CN111210383A (zh) * 2020-01-07 2020-05-29 重庆一七科技开发有限公司 一种根据2d卫星地图直接生成3d模型地图的方法
CN111459377A (zh) * 2020-03-18 2020-07-28 北京图创时代科技有限公司武汉分公司 一种矢量化地图标绘管理系统
CN111857518A (zh) * 2020-07-30 2020-10-30 北京默契破冰科技有限公司 图像编辑操作的撤销方法、装置、电子设备及介质
CN112131327A (zh) * 2020-08-12 2020-12-25 当家移动绿色互联网技术集团有限公司 一种运动轨迹的生成方法及装置
CN112749244A (zh) * 2020-12-30 2021-05-04 苏州美房云客软件科技股份有限公司 基于虚幻引擎的数字孪生城市空间坐标系实现方法、装置及存储介质
CN112755534B (zh) * 2021-02-04 2023-05-16 腾讯科技(深圳)有限公司 一种数据处理方法、装置和存储介质
CN113066183A (zh) * 2021-04-28 2021-07-02 腾讯科技(深圳)有限公司 虚拟场景生成方法、装置、计算机设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112215739A (zh) * 2020-10-12 2021-01-12 中国石油化工股份有限公司 一种用于AutoCAD的正射影图文件处理方法、装置及存储介质

Also Published As

Publication number Publication date
CN113763508A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
US20210042991A1 (en) Object loading method and apparatus, storage medium, and electronic device
CN109544663B (zh) 应用程序的虚拟场景识别与交互键位匹配方法及装置
US20150125071A1 (en) Pre-segment point cloud data to run real-time shape extraction faster
KR102170620B1 (ko) 지역적 특징을 가지는 분류기 학습을 위한 학습 데이터 생성 방법 및 그 시스템
US20200242726A1 (en) Task Execution on a Graphics Processor Using Indirect Argument Buffers
CN111659123A (zh) 导航数据的处理方法及装置、存储介质、电子设备
CN109634611B (zh) 基于OpenGL的移动端三维模型ply文件解析与展示方法
CN113763508B (zh) 一种基于虚拟引擎的矢量数据处理方法、装置及介质
CN105511890A (zh) 一种图形界面更新方法和装置
CN110555916B (zh) 虚拟场景的地形编辑方法及装置、存储介质及电子设备
CN117237502A (zh) 一种三维渲染方法、装置、设备及介质
CN110930520B (zh) 一种语义分割标注方法、装置及设备
CN111744181A (zh) 游戏中信息的显示方法、装置、游戏客户端及介质
CN110647377A (zh) 人机交互界面的图片处理系统、设备及介质
CN116129136A (zh) 矿山勘查剖面线提取方法、装置、计算机设备及存储介质
CN115624747A (zh) 地形数据的处理方法、装置、设备及存储介质
CN101833411B (zh) 用于笔迹输入的方法和设备
CN115170765A (zh) 一种模型处理系统、方法及装置
CN111790151A (zh) 一种场景中物体加载方法、装置、存储介质及电子设备
CN113126866A (zh) 对象确定方法、装置、电子设备以及存储介质
CN111243058A (zh) 物件模拟图像生成方法及计算机可读存储介质
CN106126529A (zh) 一种面向嵌入式的三维空间数据存储方法
KR20210014285A (ko) 3d 스캐닝 기반 플랜트 엔지니어링 응용지원 솔루션
CN111722731B (zh) 一种基于Unity引擎的地形系统的画笔实现方法及终端
CN112445838B (zh) 一种面向空间数据的高效空间k核挖掘方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant