Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
----------
boundary_surface : bldg.BoundarySurfacePropertyType() object
A boundary surface object (Roof, Wall, Floor) for one side of the bldg
gml_id : str
gmlID of the corresponding gml.Solid to reference the Surface
Returns
-------
boundary_surface : gml.BoundarySurfacePropertyType() object
Returns the modified boundary surface object
"""
boundary_surface.id = "b_" + gml_id
boundary_surface.lod2MultiSurface = gml.MultiSurfacePropertyType()
boundary_surface.lod2MultiSurface.MultiSurface = gml.MultiSurfaceType()
boundary_surface.lod2MultiSurface.MultiSurface.surfaceMember.append(
gml.SurfacePropertyType())
boundary_surface.lod2MultiSurface.MultiSurface.surfaceMember[
-1].href = gml_id
boundary_surface.opening.append(bldg.OpeningPropertyType())
boundary_surface.opening[-1].Opening = bldg.Window()
boundary_surface.opening[-1].Opening.id = gml_id + "_win"
return boundary_surface
boundary_surface : bldg.BoundarySurfacePropertyType() object
A boundary surface object (Roof, Wall, Floor) for one side of the bldg
gml_id : str
gmlID of the corresponding gml.Solid to reference the Surface
Returns
-------
boundary_surface : gml.BoundarySurfacePropertyType() object
Returns the modified boundary surface object
"""
boundary_surface.id = "b_" + gml_id
boundary_surface.lod2MultiSurface = gml.MultiSurfacePropertyType()
boundary_surface.lod2MultiSurface.MultiSurface = gml.MultiSurfaceType()
boundary_surface.lod2MultiSurface.MultiSurface.surfaceMember.append(
gml.SurfacePropertyType())
boundary_surface.lod2MultiSurface.MultiSurface.surfaceMember[
-1].href = gml_id
boundary_surface.opening.append(bldg.OpeningPropertyType())
boundary_surface.opening[-1].Opening = bldg.Window()
boundary_surface.opening[-1].Opening.id = gml_id + "_win"
return boundary_surface
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod2Geometry'), teaser.data.bindings.opengis.raw.gml.GeometryPropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 40, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod3Geometry'), teaser.data.bindings.opengis.raw.gml.GeometryPropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 41, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod4Geometry'), teaser.data.bindings.opengis.raw.gml.GeometryPropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 42, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod0TerrainIntersection'), teaser.data.bindings.opengis.raw.gml.MultiCurvePropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 43, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod1TerrainIntersection'), teaser.data.bindings.opengis.raw.gml.MultiCurvePropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 44, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod2TerrainIntersection'), teaser.data.bindings.opengis.raw.gml.MultiCurvePropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 45, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod3TerrainIntersection'), teaser.data.bindings.opengis.raw.gml.MultiCurvePropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 46, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod4TerrainIntersection'), teaser.data.bindings.opengis.raw.gml.MultiCurvePropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 47, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod0ImplicitRepresentation'), teaser.data.bindings.opengis.citygml.raw.base.ImplicitRepresentationPropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 48, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod1ImplicitRepresentation'), teaser.data.bindings.opengis.citygml.raw.base.ImplicitRepresentationPropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 49, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod2ImplicitRepresentation'), teaser.data.bindings.opengis.citygml.raw.base.ImplicitRepresentationPropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 50, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod3ImplicitRepresentation'), teaser.data.bindings.opengis.citygml.raw.base.ImplicitRepresentationPropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 51, 5)))
GenericCityObjectType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'lod4ImplicitRepresentation'), teaser.data.bindings.opengis.citygml.raw.base.ImplicitRepresentationPropertyType, scope=GenericCityObjectType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 52, 5)))
def _BuildAutomaton ():
# Remove this helper function from the namespace after it is invoked
global _BuildAutomaton
del _BuildAutomaton
import pyxb.utils.fac as fac
----------
thermal_boundary : energy.ThermalBoundary()
A ThermalBoundarySurface object
element : TEASER BuildingElement
Instance of BuilingElement or inherited classes
sun_exp : str
"true" if the surface is exposed to sun, else "false"
grnd_coupled : str
"true" if the surface is coupled to ground, else "false"
"""
gml_surf_comp = energy.ThermalComponentPropertyType()
gml_surf_comp.ThermalComponent = energy.ThermalComponent()
gml_surf_comp.ThermalComponent.area = gml.AreaType(element.area)
gml_surf_comp.ThermalComponent.area.uom = bd.datatypes.anyURI('m^2')
gml_surf_comp.ThermalComponent.isSunExposed = bd.datatypes.boolean(sun_exp)
gml_surf_comp.ThermalComponent.isGroundCoupled = bd.datatypes.boolean(
grnd_coupled)
_add_gml_layer(gml_surf_comp, element)
thermal_boundary.composedOf.append(gml_surf_comp)
width : float
width of the building
height : float
height of the building
bldg_center : list
coordinates in the reference system of the building center
Returns
-------
gml_bldg : bldg.Building() object
Returns the modified building object
"""
boundary_surface = []
lod_2_solid = gml.SolidPropertyType()
lod_2_solid.Solid = gml.Solid_()
exterior_solid = gml.SurfacePropertyType()
composite_surface = gml.CompositeSurface()
bldg_center[0] -= length / 2
bldg_center[1] -= width / 2
# Ground surface
coords = [[bldg_center[0], bldg_center[1], bldg_center[2]],
[length + bldg_center[0], bldg_center[1], bldg_center[2]],
[length + bldg_center[0], width + bldg_center[1], bldg_center[2]],
[bldg_center[0], width + bldg_center[1], bldg_center[2]]]
composite_surface = _add_surface(composite_surface, coords)
composite_surface.surfaceMember[-1].Surface.id = gml_bldg.name[
counters = set()
states = []
final_update = set()
symbol = pyxb.binding.content.ElementUse(UriAttributeType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'value')), pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 143, 5))
st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
states.append(st_0)
transitions = []
st_0._set_transitionSet(transitions)
return fac.Automaton(states, counters, False, containing_state=None)
UriAttributeType._Automaton = _BuildAutomaton_5()
MeasureAttributeType._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, 'value'), teaser.data.bindings.opengis.raw.gml.MeasureType, scope=MeasureAttributeType, location=pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 158, 5)))
def _BuildAutomaton_6 ():
# Remove this helper function from the namespace after it is invoked
global _BuildAutomaton_6
del _BuildAutomaton_6
import pyxb.utils.fac as fac
counters = set()
states = []
final_update = set()
symbol = pyxb.binding.content.ElementUse(MeasureAttributeType._UseForTag(pyxb.namespace.ExpandedName(Namespace, 'value')), pyxb.utils.utility.Location('/home/micha/GIT/pyxb/pyxb/bundles/opengis/schemas/citygml/generics/2.0/generics.xsd', 158, 5))
st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False)
states.append(st_0)
transitions = []
st_0._set_transitionSet(transitions)
return fac.Automaton(states, counters, False, containing_state=None)
height of the building
bldg_center : list
coordinates in the reference system of the building center
Returns
-------
gml_bldg : bldg.Building() object
Returns the modified building object
"""
boundary_surface = []
lod_2_solid = gml.SolidPropertyType()
lod_2_solid.Solid = gml.Solid_()
exterior_solid = gml.SurfacePropertyType()
composite_surface = gml.CompositeSurface()
bldg_center[0] -= length / 2
bldg_center[1] -= width / 2
# Ground surface
coords = [[bldg_center[0], bldg_center[1], bldg_center[2]],
[length + bldg_center[0], bldg_center[1], bldg_center[2]],
[length + bldg_center[0], width + bldg_center[1], bldg_center[2]],
[bldg_center[0], width + bldg_center[1], bldg_center[2]]]
composite_surface = _add_surface(composite_surface, coords)
composite_surface.surfaceMember[-1].Surface.id = gml_bldg.name[
0].value() + "_ground"
boundary_surface.append(bldg.BoundarySurfacePropertyType())
height : float
height of the building
bldg_center : list
coordinates in the reference system of the building center
Returns
-------
gml_bldg : bldg.Building() object
Returns the modified building object
"""
boundary_surface = []
lod_2_solid = gml.SolidPropertyType()
lod_2_solid.Solid = gml.Solid_()
exterior_solid = gml.SurfacePropertyType()
composite_surface = gml.CompositeSurface()
bldg_center[0] -= length / 2
bldg_center[1] -= width / 2
# Ground surface
coords = [[bldg_center[0], bldg_center[1], bldg_center[2]],
[length + bldg_center[0], bldg_center[1], bldg_center[2]],
[length + bldg_center[0], width + bldg_center[1], bldg_center[2]],
[bldg_center[0], width + bldg_center[1], bldg_center[2]]]
composite_surface = _add_surface(composite_surface, coords)
composite_surface.surfaceMember[-1].Surface.id = gml_bldg.name[
0].value() + "_ground"
gml_bldg : citygml.building.Building() object
Returns a citygml Building with attributes
"""
gml_bldg = bldg.Building()
gml_bldg.name = [og.gml.CodeType(teaser_building.name)]
# gml_bldg.function = [bldg.BuildingFunctionType(1120)]
gml_bldg.yearOfConstruction = \
bd.datatypes.gYear(teaser_building.year_of_construction)
# gml_bldg.roofType = bldg.RoofTypeType(1000)
gml_bldg.measuredHeight = gml.LengthType(teaser_building.number_of_floors *
teaser_building.height_of_floors)
gml_bldg.measuredHeight.uom = bd.datatypes.anyURI('m')
gml_bldg.storeysAboveGround = teaser_building.number_of_floors
gml_bldg.storeyHeightsAboveGround = gml.MeasureOrNullListType(
[teaser_building.height_of_floors] *
int(teaser_building.number_of_floors))
gml_bldg.storeyHeightsAboveGround.uom = bd.datatypes.anyURI('m')
# building attributes from energyADE we can in principle provide
# gml_bldg.GenericApplicationPropertyOfAbstractBuilding.append(
# energy.atticType("None"))
# gml_bldg.GenericApplicationPropertyOfAbstractBuilding.append(
# energy.basementType("None"))
# gml_bldg.GenericApplicationPropertyOfAbstractBuilding.append(
# energy.constructionStyle(teaser_building.construction_type))
# gml_bldg.GenericApplicationPropertyOfAbstractBuilding.append(
# energy.yearOfRefurbishment(
# bd.datatypes.gYear(teaser_building.year_of_construction)))
return gml_bldg
A list that contains the coordinates of the point for the
`upperCorner` definition. It should contain 3 ints or floats for
x, y, and z coordinates of the point.
Returns
-------
gml_out : citygml.CityModel() object
Returns the modified CityModel object
"""
assert len(lower_coords) == 3, 'lower_coords must contain 3 elements'
assert len(upper_coords) == 3, 'lower_coords must contain 3 elements'
reference_bound = gml.boundedBy()
reference_envelope = gml.Envelope()
reference_envelope.srsDimension = 3
reference_envelope.srsName = 'urn:adv:crs:ETRS89_UTM32'
lower_corner = gml.DirectPositionType(lower_coords)
lower_corner.srsDimension = 3
reference_envelope.lowerCorner = lower_corner
upper_corner = gml.DirectPositionType(upper_coords)
upper_corner.srsDimension = 3
reference_envelope.upperCorner = upper_corner
reference_bound.Envelope = reference_envelope
gml_out.boundedBy = reference_bound
return gml_out