【问题标题】:Return a sql/postGIS created view via GraphQL通过 GraphQL 返回 sql/postGIS 创建的视图
【发布时间】:2021-08-07 19:17:10
【问题描述】:

对于市政当局的项目,我们正在创建一个 api。 我们选择了 GraphQL 作为 API 的框架,并且我们用 C# 编写了它。 该 API 适用于普通数据,如字符串、整数等。 但是有一个问题。我们还需要处理几何/空间数据。所以我们已经将 GraphQL API “链接”到我们的数据库,这是一个 PostGIS/PostgreSQL 数据库。 我们希望 GeoJSON 作为输出,因为使用 MapBox 之类的东西很容易绘制。

我们在 PostGIS/PostgreSQL 中创建的视图如下:

CREATE VIEW pandGeoJSON AS
select row_to_json(fc)
from (
    select
        'FeatureCollection' as "type",
        array_to_json(array_agg(f)) as "features"
    from (
        select
            'Feature' as "type",
            ST_AsGeoJSON(geom) :: json as "geometry",
            (
                sor_id,
                status
            ) as "properties"
        from pand INNER JOIN sor as s on pand.sor_id = s.sor_pandid
        group by sor_id
    ) as f 
) as fc;

但我似乎无法在互联网上的任何地方找到我们如何能够获取该视图并将其用作我们的 GraphQL API 的输出。还是我们想错了方向,我们应该在 GraphQL 本身中创建该视图?

【问题讨论】:

    标签: sql postgresql graphql postgis geojson


    【解决方案1】:

    显然这很简单。您可以像调用表一样调用视图。因此,您也必须以相同的方式创建它们。

    很简单,不过,如果你不知道它,你就不知道它。在这些情况下,找到答案非常有帮助。

    【讨论】:

      猜你喜欢
      • 2021-10-17
      • 2013-02-24
      • 2015-11-09
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 2013-02-19
      • 2021-10-09
      • 2022-10-23
      相关资源
      最近更新 更多