1

我想将 API 中的记录插入我的数据库 postGIS。api 几何以线串和多线串与 Z 值的混合响应。

如何将两种类型混合到同一个几何列中?

一旦我击中一条线串的记录,我就会得到一个数据类型错误。如果我使用几何类型几何然后我几何有 Z 维度但列没有。

这是我的表定义。如何定义一个可以将简单/多行字符串与 Z 值混合的表?

class Item(Base):
    __tablename__ = 'test'

    id = Column(Integer, primary_key=True)
    kategori = Column(String)
    geom = Column(Geometry('MultiLineStringZ', dimension=3))
4

1 回答 1

0

您可以强制您的 LineString 为 MultiLineString => ST_Multi() ( https://postgis.net/docs/ST_Multi.html )

而且,您还可以强制几何为 3D => ST_Force3D()( https://postgis.net/docs/ST_Force_3D.html )

通过结合这两个功能:

ST_Force3D(ST_Multi(my_linestring))

您将实现您的目标。

于 2019-05-16T13:49:15.887 回答