Find all buildings having a wall surface whose gml:name equals to ‘west wall’
XML Query
<query xmlns="http://www.3dcitydb.org/importer-exporter/config">
<typeNames>
<typeName xmlns:bldg="http://www.opengis.net/citygml/building/2.0">bldg:Building</typeName>
</typeNames>
<filter>
<propertyIsEqualTo>
<valueReference>bldg:boundedBy/bldg:WallSurface/gml:name</valueReference>
<literal>west wall</literal>
</propertyIsEqualTo>
</filter>
</query>
SQL Query for 3DCityDB v4 (PostgreSQL)
select
distinct b.id,
b.objectclass_id,
b.gmlid
from
citydb.building a
inner join citydb.cityobject b on a.id = b.id
inner join citydb.thematic_surface c on (
a.id = c.building_id
and c.objectclass_id = 34
)
inner join citydb.cityobject d on c.id = d.id
where
b.objectclass_id = 26
and d.name = 'west wall'
SQL Query for 3DCityDB v5 (PostgreSQL)
SELECT ftr_bld.id
,ftr_bld.objectclass_id
,ftr_bld.gmlid
FROM feature AS ftr
INNER JOIN property AS pro
ON pro.val_feature = ftr.id
AND pro.namespace = 'core'
AND pro.name = 'boundary'
INNER JOIN feature AS ftr_bld
ON pro.relation_id = ftr_bld.id
WHERE
ftr.objectclass_id = 34
AND ftr.identifier = 'west wall' -- or use LIKE/ILIKE
AND ftr_bld.objectclass_id = 26;