【问题标题】:geoalchemy Insert mix of linestring and multilinestring with Z to postgisgeoalchemy 将线串和多线串与 Z 的混合插入到 postgis
【发布时间】:2019-05-15 11:11:10
【问题描述】:

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

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

只要我找到一个线串记录,我就会得到一个数据类型错误。 如果我使用几何类型 Geometry 那么我几何有 Z 维度但列没有。

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

class Item(Base):
    __tablename__ = 'test'

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

【问题讨论】:

    标签: sqlalchemy geoalchemy2


    【解决方案1】:

    您可以强制 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))

    您将实现您的目标。

    【讨论】:

      猜你喜欢
      • 2013-07-30
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      • 2016-10-21
      • 1970-01-01
      相关资源
      最近更新 更多