0

我正在使用 3D Importer/Export 将.gml文件导入 Postgres 3D CityDB。

现在我想可视化地图上的建筑物并列出它们的特征。我已经设法将它们可视化,但就特征而言,我遇到了一些麻烦。我正在使用 PostgREST 来提供主题数据。我遇到并且似乎无法找到解决方案的问题是 3D CityDB 具有有关跨越多个表的建筑物的信息,但 3DWMC 仅查询一个表。URL单击表时,3DWMC 对我指定的 +执行请求?gmlid={the id of the building I've clicked}。唯一似乎有gmlid字段的表是cityobject.

这是我拥有的 3DWMP 的配置:

在此处输入图像描述

URL 是 http://localhost:8000/exports/export7/export.kml 并且cityobjectsJsonUrl是 http://localhost:8000/exports/export7/export.json。

这是单击时显示的信息:

在此处输入图像描述

简而言之,我想在单击时显示建筑物的地址(例如)。

4

1 回答 1

0

好吧,我最终想通了。

您必须创建一个物化视图和针对它的查询。

这是名为view_attributes归功于此问题)的视图:

SELECT cityobject.gmlid,
    concat('address '::text, row_number() OVER (PARTITION BY address_to_building.building_id)) AS attribute,
    concat(address.street::character varying(255), ' ', address.house_number::character varying(255), ', ', address.zip_code::character varying(255), ', ', address.city::character varying(255), ', ', address.country::character varying(255)) AS value,
    0 AS order_vba
   FROM cityobject,
    building
     JOIN address_to_building ON building.id = address_to_building.building_id
     JOIN address ON address.id = address_to_building.address_id
 WHERE cityobject.id = building.id

然后将thematicDataUrlUI 中的更改为:http://localhost:3000/view_attribute.

于 2021-09-16T06:08:11.457 回答