gpt4 book ai didi

postgresql - 如何计算 Postgresql 中 3D 对象的体积?

转载 作者:行者123 更新时间:2023-11-29 12:58:23 25 4
gpt4 key购买 nike

我是 PostgreSQL 的新手,我正在尝试计算具有矩形形状的 3D 对象的体积。

这是包含值的表格:

CREATE TABLE warehousethree(
name character varying(100) NOT NULL,
wid serial NOT NULL,
CONSTRAINT warehousethree_pk PRIMARY KEY (wid));

SELECT AddGeometryColumn('warehousethree', 'location', '3785', 'POLYHEDRALSURFACE', 3)

INSERT INTO warehousethree (name, location, wid)
values
('Helianthus Italy', ST_GEOMFROMTEXT('POLYHEDRALSURFACE(((43450771 11890747 0,43450755 11892667 0,43449727 11892882 0,43449688 11890994 0,43450771 11890747 0)),((43450771 11890747 500,43450755 11892667 500,43449727 11892882 500,43449688 11890994 500,43450771 11890747 500)),((43450771 11890747 0,43450755 11892667 0,43450755 11892667 500,43450771 11890747 500,43450771 11890747 0)),((43450755 11892667 0,43449727 11892882 0,43449727 11892882 500,43450755 11892667 500, 43450755 11892667 0)),((43449727 11892882 0,43449688 11890994 0,43449688 11890994 500,43449727 11892882 500,43449727 11892882 0)),((43449688 11890994 0,43450771 11890747 0,43450771 11890747 500, 43449688 11890994 500, 43449688 11890994 0)))', 3785), 1)

到目前为止,我已经尝试将 ST_Volume 与 ST_MakeSolid 结合起来计算体积,但我收到一条错误消息,指出 ST_Volume 后面的括号中的语法存在问题。我试过其他一些返回错误的方法,说函数没有退出。这是我的查询:

SELECT name ST_Volume(ST_MakeSolid(location)) as ware_solid_vol
FROM warehousethree

如果您对此查询的正确语法有任何想法,我们将不胜感激!谢谢。

最佳答案

ST_VolumeST_MakeSolid 均由 postgis_sfcgal 扩展提供,默认情况下不一定随 postgis 安装。您需要从操作系统 shell 中键入以下命令来安装它。

psql -d mydatabase -c 'create extension postgis_sfcgal';

一旦它被安装到你的数据库中,你的查询应该变成

SELECT ST_Volume(ST_MakeSolid(location)) as ware_solid_vol
FROM warehousethree

请注意,我已从查询中删除“名称”。

关于postgresql - 如何计算 Postgresql 中 3D 对象的体积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36988376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com