ArcGIS数据如何组织与管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArcGIS数据如何组织与管理相关的知识,希望对你有一定的参考价值。
首先,得搞清楚你要管理的是什么数据。其次,根据ArcGIS的数据类型,分别管理SHP、MDB、GDB数据。MDB、GDB数据格式为数据库类型,shp数据格式是文件型的。也可以利用ArcCatolag管理。 参考技术A shp文件可以放在文件夹里,也可以放在mdb和gdb数据库里具体命名之类的细节要看你的项目标准怎么要求的 参考技术B 新建数据库,然后进入数据库在新建数据集,在数据集里把你的所有图层分类导入数据集,相当的有层次感啊,清晰明了
如何管理和组织动态和静态几何
【中文标题】如何管理和组织动态和静态几何【英文标题】:how manage and organize dynamic and static geometry 【发布时间】:2013-11-15 23:23:08 【问题描述】:我需要一些关于如何在 opengl 中处理不同几何(静态、动态)的指南。
我正在尝试开发图形引擎(作为学习),我对opengl有一些想法(我做过一些事情),我需要问一些google没有回应的问题:
1 - 将所有几何数据存储在 vbo 中的正确方法是什么,以便稍后绘制。我如何将这些数据组织到 vbo 中?我认为:
全部分开
-> 静态和动态数据
2 - 请记住,世界上有不同类型的 3d 几何图形静态、动态等,哪一种是处理它们的最佳方式?动态元素应该每个都有自己的 vbo 和 ibo,因为它们每帧都会更新,而静态元素应该被处理?
假设游戏世界由 3 个静态立方体(具有相同纹理)、5 个静态锥体(每个具有不同纹理)、5 个动态角色(3d 模型各不相同,并且在每一帧中变化)和 8 个 3d模型静态(所有模型都是不同的)。你如何使用 vbo 组织这些几何图形??
我不提及顶点缓冲区对象的使用(我知道),我喜欢你如何使用 vbo 对每个元素进行分组:
即:3个立方体放在同一个vbo中,5个圆锥放在其他分开的vbo中,等等
【问题讨论】:
对组织几何有任何帮助或想法吗?? 【参考方案1】: 如上所述分离动态和静态可绘制数组(GL_STATIC_DRAW
和 GL_DYNAMIC_DRAW
数据提示,每个缓冲区)
使用GL_TRIANGLE_STRIP
以获得最佳顶点吞吐量
可以将元素数组缓冲区用于具有大量共享顶点的几何图形,例如GL_TRIANGLE_STRIP_ADJACENCY
用于几何着色器。这可以节省内存带宽和/或 GPU 时间(顶点着色器阶段可能只处理一次共享顶点)
每个模型可能存在 VBO,作为以后的优化,可以基于每个数据生命周期和世界分区分配 VBO。
首先,您可以实现两个简单的案例:
静态可绘制模型
动态可绘制模型
但是,请确保您的数据处理已经足够抽象,可以轻松更改和扩展。
最近提出的关于性能的问题,更多信息:Does interleaving in VBOs speed up performance when using VAOs
【讨论】:
谢谢山姆,我帮了大忙!我只需要提出一个问题:你会在 vbo 中组织这个吗?3 个静态立方体(具有相同的纹理)、5 个静态锥体(每个具有不同的纹理)、5 个动态角色(3d 模型都不同,并且改变在每一帧中)和 8 个静态 3d 模型(所有模型都是不同的)我想知道我的想法是否正确。谢谢! 欢迎您!该决定将属于“数据生命周期和世界分区”类别。如果这些对象不是真的很大并且是一次创建、绘制和销毁的,只需将它们放入一个缓冲区即可。然而,与相当复杂的数据管理相反,中型对象的节省是相当微不足道的。我基本上会从每个对象一个 VBO 开始。然后,我将实现对象组装类,稍后可能会使用共享缓冲区对其进行优化。以上是关于ArcGIS数据如何组织与管理的主要内容,如果未能解决你的问题,请参考以下文章