当前位置:网站首页 > 编程语言 > 正文

3dtiles转换3dm(3dtiles转换osgb)



矢量切片是指把待显示的数据的矢量信息写入名为矢量瓦片的载体上,写入的信息包括矢量的类型(点、线或者面)、组成矢量的各个点在矢量瓦片上的相对坐标等。用户的前端软件(浏览器或者GIS软件)能够把矢量瓦片里的矢量信息提取出来,把每个矢量根据用户自定义的显示样式(点或者线的颜色、面的填充色等)绘制出来。通俗的理解是,矢量瓦片告诉前端软件应该给用户看哪些东西,然后前端软件根据用户指定的绘画风格一笔一画地画出来。由于现在的硬件发展,用户端软件能够高效率地完成矢量瓦片的绘制,因此矢量切片因其显示效果好的优点受到越来越多用户的青睐。

MVT(Mapbox Vector Tile)是一套广泛采用的用于存储和传输矢量瓦片的格式,其定义了对一组矢量要素及其属性信息的编码方法。MVT的内部结构包含一组命名的图层。每个图层包含几何要素和元数据信息,其中几何要素部分包含几何类型的编码、坐标的编码、命令的编码(MoveTo、LineTo、ClosePath等)等,元数据信息部分以键值对的形式分别记录属性名和属性值。主流的前端软件都支持MVT,因此本文后面会使用MVT来代指矢量瓦片。

动态矢量瓦片是指数据库在执行用户的可视化请求时,在线完成读取待可视化的数据和将数据打包成MVT并返回的过程。以PostGIS为例,整个过程大致分为三步:

  1. 根据矢量瓦片的空间范围进行空间查询,从数据表中拿到待可视化的Geometry对象。
  2. 将获得的Geometry对象按照矢量瓦片的空间范围进行坐标转换,其中还涉及到对Geometry对象的简化和过滤,这个过程由ST_AsMVTGeom函数完成。
  3. 将上一步的众多Geometry对象按照MVT规范编码、打包放到一个二进制结构里,这个过程由ST_AsMVT函数完成。

的快显引擎针对上述三个步骤都提供了相关函数来改进PostGIS的可视化效率:

  • 使用ST_IsRandomSampled函数仅读取随机采样后的Geometry对象。
  • 使用ST_AsMVTGeomEx函数过滤转换到MVT坐标系后像素数很少的Geometry对象。
  • 使用ST_AsMVTEx函数过滤可视化后视觉上不重要的Geometry对象。

用户可根据需要使用其中的一个或多个函数来提升动态矢量瓦片的效率。

预切片是指离线生成MVT并将其保存起来,在用户的可视化请求到来时返回相应的MVT给用户。

的矢量金字塔技术采用了稀疏金字塔的结构,将预切片和动态矢量瓦片结合起来,仅在数据密集的区域离线生成和保存MVT,而数据稀疏的区域采用动态矢量瓦片。下图是稀疏金字塔的示意图。只有包含两个或以上Geometry对象的MVT会被保存起来,在查询这些MVT时,可以直接从表中读出对应的MVT返回给用户。灰色的区域表示数据稀疏区域,执行可视化查询时,会动态生成这些区域的MVT。

image

前端软件接收到MVT后,需要将MVT包含的信息绘制成用户可看的图像,这个过程被称为渲染。MVT的渲染通常是由前端软件来完成的,而的矢量金字塔技术既支持发送MVT交由前端软件渲染,也支持在数据库端将MVT渲染成图片后再交给前端软件直接给用户查看。

到此这篇3dtiles转换3dm(3dtiles转换osgb)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 密码查询系统(密码查询问题是什么)2025-02-06 07:00:06
  • 文件权限777与775的区别(文件权限777什么意思)2025-02-06 07:00:06
  • tps51219代用芯片(tps51123芯片引脚顺序)2025-02-06 07:00:06
  • 安装虚拟机需要什么配置(安装虚拟机需要什么配置的电脑)2025-02-06 07:00:06
  • vs钻石级别(vs级别的钻石多少钱)2025-02-06 07:00:06
  • lda主题模型文本分类(lda主题模型结果)2025-02-06 07:00:06
  • 绿色代码(颜色代码对应表)2025-02-06 07:00:06
  • 上一章返回目录下一章(返回上一级目录的快捷键)2025-02-06 07:00:06
  • jvm的内存模型和结构(jvm内存模型及调优)2025-02-06 07:00:06
  • win32是什么意思(Win32是什么意思)2025-02-06 07:00:06
  • 全屏图片