使用 3D Web Map Client 列出建筑物的专题数据
Listing buildings' thematic data with 3D Web Map Client
我正在使用 3D Importer/Export 将 .gml
文件导入 Postgres 3D CityDB。
现在我想在地图上可视化建筑物并列出它们的特征。我已经设法将它们形象化,但就特征而言,我遇到了一些麻烦。我正在使用 PostgREST 来提供主题数据。我遇到但似乎无法找到解决方案的问题是 3D CityDB 具有有关跨越多个 table 的建筑物的信息,但 3DWMC 仅查询一个 table。单击 table 时,3DWMC 会向我指定的 URL
+ ?gmlid={the id of the building I've clicked}
执行请求。唯一似乎有 gmlid
字段的 table 是 cityobject
.
这是我的3DWMP配置:
URL 是 http://localhost:8000/exports/export7/export.kml 而 cityobjectsJsonUrl
是 http://localhost:8000/exports/export7/export.json.
这里是点击时显示的信息:
简而言之,我想在点击时显示建筑物的地址(例如)。
好吧,我终于想通了。
您必须创建实体化视图和针对它的查询。
这是名为 view_attributes
(credit goes to this issue) 的视图:
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
然后将UI中的thematicDataUrl
改为:http://localhost:3000/view_attribute
.
我正在使用 3D Importer/Export 将 .gml
文件导入 Postgres 3D CityDB。
现在我想在地图上可视化建筑物并列出它们的特征。我已经设法将它们形象化,但就特征而言,我遇到了一些麻烦。我正在使用 PostgREST 来提供主题数据。我遇到但似乎无法找到解决方案的问题是 3D CityDB 具有有关跨越多个 table 的建筑物的信息,但 3DWMC 仅查询一个 table。单击 table 时,3DWMC 会向我指定的 URL
+ ?gmlid={the id of the building I've clicked}
执行请求。唯一似乎有 gmlid
字段的 table 是 cityobject
.
这是我的3DWMP配置:
URL 是 http://localhost:8000/exports/export7/export.kml 而 cityobjectsJsonUrl
是 http://localhost:8000/exports/export7/export.json.
这里是点击时显示的信息:
简而言之,我想在点击时显示建筑物的地址(例如)。
好吧,我终于想通了。
您必须创建实体化视图和针对它的查询。
这是名为 view_attributes
(credit goes to this issue) 的视图:
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
然后将UI中的thematicDataUrl
改为:http://localhost:3000/view_attribute
.