2. Overview
• Following slides provide a detailed summary
description of the Noise Domain Model
• Measurements
• Modelling
• Mapping
• Plus proposed generic CityGML ADE for:
• Adding time-varying properties to City Objects
• New City Objects: ‘Heat Map’ for visualising thematic
properties that vary over space and time
3. Noise Domain Model
• Develop a model that meets the requirements for:
– Open Data Exchange
– 2D and 3D Visualisation
• Applications:
– Citizen participation in measuring noise exposure (NoiseTube)
– Monitoring /Assessment of noise exposure
• Noise simulation modelling (END Directive)
– Noise Exposure Mapping for citizen engagement and
decision-making
• Strategic Noise Maps (END Directive)
• 2D/3D visualisation of noise exposure (NoiseTube)
4. Noise Domain Model
Measurement Modelling Mapping
Ancillary data:
needed as input to
noise simulation
modelling
3 Viewpoints:
11. Noise Measurements Model
Objective: Extend existing models where possible
Candidate Application Schema:
Observations and
Measurements
ISO 19156: Observations and Measurements
INSPIRE Observations – Specialised Observations:
Point, Trajectory and Gridded Observations
Procedures OGC SensorML 2.0
INSPIRE Observations - Process
Results OGC Coverages 2.0
OGC WaterML 2.0 - TimeSeries
OGC SWE Common
12. 12
OM_Observation: an EVENT whose RESULT is an estimate of a value
of some PROPERTY of some THING obtained using a specified
PROCEDURE …
ISO19156 Observations and Measurements
14. Profiling ISO19156 Observations and Measurements
14
ISO 19156 ‘Observations and measurements’ provides a generic framework for
describing both the observing event and the results of the observation. It is applicable
to a wide range of scientific and technical domains.
The generic nature of this standard means
that it requires further specialisation to
constrain aspects of the model …
15. INSPIRE Specialised Observations
Profiling ISO19156 Observations and Measurements
Defines 3 types of Specialised Observation based on
the Result Type. These extend the example ISO
19156 specialised observations:
• Gridded Observation
• Trajectory or Profile Observations
• Point Observations
INSPIRE Specialised
Observations constrain
the result,
featureOfInterest and
phenomenonTime
16. • Result is an Any type – so...it can be anything!
Encoding the Observation Result
Not easy to
implement or ensure
consistency
....Need to define what type to use
in your Application Schema
INSPIRE Specialised
Observation
Result Type Implementation Schema
PointObservation DiscretePointCoverage OGC Coverages 2.0
PointTimeSeriesObservation TimeSeries OGC WaterML 2.0
MultiPointObservation MultiPointCoverage OGC Coverages 2.0
ProfileObservation RectifiedGridCoverage or
ReferencableGridCoverage
OGC Coverages 2.0
TrajectoryObservation TimeSeries OGC WaterML 2.0
GridObservation RectifiedGridCoverage or
ReferencableGridCoverage
OGC Coverages 2.0
17. • Result is an Any type – so...it can be anything!
Encoding the Observation Result
Not easy to
implement or ensure
consistency
....Need to define what type to use
in your Application Schema
INSPIRE Specialised
Observation
Result Type Implementation Schema
PointObservation DiscretePointCoverage OGC Coverages 2.0
PointTimeSeriesObservation TimeSeries OGC WaterML 2.0
MultiPointObservation MultiPointCoverage OGC Coverages 2.0
ProfileObservation RectifiedGridCoverage or
ReferencableGridCoverage
OGC Coverages 2.0
TrajectoryObservation TimeSeries OGC WaterML 2.0
GridObservation RectifiedGridCoverage or
ReferencableGridCoverage
OGC Coverages 2.0
Question: Should Noise Measurements re-
use/extend INSPIRE Specialised Observations?
Recommendation - YES
18. Procedures: OGC SensorML and INSPIRE Process
SensorML is a comprehensive, generic model for
describing the processes used to estimate the value
of a phenomenon using a sensor
• A measurement process can be described within an
external resource and referenced to in the
Observation
19. Procedures: OGC SensorML and INSPIRE Process
INSPIRE Observation – Process is intended to provide an alternative
lightweight model for describing the procedure compared to
SensorML
«featureType»
Process
«voidable»
+ documentation :DocumentCitation [0..*]
+ inspireld :Identifier
+ name :CharacterString [0..1]
+ processParameter :ProcessParameter [0..*]
+ responsibleParty :RelatedParty [1..*]
+ type :CharacterString
«FeatureType»
observation::OM_Process
«dataType»
ProcessParameter
+ description :CharacterString [0..1]
+ name :ProcessParameterNameValue
s
+generatedObservation
0..*
ProcessUsed +procedure
1
class Process
«voidable
+ docum
+ inspire
+ name
+ proce
+ respon
+ type
«FeatureType»
observation::OM_Observation
+ phenomenonTime :TM_Object
+ resultTime :TM_Instant
+ validTime :TM_Period [0..1]
+ resultQuality :DQ_Element [0..*]
+ parameter :NamedValue [0..*]
Base Types 2::DocumentCitation
+ name :CharacterString
«voidable»
+ shortName :CharacterString [0..1]
+ date :CI_Date
+ link :URL [1..*]
+ specificReference :CharacterString [0..*]
+ d
+ n
«codeList»
ProcessParameterNameValue
tags
asDictionary = true
extensibility = any
vocabulary =
xsdEncodingRule = iso19136_2007_INSPIRE_Extensions
0..*
+relatedObservation 0..*
+generatedObservation
0..*
ProcessUsed +proced
20. Procedures: SensorML and INSPIRE Process
INSPIRE Observation – Process is intended to provide an alternative
lightweight model for describing the procedure compared to
SensorML
«featureType»
Process
«voidable»
+ documentation :DocumentCitation [0..*]
+ inspireld :Identifier
+ name :CharacterString [0..1]
+ processParameter :ProcessParameter [0..*]
+ responsibleParty :RelatedParty [1..*]
+ type :CharacterString
«FeatureType»
observation::OM_Process
«dataType»
ProcessParameter
+ description :CharacterString [0..1]
+ name :ProcessParameterNameValue
s
+generatedObservation
0..*
ProcessUsed +procedure
1
class Process
«voidable
+ docum
+ inspire
+ name
+ proce
+ respon
+ type
«FeatureType»
observation::OM_Observation
+ phenomenonTime :TM_Object
+ resultTime :TM_Instant
+ validTime :TM_Period [0..1]
+ resultQuality :DQ_Element [0..*]
+ parameter :NamedValue [0..*]
Base Types 2::DocumentCitation
+ name :CharacterString
«voidable»
+ shortName :CharacterString [0..1]
+ date :CI_Date
+ link :URL [1..*]
+ specificReference :CharacterString [0..*]
+ d
+ n
«codeList»
ProcessParameterNameValue
tags
asDictionary = true
extensibility = any
vocabulary =
xsdEncodingRule = iso19136_2007_INSPIRE_Extensions
0..*
+relatedObservation 0..*
+generatedObservation
0..*
ProcessUsed +proced
Recommendation 1 – Use SensorML for
describing Sensor Systems:
• It is more mature and comprehensive
• Provides flexibility in the depth of info you can provide
21. Proposed Noise Measurements Model
• Two data exchange requirements:
– Source noise exposure measurements
– Aggregated/modelled noise exposure measurements
1. Source noise exposure measurements:
– Time series collected at mobile locations (NoiseTube)
– Need to extend to include summary statistics
Recommendation 1 – Use INSPIRE Specialised Observation –
Trajectory Observation
22. NoiseTrajectoryObservation
class Context Diagram: NoiseTrajectoryObservation
TimeSeries Result for Trajectory
Observation
TimeSeries Result for Trajectory
Observation
SamplingCoverageObservation
«featureType»
Trajectory and Profile Observations::
TrajectoryObservation
«featureType»
NoiseTrajectoryObservation
«DataType»
NoiseTubeStatistics
+ count :Integer
+ lengthOfTrack :Length
+ maxLAeq :Measure
+ meanLAeq :Measure
+ minLAeq :Measure
constraints
{UoM of maxLAeq shall be given in dBA}
{UoM of minLAeq shall be given in dBA}
{UoM of meanLAeq shall be given in dBA}
«dataType»
Trajectory and Profile
Observations::
TimeLocationValueTriple
+ location :GM_Position
«DataType»
SummaryStatistics
CVT_TimeInstantValuePair
«DataType»
Timeseries::
AnnotatedTimeValuePair
+ geometry :TM_Position
+ value :Record
CVT_DiscreteTimeInstantCoverage
«Type»
Timeseries::Timeseries
+ temporalExtent :TM_Period
Constraints for INSPIRE Specialised
Observation - Trajectory Observation
1. result must be a TimeSeries
2. each point in the result must be a
TimeLocationValueTriple
3. phenomenonTime must be a TM_Period
4. featureOfInterest must be a
SF_SamplingCurve
NOTE: A Specialised NoiseTrajectoryObservation has been
developed to support the requirements of the NoiseTube
+summaryStatistics 0..1
+collection 0..*
+point 0..*
NOTE: a SF_SamplingCurve
feature must also be generated
representing the trajectory
For an aggregated/modelled
trajectory observation the INSPIRE
TrajectoryObservation should be
used
23. 2. Aggregated/modelled noise exposure measurements
• Post-processing modelling may generate generalised noise exposure
measurements for an area of interest:
– Regular gridded data – overlay over terrain model or city model
– Around Road, Rail, Airport, Industry (see Noise Mapping Model)
Proposed Noise Measurements Model
Recommendation 1 – Use INSPIRE Specialised Observation –
Grid Observation
24. class Context Diagram: Gridded Noise Observation
Grid Observation Result - INSPIRE RectifiedGridCoverage
«featureType»
Gridded Observations::
GridObservation
«FeatureType»
Sampling Coverage Observation::
SamplingCoverageObservation
«FeatureType»
coverageObservation::
OM_DiscreteCoverageObservation
«FeatureType»
observation::OM_Observation
Constraints for INSPIRE Grid Observation:
1. The Result shall be a RectifiedGridCoverage
2. phenomenonTime must be a TM_Instant
3. featureOfInterest must be a SF_SamplingSolid or
SF_SamplingSurface
«featureType»
Coverages (Domain and Range)::
RectifiedGridCoverage
constraints
{domainIsRectifiedGrid}
{grid points shall coincide with grid cell centres}
«featureType»
Coverages (Domain and Range)::
CoverageByDomainAndRange
+ coverageFunction :CoverageFunction [0..1]
+ domainSet :Any
+ rangeSet :Any [0..*] {ordered}
«union»
Coverages (Domain and Range)::
CoverageFunction
+ ruleDefinition :CharacterString
+ ruleReference :URI
+ gridFunction :GridFunction
«featureType»
Coverages (Base)::Coverage
+ metadata :Any [0..*]
+ rangeType :RecordType
«dataType»
Coverages (Domain and Range)::GridFunction
+ sequenceRule :CV_SequenceRule [0..1]
+ startPoint :Integer [0..*] {ordered}
NOTE: The GridObservation shall be directly imported
from the INSPIRE Coverage Model without any
addition extensions for Noise.
GridObservation
33. Noise Mapping
END Strategic Noise Mapping:
• Enable assessment of exposure of populations to noise
• Inform development of action plans to reduce noise exposure and
protect existing quiet areas
• inform and engage the public in the development of noise action plans
34. END Strategic Noise Maps
• Environmental noise exposure has to be strategically
mapped in the following areas:
– Agglomerations - large, densely populated urban areas –
(UK: > 250,000 people with a population density of < 500
/km2 )
– Around roads with more than six million vehicle passages
a year
– Around railways with more than 60,000 train passages a
year
– Around airports with more than 50,000 movements a year
35. Noise Exposure Maps
• These are typically thematic maps “Heat Maps”,
contours, grids or city objects whose values may be:
– Noise Exposure: Laeq (dBA), Lden, Lnight
– Statistics: Total or % population exposed
36. Candidate Application Schema
• Basic overlaying of noise exposure information
– ISO 19156 – Observations and Measurements
– OGC Coverages – e.g. RectifiedGridCoverage,
MultiPointCoverage
• Developed Noise Mapping Model:
– Contours (Generic)
– Generic Models for Time-Varying Properties
• TimeVaryingProperty Model
• Heat Map ADE
– City Object – Noise Exposure
Noise Mapping
37. • Very simple, generic model consisting of a contour
line, contour value and contour property type
Noise Contours
Question: Are any other properties required?
class Noise Contours
«FeatureType»
ContourLine
+ geometry :GM_Curve
+ contourValue :Measure
+ contourPropertyType :ContourPropertyType
«CodeList»
ContourPropertyType
tags
codeList = http://www.iscopeproject.net/codeList/ContourPropertyType
extensibility = any
xsdEncodingRule = citygml-ade
Example values for ContourPropertyType:
Noise Exposure: minLAeq, maxLAeq, meanLAeq, Lden, Lnight
etc.....
38. • Real-world phenomenon like noise expose vary both
over time and space
• Starting point develop a generic model for time-
varying properties
Modelling Time-Varying Property
Design Principles:
• Needs to be simple
• Can be used within for multiple purposes:
• Thematic Noise Mapping “Heat Maps”
• City Object Noise Exposure Maps
• Other thematic areas: Energy -Solar Potential
• Based on existing O&M Modelling pattern as has similar
requirements
39. class CityGML ADE: Time Varying Properties
«FeatureType»
TimeDependentVariable
+ referenceTime :TM_Object
«metaclass»
General Feature Model::
GF_PropertyType
{root}
«type»
Records and Class
Metadata::Any
{root}
Metadata entity set information::
MD_Metadata
«FeatureTyp...
observation::
OM_Process
+phenomenon 1
Metadata
+metadata
0..1
Process
+procedure 0..1
+result 1
TimeDependentVariable : has a RESULT which is an estimate of a value of
some PROPERTY belonging to a feature obtained using a specified
PROCEDURE …
Modelling Time-Varying Property
NOTE: there is no
featureOfInterest as the
TimeDependentVariable
is intended to be a
complex property of a
feature
NOTE: The multiplicity of
procedure and metadata
has been relaxed
40. Thematic Heat Map
• The Time-Varying Property can be used within a
Thematic Heat Map feature
• A HeatMap feature has been developed as a new
CityGML City Object LOD0
• 2 Specialised types:
– SurfaceHeatMap
– GriddedHeatMap
41. Thematic Heat Mapclass Context Diagram: Heat Maps
«FeatureType»
SurfaceHeatMap
+ loD0_Surface :GM_MultiSurface
«type»
Records and Class Metadata::
Any
{root}
«FeatureType»
CityGML ADE: Time Varying
Properties::
TimeDependentVariable
+ referenceTime :TM_Object
«metaclass»
General Feature Model::
GF_PropertyType
{root}
«FeatureType»
GriddedHeatMap
constraints
{/* result must be a RectifiedGridCoverage */
inv: self.result.oclIsKindOf(RectifiedGridCoverage)}
CoverageByDomainAndRange
«featureType»
Coverages (Domain and Range)::
RectifiedGridCoverage
+result 1
+phenomenon
1
+result 1
42. • Time-varying properties such as Noise
Exposure/Solar Potential can be added as thematic
attributes to City Objects
Adding Time-Varying Properties to City Objects
• Model should be flexible enough
to allow objects to have multiple
time-varying properties
• Time-varying properties such as Noise
Exposure/Solar Potential can be added as thematic
attributes to City Objects
43. class Buildings
«ADEEleme...
Building
«FeatureType»
CityGML ADE: Time Varying
Properties::
TimeDependentVariable
+ referenceTime :TM_Object
«metaclass»
General Feature Model::
GF_PropertyType
{root}
«type»
Records and Class Metadata::
Any
{root}
AbstractBuilding
«featureType»
Building::Building
+noiseExposure 0..*
+phenomenon 1 +result 1
City Object – Noise Exposure
Example: Building Noise Exposure
44. class Buildings
«ADEEleme...
Building
«FeatureType»
CityGML ADE: Time Varying
Properties::
TimeDependentVariable
+ referenceTime :TM_Object
«metaclass»
General Feature Model::
GF_PropertyType
{root}
«type»
Records and Class Metadata::
Any
{root}
AbstractBuilding
«featureType»
Building::Building
+noiseExposure 0..*
+phenomenon 1 +result 1
City Object – Noise Exposure
Example: Building Noise Exposure
Profiling the Result:
• A business rule should be defined for
each time-varying property to
constrain the result type
• Result type can be existing
record/coverage type:
• SWE Common – Data Array
• Coverage
45. class Buildings
«ADEEleme...
Building
«FeatureType»
CityGML ADE: Time Varying
Properties::
TimeDependentVariable
+ referenceTime :TM_Object
«metaclass»
General Feature Model::
GF_PropertyType
{root}
«type»
Records and Class Metadata::
Any
{root}
AbstractBuilding
«featureType»
Building::Building
«Type»
NoiseExposureDataRecord
+ minLAeq :Measure
+ maxLAeq :Measure
+ meanLAeq :Measure
result must be a NoiseExposureDataRecord
/* result must be a
NoiseExposureDataRecord*/
inv: self.result.oclIsKindOf
(NoiseExposureDataRecord)
+noiseExposure 0..*
+phenomenon 1 +result 1
City Object – Noise Exposure
Example: Building Noise Exposure
Profiling the Result:
• A business rule should be defined for
each time-varying property to
constrain the result type
• Result type can be existing
record/coverage type:
• SWE Common – Data Array
• Coverage
• Or, can explicitly define a <<type>>
class within the domain model
46. Conclusions
• Action 1: Need to share with modelling team to agree
proposed generic CityGML ADE for time-varying properties
and Heat Map
• Action 2: Noise Domain Expert Review to identify what noise
exposure parameters would be published in a heat map or on
a City Object
– Needed to develop controlled vocabulary of phenomenon
– Agree whether SWE Common Data Array would be suitable for
encoding result or define concrete result class
• Action 3: Identify which City Objects would form a Noise
Exposure – City Objects ADE
Notas do Editor
The Noise Domain Model needs to take into account three different viewpoints:Source Measurements of Noise Pollution plus ancillary data inputs (e.g. Road surface material/condition, speed limits, average amount and type of transport). These are required as inputs into.....Models – these can be simple algorithms such aggregation/generalisation to produce summary statistics to complex noise simulation modellingEstimated Noise Exposure: the result of noise measurement and modelling are estimates of noise exposure which can then be visualised in 2D and 3D for decision making