当前位置: 首页 > 知识库问答 >
问题:

在postgresql中存储三维点数组

公西星海
2023-03-14

我必须在postgres数据库中存储对象的逻辑3d坐标。每个物体通常有50-1000个点,可能永远不会超过10000个点。我的意图是在postgres中使用real[][]类型的列。

我还查看了postGis扩展,想知道它是否是合适的解决方案,但无法回答自己的几个问题:

  1. 我应该使用哪种空间参照-只需要逻辑坐标x、y、z我可以指定左坐标系还是右坐标系-这是最让我困惑的部分?2.如何组织数据线几何对我来说是自然的方式

共有1个答案

国景铄
2023-03-14

使用PostGIS几何(point z)[]作为数据类型(三维点数组)是很自然的。

以下示例显示了该类型的常数并计算了点之间的距离:

WITH x(p) AS (
   SELECT '{POINT Z (1 2 3):POINT Z (3 0 2)}'::geometry(pointz)[]
)
SELECT st_3ddistance(p[1], p[2]) FROM x;

 st_3ddistance 
---------------
             3
(1 row)
 类似资料:
  • 问题内容: 我已经阅读了许多有关 多维到单维 , 多维数据库 等的文章,但是所有答案都无济于事。我确实在Google上找到了很多文档,但是这些文档仅提供背景信息,而没有回答眼前的问题。 我有很多彼此相关的字符串。PHP脚本中需要它们。该结构是分层的。这是一个例子。 每个缩进在多维数组中都假定一个新级别。 目的是通过名称及其所有后代检索具有PHP的元素。例如,如果我查询A,我想接收一个包含的字符串数

  • 告诉我如何在Azure存储帐户中存储PostgreSQL数据库数据。PostgreSQL部署到Azure容器实例。当我重新启动Azure容器实例时,所有数据都会消失。Dockerfile 来自Timescale/Timescaledb:Latest-PG12 az容器创建--resource-group test-env--name test-env--image test-env.azureca

  • 我正在探索mpld3库,不知道如何创建三维散点图。使用Matplotlib,我将执行以下操作: 类似地,我尝试使用mpld3(在Jupyter笔记本中):导入matplotlib。mpl_工具包中的pyplot作为plt。mplot3d导入轴3D导入mpld3 我得到了错误 有什么想法吗? 这是完整的错误日志:

  • 问题内容: 如何使用PyTables将numpy多维数组放入HDF5文件中? 据我所知,我不能将数组字段放在pytables表中。 我还需要存储有关此数组的一些信息,并能够对其进行数学计算。 有什么建议? 问题答案: 可能有一种更简单的方法,但是据我所知,这就是您要做的事情: 如果要指定要使用的压缩,请查看。例如 可能有很多更简单的方法……很长一段时间以来,我除了表型数据外没有用过其他任何东西。

  • 问题内容: 我想将某个结构存储到其中具有JSON字段的数据库中。 该表的架构为: 我在项目中使用sqlx和lib / pq驱动程序,并且不会执行以下操作。相反,它惊慌地说有一个零指针。DB是全局结构 当我从架构和固定装置中删除时,一切运行正常。但是由于某种原因,当包含此字段时,程序会出现紧急情况。关于如何在数据库模式和Go结构中定义字段的任何想法? 问题答案: SQLX有一个类型的,会做你需要什么

  • 我想让用户能够选择他们将收到通知的时间。 应能够选择一个或多个小时值(0-24),然后每天在选定的小时收到通知。 最好的建模方法是什么? 正在考虑这个解决方案:在用户表中添加一个包含小时的数组列,例如[1、6、23],但不知道在每小时扫描表以查找要向其发送通知的用户时,它的速度会有多快。