... | ... | @@ -10,126 +10,126 @@ Description of that service at [Building Physics Library Web Service](../Buildin |
|
|
|
|
|
### CityGML with and without EnergyADE
|
|
|
|
|
|
1. Native CityGML 2.0 and CityGML 2.0 EnergyADE
|
|
|
|
|
|
In general if you model a building and want to assign some physical or construction properties to a building or a set of buildings you can in CityGML either use a predefined attribute, a link to an external data source (if available), a set of `genericAttribute`s or predefined attributes of the CityGML EnergyADE.
|
|
|
|
|
|
The greatest advantage of using the CityGML EnergyADE is the existing definition of attributes and properties related to energy and building physics topics, whereas when using `genericAttribute`s each user can use his own definitions, which can lead to possible incompabilties when exchanging building models with other parties involved.
|
|
|
The greatest disadvantage of the CityGML EnergyADE is the lack of support in many software systems supporting only native CityGML but no Application Domain Extension ( ADE ) at all.
|
|
|
|
|
|
As a result, the CityGML EnergyADE should be used as far as possible if ADE support of the used software components is guaranteed.
|
|
|
|
|
|
2. Using External References in CityGML 2.0 and CityGML 2.0 EnergyADE
|
|
|
|
|
|
In general, CityGML 2.0 offers a mechanism to access internal and external data like attributes in a dataset via ```xlink```'s. These references are normally used to reference to another section in the same CityGML file or dataset but an ```xlink``` can also reference to an external data source.
|
|
|
Usually ```xlink```'s are known to compose a surface from a set of (referenced) subsurfaces as in the following sample excerpt from a CityGML Building file:
|
|
|
```xml
|
|
|
...
|
|
|
<bldg:lod2Solid>
|
|
|
<gml:Solid>
|
|
|
<gml:exterior>
|
|
|
<gml:CompositeSurface>
|
|
|
<gml:surfaceMember xlink:href="#GML_7312314b-372f-4161-a9ba-9afceeed0c45"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_4cf1aa91-09bc-4367-8f44-d017ca5a7617"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_1531216f-7082-43d7-8d9d-fac11261415a"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_c69d836d-d138-4b96-b309-0cf893ab9090"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_f6425cf2-75d9-4b59-903d-2092c0d2d084"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_90991341-677e-445c-8f81-e2d6269f4aba"/>
|
|
|
</gml:CompositeSurface>
|
|
|
</gml:exterior>
|
|
|
</gml:Solid>
|
|
|
</bldg:lod2Solid>
|
|
|
...
|
|
|
```
|
|
|
|
|
|
The same mechanism can be used with the EnergyADE as shown in the following example where the material properties of a construction reference to a material definition in some other part of the same CityGML file:
|
|
|
|
|
|
```xml
|
|
|
...
|
|
|
<gml:featureMember>
|
|
|
<energy:Construction gml:id="GML_1d95ee10-2b3e-424c-afce-6bc4ad6017d2">
|
|
|
<gml:description>Structure Facade (U-Value 1.105)</gml:description>
|
|
|
<gml:name>Facade-SingleLayer</gml:name>
|
|
|
<energy:uValue uom="W/K*m2">1.105</energy:uValue>
|
|
|
<energy:layer>
|
|
|
<energy:Layer gml:id="GML_373c66c6-0b0d-4d76-9481-d61e65653e02">
|
|
|
<energy:layerComponent>
|
|
|
<energy:LayerComponent gml:id="GML_e5e4790b-1b4c-47de-88ae-fdac359a7906">
|
|
|
<energy:areaFraction uom="scale">1</energy:areaFraction>
|
|
|
<energy:thickness uom="m">0.40</energy:thickness>
|
|
|
<energy:material xlink:href="#GML_94749b5f-ee27-491b-a906-eea7da12e9a0"/>
|
|
|
</energy:LayerComponent>
|
|
|
</energy:layerComponent>
|
|
|
</energy:Layer>
|
|
|
</energy:layer>
|
|
|
</energy:Construction>
|
|
|
</gml:featureMember>
|
|
|
|
|
|
...
|
|
|
<gml:featureMember>
|
|
|
<energy:SolidMaterial gml:id="GML_94749b5f-ee27-491b-a906-eea7da12e9a0">
|
|
|
<gml:description>Material Concrete Facade (2400/0.24/1)</gml:description>
|
|
|
<gml:name>Material-Concrete-Facade</gml:name>
|
|
|
<energy:conductivity uom="W/K*m">0.24</energy:conductivity>
|
|
|
<energy:density uom="kg/m3">2400</energy:density>
|
|
|
<energy:specificHeat uom="kJ/K*kg">1</energy:specificHeat>
|
|
|
</energy:SolidMaterial>
|
|
|
</gml:featureMember>
|
|
|
...
|
|
|
```
|
|
|
For each non-leaf ```featureType``` an ```xlink``` referencing to is possible, replacing the reference to an internal attribute with an external URI, as shown in the folling example. The external URI must be valid and can be e.g. a reference to a file or a call to a web service returning a valid ```gml``` code fragment.
|
|
|
Native CityGML 2.0 and CityGML 2.0 EnergyADE
|
|
|
|
|
|
In general if you model a building and want to assign some physical or construction properties to a building or a set of buildings you can in CityGML either use a predefined attribute, a link to an external data source (if available), a set of `genericAttribute`s or predefined attributes of the CityGML EnergyADE.
|
|
|
|
|
|
The greatest advantage of using the CityGML EnergyADE is the existing definition of attributes and properties related to energy and building physics topics, whereas when using `genericAttribute`s each user can use his own definitions, which can lead to possible incompabilties when exchanging building models with other parties involved.
|
|
|
The greatest disadvantage of the CityGML EnergyADE is the lack of support in many software systems supporting only native CityGML but no Application Domain Extension ( ADE ) at all.
|
|
|
|
|
|
As a result, the CityGML EnergyADE should be used as far as possible if ADE support of the used software components is guaranteed.
|
|
|
|
|
|
### Using External References in CityGML 2.0 and CityGML 2.0 EnergyADE
|
|
|
|
|
|
In general, CityGML 2.0 offers a mechanism to access internal and external data like attributes in a dataset via ```xlink```'s. These references are normally used to reference to another section in the same CityGML file or dataset but an ```xlink``` can also reference to an external data source.
|
|
|
Usually ```xlink```'s are known to compose a surface from a set of (referenced) subsurfaces as in the following sample excerpt from a CityGML Building file:
|
|
|
```xml
|
|
|
...
|
|
|
<bldg:lod2Solid>
|
|
|
<gml:Solid>
|
|
|
<gml:exterior>
|
|
|
<gml:CompositeSurface>
|
|
|
<gml:surfaceMember xlink:href="#GML_7312314b-372f-4161-a9ba-9afceeed0c45"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_4cf1aa91-09bc-4367-8f44-d017ca5a7617"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_1531216f-7082-43d7-8d9d-fac11261415a"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_c69d836d-d138-4b96-b309-0cf893ab9090"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_f6425cf2-75d9-4b59-903d-2092c0d2d084"/>
|
|
|
<gml:surfaceMember xlink:href="#GML_90991341-677e-445c-8f81-e2d6269f4aba"/>
|
|
|
</gml:CompositeSurface>
|
|
|
</gml:exterior>
|
|
|
</gml:Solid>
|
|
|
</bldg:lod2Solid>
|
|
|
...
|
|
|
```
|
|
|
|
|
|
The same mechanism can be used with the EnergyADE as shown in the following example where the material properties of a construction reference to a material definition in some other part of the same CityGML file:
|
|
|
|
|
|
```xml
|
|
|
...
|
|
|
<gml:featureMember>
|
|
|
<energy:Construction gml:id="GML_1d95ee10-2b3e-424c-afce-6bc4ad6017d2">
|
|
|
<gml:description>Structure Facade (U-Value 1.105)</gml:description>
|
|
|
<gml:name>Facade-SingleLayer</gml:name>
|
|
|
<energy:uValue uom="W/K*m2">1.105</energy:uValue>
|
|
|
<energy:layer>
|
|
|
<energy:Layer gml:id="GML_373c66c6-0b0d-4d76-9481-d61e65653e02">
|
|
|
<energy:layerComponent>
|
|
|
<energy:LayerComponent gml:id="GML_e5e4790b-1b4c-47de-88ae-fdac359a7906">
|
|
|
<energy:areaFraction uom="scale">1</energy:areaFraction>
|
|
|
<energy:thickness uom="m">0.40</energy:thickness>
|
|
|
<energy:material xlink:href="#GML_94749b5f-ee27-491b-a906-eea7da12e9a0"/>
|
|
|
</energy:LayerComponent>
|
|
|
</energy:layerComponent>
|
|
|
</energy:Layer>
|
|
|
</energy:layer>
|
|
|
</energy:Construction>
|
|
|
</gml:featureMember>
|
|
|
|
|
|
...
|
|
|
<gml:featureMember>
|
|
|
<energy:SolidMaterial gml:id="GML_94749b5f-ee27-491b-a906-eea7da12e9a0">
|
|
|
<gml:description>Material Concrete Facade (2400/0.24/1)</gml:description>
|
|
|
<gml:name>Material-Concrete-Facade</gml:name>
|
|
|
<energy:conductivity uom="W/K*m">0.24</energy:conductivity>
|
|
|
<energy:density uom="kg/m3">2400</energy:density>
|
|
|
<energy:specificHeat uom="kJ/K*kg">1</energy:specificHeat>
|
|
|
</energy:SolidMaterial>
|
|
|
</gml:featureMember>
|
|
|
...
|
|
|
```
|
|
|
For each non-leaf ```featureType``` an ```xlink``` referencing to is possible, replacing the reference to an internal attribute with an external URI, as shown in the folling example. The external URI must be valid and can be e.g. a reference to a file or a call to a web service returning a valid ```gml``` code fragment.
|
|
|
|
|
|
The internal ```xlink``` of the previous example to the material with the ```gml:id``` ```GML_94749b5f-ee27-491b-a906-eea7da12e9a0```
|
|
|
```xml
|
|
|
...
|
|
|
<energy:material xlink:href="#GML_94749b5f-ee27-491b-a906-eea7da12e9a0"/>
|
|
|
...
|
|
|
```
|
|
|
can be replaced with an external ```xlink``` e.g. to an XML file containing valid material properties conforming to the EnergyADE, as shown in the following example
|
|
|
```xml
|
|
|
...
|
|
|
<energy:material xlink:href="file:///some-local-directory/concrete-facade.xml"/>
|
|
|
...
|
|
|
```
|
|
|
or with an external ```xlink``` e.g. to a web service returning valid material properties conforming to the EnergyADE, as shown in the following example
|
|
|
```xml
|
|
|
...
|
|
|
<energy:material xlink:href="http://some.web.server/buildinglibrary/germany?material=concrete-facade"/>
|
|
|
...
|
|
|
```
|
|
|
Note:
|
|
|
The use of external ```xlink```'s must be supported by the CityGML parser of the used application, e.g. the use of external ```xlink```'s is currently not supported in the 3DCityDB
|
|
|
|
|
|
3. Using Generic Attributes as References in Native CityGML 2.0
|
|
|
|
|
|
Alternatively you can use ```genericAttribute```'s in a generic CityGML file e.g. to define correlations between a material and external sources as shown in the following example:
|
|
|
|
|
|
```xml
|
|
|
...
|
|
|
<bldg:Building gml:id="GML_af6978c5-3476-47bc-bf5e-6fdd5d0b3feb">
|
|
|
<gml:description>CityGML 2.0 + EnergyADE 1.0 Model in LoD1</gml:description>
|
|
|
<gml:name>NeqModPlus_Bau_LoD1</gml:name>
|
|
|
<gml:boundedBy>
|
|
|
<gml:Envelope srsName="EPSG:25832" srsDimension="3">
|
|
|
<gml:lowerCorner>512665.636 5403023.0 257.0</gml:lowerCorner>
|
|
|
<gml:upperCorner>512739.215 5403100.951 276.0</gml:upperCorner>
|
|
|
</gml:Envelope>
|
|
|
</gml:boundedBy>
|
|
|
<core:creationDate>2020-11-11</core:creationDate>
|
|
|
<gen:uriAttribute name="Building Physics Material Concrete Facade">
|
|
|
<gen:value>http://some.web.server/buildinglibrary/germany?material=concrete-facade"</gen:value>
|
|
|
</gen:uriAttribute>
|
|
|
...
|
|
|
|
|
|
```
|
|
|
|
|
|
Note:
|
|
|
The use of ```genericAttributes```'s is restricted to a specific building and can not be defined for a whole set of buildings in general.
|
|
|
|
|
|
Note:
|
|
|
The use of external links via ```genericAttributes```'s must be supported by the CityGML parser of the used application to resolve the attributes.
|
|
|
|
|
|
Generic Attribute - UML Diagram
|
|
|
The internal ```xlink``` of the previous example to the material with the ```gml:id``` ```GML_94749b5f-ee27-491b-a906-eea7da12e9a0```
|
|
|
```xml
|
|
|
...
|
|
|
<energy:material xlink:href="#GML_94749b5f-ee27-491b-a906-eea7da12e9a0"/>
|
|
|
...
|
|
|
```
|
|
|
can be replaced with an external ```xlink``` e.g. to an XML file containing valid material properties conforming to the EnergyADE, as shown in the following example
|
|
|
```xml
|
|
|
...
|
|
|
<energy:material xlink:href="file:///some-local-directory/concrete-facade.xml"/>
|
|
|
...
|
|
|
```
|
|
|
or with an external ```xlink``` e.g. to a web service returning valid material properties conforming to the EnergyADE, as shown in the following example
|
|
|
```xml
|
|
|
...
|
|
|
<energy:material xlink:href="http://some.web.server/buildinglibrary/germany?material=concrete-facade"/>
|
|
|
...
|
|
|
```
|
|
|
Note:
|
|
|
The use of external ```xlink```'s must be supported by the CityGML parser of the used application, e.g. the 3DCityDB currently does not support the use of external ```xlink```'s, but the FZKViewer does.
|
|
|
|
|
|
### Using Generic Attributes as References in Native CityGML 2.0
|
|
|
|
|
|
Alternatively you can use ```genericAttribute```'s in a generic CityGML file e.g. to define correlations between a material and external sources as shown in the following example:
|
|
|
|
|
|
```xml
|
|
|
...
|
|
|
<bldg:Building gml:id="GML_af6978c5-3476-47bc-bf5e-6fdd5d0b3feb">
|
|
|
<gml:description>CityGML 2.0 + EnergyADE 1.0 Model in LoD1</gml:description>
|
|
|
<gml:name>NeqModPlus_Bau_LoD1</gml:name>
|
|
|
<gml:boundedBy>
|
|
|
<gml:Envelope srsName="EPSG:25832" srsDimension="3">
|
|
|
<gml:lowerCorner>512665.636 5403023.0 257.0</gml:lowerCorner>
|
|
|
<gml:upperCorner>512739.215 5403100.951 276.0</gml:upperCorner>
|
|
|
</gml:Envelope>
|
|
|
</gml:boundedBy>
|
|
|
<core:creationDate>2020-11-11</core:creationDate>
|
|
|
<gen:uriAttribute name="Building Physics Material Concrete Facade">
|
|
|
<gen:value>http://some.web.server/buildinglibrary/germany?material=concrete-facade"</gen:value>
|
|
|
</gen:uriAttribute>
|
|
|
...
|
|
|
|
|
|
```
|
|
|
|
|
|
Note:
|
|
|
The use of ```genericAttributes```'s is restricted to a specific building and can not be defined for a whole set of buildings in general.
|
|
|
|
|
|
Note:
|
|
|
The use of external links via ```genericAttributes```'s must be supported by the CityGML parser of the used application to resolve the attributes.
|
|
|
|
|
|
Generic Attribute - UML Diagram
|
|
|
|
|
|
```mermaid
|
|
|
classDiagram
|
... | ... | |