我想将API中的记录插入数据库postGIS。 api的几何形状通过Z值的线串和多线串的混合来响应。
如何将两种类型混合到同一几何列中?
我一击到一个是线串的记录,就会收到数据类型错误。 如果我使用的几何类型为 Geometry ,则我的Geometry具有Z尺寸,但列没有。
这是我的表定义。如何定义可以将简单/多行字符串与Z值混合的表?
class Item(Base):
__tablename__ = 'test'
id = Column(Integer, primary_key=True)
kategori = Column(String)
geom = Column(Geometry('MultiLineStringZ', dimension=3))
答案 0 :(得分:0)
您可以强制将LineString设置为MultiLineString => ST_Multi() (https://postgis.net/docs/ST_Multi.html)
而且,您也可以将geom设置为3D => ST_Force3D()(https://postgis.net/docs/ST_Force_3D.html)
通过结合两个功能:
ST_Force3D(ST_Multi(my_linestring))
您将实现您的期望。