技术领域
[0001] 本发明涉及三维模型技术领域,尤其涉及一种基于单体化三维模型的地理空间坐标转换方法及设备介质。
相关背景技术
[0002] 对于坐标转换技术,通常用于处理带有地理空间坐标的矢量或栅格数据,是测绘和地理信息领域的重要工具。随着三维技术迅猛发展,三维数据坐标转换的需求愈发迫切。
[0003] 当前市场上,虽已有针对倾斜实景三维模型(如OSGB格式)的坐标转换方法,但多受限于特定软件环境。实际上,倾斜实景模型仅是三维模型的一种,对于灵活可编辑的单体化三维模型,其坐标转换方法尚属空白。单体化三维模型坐标转换涉及复杂的点线面组合关系。
[0004] 单体化三维模型因缺乏地理空间坐标系统的概念,目前的三维软件尚未提供专门的坐标转换工具。传统方法中,三维模型在进行坐标转换时,没有对应的坐标转换方法可以直接进行坐标转换,就要重新进行外业倾斜摄影、实景模型重构和单体化模型重建,即需依赖于外业实景模型重建和单体化重构,在数据采集端就控制坐标系统,过程繁琐,要投入大量的成本、人力和时间等。
[0005] 为提升三维模型在多种坐标体系下的复用率,减少重复建设成本,亟需一套精准完善的单体化三维模型坐标转换方法,适用于原始三维模型格式数据的编辑处理。
具体实施方式
[0057] 下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0058] 请参见图1,本发明的一种基于单体化三维模型的地理空间坐标转换方法,包括如下步骤:
[0059] 步骤1、获取单体化三维模型,对所述单体化三维模型进行检查并修复;
[0060] 在本实施例中,所述步骤1中对所述单体化三维模型进行检查并修复,具体包括:
[0061] 步骤11、判断所述单体化三维模型的格式是否为FBX格式,若否,则进入步骤12;若是,则进入步骤13;FBX格式是一种适用于三维动图制作中的柔性物体描述和交换的文件格式,具有较高的灵活性、物理引擎支持以及导入导出能力。FBX格式可以存储各种类型的三维数据,包括静态和动态的三维模型、材质、纹理、骨骼动画、物理模拟、灯光设置和相机设置等,采用FBX格式,充分考虑了单体化三维模型的几何精度和纹理特征,以不破坏原始数据特征结构的处理方法对三维数据进行地理空间处理,进而实现成果无损转换;
[0062] 步骤12、在保持所述单体化三维模型的纹理和几何结构不变的情况下,将单体化三维模型的格式转换为FBX格式,进入步骤13;
[0063] 步骤13、判断所述单体化三维模型是否漏面,即参与坐标转换的每个几何面上都需赋有纹理贴图,若是,则进入步骤14;若否,则进入步骤15;
[0064] 步骤14、对所述单体化三维模型的漏面处赋纹理贴图,进入步骤15;对漏面进行检查和修复,可以保证参与坐标转换的每个几何面上都赋有纹理贴图;
[0065] 步骤15、判断所述单体化三维模型的透贴是否不透,即参与处理的单体化三维模型的透贴参数和表达需正确,若是,则进入步骤16;若否,则进入步骤2;
[0066] 步骤16、对所述单体化三维模型的透贴面进行修复,获得透贴完全正确覆盖的单体化三维模型,进入步骤2。对透贴面进行检查和修复,可以保证参与处理的单体化三维模型的透贴参数和表达正确。
[0067] 步骤2、获取对地理空间中的当前坐标系统进行转换所需的基本参数;
[0068] 在本实施例中,所述步骤2具体包括:
[0069] 步骤21、选择所需转换后的目标坐标系统;
[0070] 步骤22、判断目标坐标系统与地理空间中的当前坐标系统的中央经线(中央子午线)是否一致,若是,则获取进行坐标转换所需的基本参数(四参数:旋转、缩放、横向平移和纵向平移),进入步骤3;若否,则进入步骤23;这样做的目的是:由于坐标系统转换的办法一般有四参数法和七参数法,前者的准入门槛低、更易操作。考虑简化性、直观性和计算效率,通常选择四参数法而非七参数法。由于四参数法的使用需要考虑坐标转换过程是否涉及椭球和中央经线的更换,因此需要判断目标坐标系统与当前坐标系统是否具有相同的椭球参数。对当前坐标系统与目标坐标系统的椭球参数或中央经线情况的判断,有利于提高坐标转换的四参数(旋转、缩放、横向平移和纵向平移)的求解精度,只有在相同的中央经线下进行椭球参数的转换才能够保持高精度转换;若中央经线不同,则需先进行高斯正反算以获得相同的中央经线;若椭球参数相同,则只需进行高斯正反算而无需使用四参数法。)[0071] 步骤23、获取转换前的当前坐标系统与转换后的目标坐标系统下的二维矢量数据坐标对,所述二维矢量数据坐标对包括至少五对,且均匀分布;并求取控制范围内同一中央经线但不同参考椭球下的基本参数,进入步骤3。该步骤引用坐标转换四参数法基于已有的二维矢量数据坐标对(当前坐标与目标坐标)进行“旋转、缩放、横向平移和纵向平移”四参数的求解;获取当前坐标系统与目标坐标系统下的二维矢量数据坐标对至少需要五对,且均匀分布,这样才能够保证所求算出的四参数能够控制到所用点位所构成区域的坐标转换精度,并求取控制范围内同一中央经线但不同参考椭球下的四参数。
[0072] 在本实施例中,所述基本参数包括旋转、缩放、横向平移和纵向平移。通过在四参数(旋转、缩放、横向平移和纵向平移)转换前/后加入大数平移步骤,达到约束目标对象投影带的效果,为三维模型数据的坐标转换奠定基础。将二维地理空间旋转、缩放、平移的测绘学方法引入三维模型数据的地理处理中,搭建三维模型坐标转换桥梁,实现坐标精确转换。
[0073] 步骤3、将所述基本参数导入到支持单体化三维模型进行相应变换处理的软件中,根据地理空间中当前坐标系统的中央经线、单体化三维模型的位置和成果三维模型的所需位置,在软件上对进行坐标转换所需的基本参数、投影变换参数和加/减大数平移值进行设置,并运行设置好的软件完成坐标转换,输出成果三维模型;若目标坐标系统与当前坐标系统的中央经线不一致,存在投影变换的需要,则在旋转、缩放、横向平移和纵向平移处理后对数据进行投影变换,故而在设置好的旋转、缩放、横向平移和纵向平移的参数后,加入投影变换参数。若单体化三维模型在原点附近,则需要在旋转、缩放、横向平移和纵向平移处理前对单体化三维模型进行加大数平移,以获得真实位置。若待输出的成果三维模型需要在坐标系统的原点附近,在大数值的情况下,则在投影变换后加上减大数平移值,以获得原点附近位置。
[0074] 在本实施例中,在本实施例中,所述步骤3具体包括:
[0075] 步骤31、将获得的所述基本参数导入支持单体化三维模型进行旋转、缩放、平移和投影变换的软件中,并对基本参数进行设置;由于max软件的平移工具会导致原数据精度失真,因此不可使用max软件进行处理。建议采用FME软件。
[0076] 步骤32、判断目标坐标系统与当前坐标系统的中央经线是否一致,若否,则需要在求得目标坐标系统前变换当前坐标系统的中央经线,进入步骤33;若是,则进入步骤34;在使用“旋转、缩放、横向平移和纵向平移”四参数时,先要判断坐标转换是否需要变换中央经线,即判断目标坐标系统相较于当前坐标系统是否需要更换中央经线(因为当目标坐标系统与当前坐标系统的椭球参数不同而中央经线相同时,只需进行“旋转、缩放、横向平移和纵向平移”处理;当二者椭球参数不同,中央经线也不同时,在进行“旋转、缩放、横向平移和纵向平移”处理进而获得相同椭球参数后,需要多一步“投影”处理,以获得相同的中央经线)。
[0077] 步骤33、在设置好的基本参数后,加入用于将地理空间中的当前坐标系统的中央经线变换为与目标坐标系统的中央经线一致的投影变换参数,通过投影变换计算出新的投影坐标系统,进入步骤34;
[0078] 其中,所述通过投影变换计算出新的投影坐标系统,具体为:
[0079] 将同一参考椭球下基于不同中央经线的坐标系统中的坐标,通过高斯正反算公式,转换到另一个基于不同中央经线的投影坐标系统中。
[0080] 步骤34、导入待坐标转换的单体化三维模型;
[0081] 步骤35、判断当前单体化三维模型的位置(X,Y,Z)是否在原点(0,0,0)附近,原点附近的位置不固定,可以根据需求进行设定对应的范围,比如,原点附近的范围可取在原点位置±1mm;若是,则进入步骤36;若否,则进入步骤37;单体化三维模型数据存储的空间位置有两种,一种是存放于原点附近(0,0,0)(无大数),另一种是存放于真实位置(有大数,例如(420000+,2880000+,0))。为保持单体化三维模型数据在存储和使用过程不变形、不扭曲、不拉花,通常情况下,真实位置的三维数据整体会减去横轴和纵轴的大数,例如横轴减去420000,纵轴减去2880000,可以根据需求进行设定对应的大数值,以获得原点附近便于存储以及保持原始结构的单体化三维模型数据。因此,需要判断当前三维模型的位置(X,Y,Z)是否在原点附近,若在原点附近,在坐标转换前需要加上大数以回归到真实位置;
[0082] 步骤36、在设置好的基本参数前,加入加大数平移值(将位置(X,Y,Z)的X、Y上分别加上一个大数值,使得整个位置进行平移),获得真实坐标位置的单体化三维模型,进入步骤37;
[0083] 步骤37、判断待输出的成果三维模型的位置是否需要在原点附近,若是,则进入步骤38,若否,则进入39;考虑到单体化三维模型数据的应用需求有不同,若直接入库存储,则建议存储在原点附近(求算成果需减去大数);若直接用于数据切片发布,则求算成果需要在真实位置(求算成果无需减去大数)。因此需要判断成果三维模型的位置是否需要在原点附近;
[0084] 步骤38、在设置好的基本参数或投影变换参数后,加入减大数平移值(将位置(X,Y,Z)的X、Y上分别减去一个大数值,使得整个位置进行平移),获得原点附近的成果三维模型,进入步骤39;
[0085] 步骤39、运行该设置好的软件,该软件根据基本参数、投影变换参数和加/减大数平移值执行旋转、缩放、横向平移、纵向平移、投影、加大数和减大数变换,进而完成坐标转换,该变换内容根据在不同情况下设置的基本参数、投影变换参数和加/减大数平移值的不同而定;坐标转换后输出FBX格式的单体化三维模型作为成果三维模型,进入步骤4。
[0086] 例如:
[0087] 情况一:若目标坐标系统与当前坐标系统的中央经线一致、当前单体化三维模型的位置在原点附近、待输出的成果三维模型的位置需要在原点附近,则软件中转换工具上依次设置的是:加大数平移值、旋转参数、缩放参数、横向平移参数、纵向平移参数和减大数平移值,当前坐标系统根据设置的参数依次执行加大数平移变换、旋转变换、缩放变换、横向平移变换、纵向平移变换和减大数平移变换后,得到目标坐标系统;
[0088] 情况二:若目标坐标系统与当前坐标系统的中央经线一致、当前单体化三维模型的位置在原点附近、待输出的成果三维模型的位置不需要在原点附近,则软件中转换工具上依次设置的是:加大数平移值、旋转参数、缩放参数、横向平移参数和纵向平移参数,当前坐标系统根据设置的参数依次执行加大数平移变换、旋转变换、缩放变换、横向平移变换和纵向平移变换后,得到目标坐标系统;
[0089] 情况三:若目标坐标系统与当前坐标系统的中央经线一致、当前单体化三维模型的位置不在原点附近、待输出的成果三维模型的位置需要在原点附近,则软件中转换工具上依次设置的是:旋转参数、缩放参数、横向平移参数、纵向平移参数和减大数平移值,当前坐标系统根据设置的参数依次执行旋转变换、缩放变换、横向平移变换、纵向平移变换和减大数平移变换后,得到目标坐标系统;
[0090] 情况四:若目标坐标系统与当前坐标系统的中央经线不一致、当前单体化三维模型的位置在原点附近、待输出的成果三维模型的位置需要在原点附近,则软件中转换工具上依次设置的是:加大数平移值、旋转参数、缩放参数、横向平移参数、纵向平移参数、投影参数和减大数平移值,当前坐标系统根据设置的参数依次执行加大数平移变换、旋转变换、缩放变换、横向平移变换、纵向平移变换、投影变换和减大数平移变换后,得到目标坐标系统;
[0091] 情况五:若目标坐标系统与当前坐标系统的中央经线一致、当前单体化三维模型的位置不在原点附近、待输出的成果三维模型的位置不需要在原点附近,则软件中转换工具上依次设置的是:旋转参数、缩放参数、横向平移参数和纵向平移参数,当前坐标系统根据设置的参数依次执行旋转变换、缩放变换、横向平移变换和纵向平移变换后,得到目标坐标系统;
[0092] 情况六:若目标坐标系统与当前坐标系统的中央经线不一致、当前单体化三维模型的位置在原点附近、待输出的成果三维模型的位置不需要在原点附近,则软件中转换工具上依次设置的是:加大数平移值、旋转参数、缩放参数、横向平移参数、纵向平移参数和投影参数,当前坐标系统根据设置的参数依次执行加大数平移变换、旋转变换、缩放变换、横向平移变换、纵向平移变换和投影变换后,得到目标坐标系统;
[0093] 情况七:若目标坐标系统与当前坐标系统的中央经线不一致、当前单体化三维模型的位置不在原点附近、待输出的成果三维模型的位置需要在原点附近,则软件中转换工具上依次设置的是:旋转参数、缩放参数、横向平移参数、纵向平移参数、投影参数和减大数平移值,当前坐标系统根据设置的参数依次执行旋转变换、缩放变换、横向平移变换、纵向平移变换、投影变换和减大数平移变换后,得到目标坐标系统;
[0094] 情况八:若目标坐标系统与当前坐标系统的中央经线不一致、当前单体化三维模型的位置不在原点附近、待输出的成果三维模型的位置不需要在原点附近,则软件中转换工具上依次设置的是:旋转参数、缩放参数、横向平移参数、纵向平移参数、投影参数,当前坐标系统根据设置的参数依次执行旋转变换、缩放变换、横向平移变换、纵向平移变换和投影变换后,得到目标坐标系统。
[0095] 本发明只要通过获取四参数和目标坐标系统,就可以通过此坐标转换方法将已建的单体化三维模型的当前坐标系统转换为目标坐标系统;倘若想变换新的目标坐标系统,则根据三维模型的当前坐标系统获取对应的四参数,将该四参数与新的目标坐标系统进行结合,并采用该坐标转换方法就可以在不重新建立单体化三维模型的情况下,直接将当前坐标系统转换为新的目标坐标系统;这样就可以节约以往由于单体化三维模型的坐标系统变换需求,而重新进行外业倾斜摄影、实景模型重构和单体化模型重建的投入成本,如人力、时间、金钱。
[0096] 步骤4、对所述成果三维模型进行检查和修复。考虑到三维模型数据不仅含有几何特征,还含有丰富的纹理特征,为保持三维模型此类基础特征的传承和延续,在坐标转换处理前和处理后都进行三维模型数据的检查与修复,为获得完整无缺的数据成果保驾护航。注重数据处理前/后的数据修复与特征保持,进而增强了三维模型数据的可用性,及其在多坐标系统平台之间的互动性。
[0097] 在本实施例中,所述步骤4具体包括:
[0098] 步骤41、判断所述成果三维模型是否漏面或纹理错乱,若是,则进入步骤14;若否,则进入步骤42;
[0099] 步骤42、判断所述成果三维模型的透贴是否出错,若是,则进入步骤43;若否,则进入步骤44;
[0100] 步骤43、对所述成果三维模型的透贴面进行修复,进入步骤44;
[0101] 步骤44、获得最终目标坐标系统的成果三维模型,流程结束。
[0102] 本发明可以为更多类单体化三维模型格式的数据(“max、obj、fbx”等格式)赋予更强的生命力和更广阔的应用空间,推动三维技术发展的同时,为数字孪生、实景三维中国领域注入新的活力。
[0103] 本发明可在模型完成阶段实现大面积数据的精确地理空间坐标转换,大幅简化由传统限制而产生的重建和重构工作。此举使原本孤立的三维模型能在多种坐标体系下灵活应用,保留精细结构和信息的同时,增强互动性和可编辑性,提升其在多坐标系统平台中的应用价值,助力文化遗产保护、城市规划、建筑设计等领域的精准空间分析和决策,进一步拓宽三维模型数据的应用领域,推动地理空间处理技术的发展。
[0104] 本发明是一种面向max、obj、FBX等格式的三维模型数据的创新地理处理技术。它结合测绘学坐标转换概念,通过二维地理空间数据的赋能,提升了三维模型数据的特征价值。此方法不仅降低数据制作成本、保持数据特征,还增强了互动性,为多平台应用提供了新思路。在城市规划、建筑设计等领域,它将发挥广泛价值,推动技术进步。
[0105] 如图2所示,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的基于单体化三维模型的地理空间坐标转换方法。
[0106] 如图3所示,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于单体化三维模型的地理空间坐标转换方法。
[0107] 另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0108] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0109] 以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。