# Elevation Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/earth-science-measurements/elevation-ontology.html
FLOW ElevationOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Earth Science Measurements
-> Elevation Ontology
PURPOSE:
Represent elevation as a vertical spatial quantity locating a point, surface or feature relative to a defined vertical reference, including orthometric height, ellipsoidal height, geopotential height, terrain elevation, altitude terminology, vertical datums, geoid models, GNSS-derived height, levelling, digital elevation models, coordinate reference systems, transformations, resolution, calibration, uncertainty, provenance, and strict distinctions between elevation, height, altitude and depth.
ENTITY Elevation {
TYPE: VerticalSpatialQuantity
SYMBOL: H_or_h_context_dependent
DIMENSION: L
SI_UNIT: metre
SI_SYMBOL: m
DEFINITION:
elevation :=
vertical_position_of_defined_point_or_surface
relative_to_declared_vertical_reference
PROPERTIES:
has_value
has_unit
has_vertical_reference
has_spatial_location
may_be_positive_zero_or_negative
may_be_measured_or_modelled
may_have_uncertainty
}
ENTITY OrthometricHeight {
TYPE: ElevationQuantity
SYMBOL: H
SI_UNIT: metre
DEFINITION:
height_above_geoid_along_plumb_line_under_declared_geodetic_model
}
ENTITY EllipsoidalHeight {
TYPE: GeodeticHeightQuantity
SYMBOL: h
SI_UNIT: metre
DEFINITION:
height_relative_to_reference_ellipsoid
}
ENTITY GeoidUndulation {
TYPE: VerticalSeparationQuantity
SYMBOL: N
SI_UNIT: metre
COMMON_RELATION:
h = H + N
INVERSE:
H = h - N
RULE:
sign_convention_and_geoid_model MUST be preserved
}
UNIT_SYSTEM {
canonical_unit:
metre
common_units:
metre
kilometre
foot
conversion:
1 foot = 0.3048 metre
RULE:
vertical_unit MUST be preserved_with_vertical_reference
}
TERMINOLOGY_MODEL {
terms:
elevation
height
altitude
orthometric_height
ellipsoidal_height
geopotential_height
depth
RULE:
terminology MUST be resolved_using_vertical_reference_and_domain_context
ambiguity_controls:
elevation != depth
orthometric_height != ellipsoidal_height
elevation_above_mean_sea_level != automatically_exact_orthometric_height_without_defined_datum
}
VERTICAL_DATUM_MODEL {
possible_datums:
geoid_based_vertical_datum
tidal_datum
mean_sea_level_based_datum
local_engineering_datum
chart_datum
ellipsoid
REQUIRE:
datum_identifier
datum_realisation_when_relevant
units
RULE:
numerical_elevation_without_vertical_datum
MAY be semantically_incomplete
}
GEOID_MODEL {
geoid:
equipotential_surface_of_Earth_gravity_field
used_as_reference_for_orthometric_height
geoid_undulation:
N
relation:
H approximately_equals h-N
REQUIRE:
geoid_model_identifier
spatial_location
model_epoch_when_relevant
RULE:
geoid_model_changes_can_change_converted_orthometric_height
}
GNSS_HEIGHT_MODEL {
direct_geodetic_output:
ellipsoidal_height
conversion_to_orthometric:
H = h-N
REQUIRE:
reference_ellipsoid
geodetic_datum
geoid_model
antenna_height
coordinate_epoch_when_relevant
RULE:
GNSS_ellipsoidal_height MUST_NOT be_labelled_orthometric_elevation_without_valid_geoid_conversion
}
LEVELLING_MODEL {
method:
differential_levelling
observed:
height_differences_between_benchmarks_or_points
cumulative:
H_target =
H_reference + sum(delta_H_i)
REQUIRE:
benchmark
instrument
backsight
foresight
closure
correction_procedure
RULE:
levelling_network_should_preserve_benchmark_and_datum_provenance
}
TRIGONOMETRIC_HEIGHT_MODEL {
inputs:
slope_distance
vertical_angle
instrument_height
target_height
simplified_vertical_difference:
delta_h =
slope_distance*sin(vertical_angle)
under_declared_angle_convention
RULE:
curvature_refraction_and_instrument_target_heights MAY require_correction_for_precision_work
}
BAROMETRIC_ALTITUDE_MODEL {
principle:
infer_vertical_position_from_atmospheric_pressure
dependencies:
pressure
temperature_profile
reference_pressure
atmospheric_model
RULE:
barometric_altitude_is_model_dependent_and_not_direct_geodetic_elevation
}
GEOPOTENTIAL_HEIGHT_MODEL {
quantity:
geopotential_height
relation:
derived_from_geopotential_relative_to_reference_gravity
meteorological_use:
pressure_surface_height
RULE:
geopotential_height != geometric_height_exactly
}
TERRAIN_ELEVATION_MODEL {
terrain_surface:
ground_or_land_surface
possible_sources:
field_survey
GNSS
lidar
photogrammetry
radar
digital_elevation_model
RULE:
terrain_elevation_requires_surface_definition
}
SURFACE_MODEL {
possible_surfaces:
bare_earth
top_of_canopy
building_surface
snow_surface
ice_surface
water_surface
RULE:
measured_surface MUST be identified
because_surface_choice_changes_elevation_semantics
}
DEM_MODEL {
digital_elevation_model:
gridded_or_structured_representation_of_surface_elevation
attributes:
horizontal_resolution
vertical_accuracy
CRS
vertical_datum
cell_alignment
no_data_definition
acquisition_date
surface_type
RULE:
DEM_cell_value_is_modelled_or_sampled_surface_elevation
and_not_exact_point_elevation_without_scale_context
}
DSM_DTM_MODEL {
DSM:
digital_surface_model
may_include_buildings_vegetation_and_objects
DTM:
digital_terrain_model
intended_to_represent_bare_earth_terrain
RULE:
DSM_and_DTM MUST_NOT be treated_as_equivalent
}
CONTOUR_MODEL {
contour:
line_connecting_points_of_equal_declared_elevation
contour_interval:
vertical_difference_between_adjacent_standard_contours
RULE:
elevation_interpolated_between_contours_has_resolution_and_interpolation_uncertainty
}
SLOPE_MODEL {
rise:
delta_z
horizontal_run:
delta_s
gradient:
G = delta_z/delta_s
WHEN delta_s != 0
slope_angle:
theta = arctan(delta_z/delta_s)
RULE:
slope_requires_horizontal_distance_and_elevation_difference
}
RELIEF_MODEL {
local_relief:
elevation_max - elevation_min
over_declared_area
RULE:
relief_depends_on_spatial_extent
}
DEPTH_DISTINCTION_MODEL {
depth:
positive_or_signed_distance_below_declared_reference_surface
elevation:
signed_vertical_position_relative_to_datum
conversion_example:
point_elevation =
surface_elevation - depth
under_compatible_vertical_direction_and_reference
RULE:
depth_and_elevation MUST preserve_sign_and_reference_conventions
}
TIDAL_REFERENCE_MODEL {
possible_surfaces:
mean_sea_level
mean_high_water
mean_low_water
chart_datum
RULE:
tidal_datums_are_location_and_epoch_dependent
and_MUST be identified
}
CRS_MODEL {
horizontal_CRS:
locates_point_horizontally
vertical_CRS:
defines_vertical_coordinate_and_reference
compound_CRS:
combines_horizontal_and_vertical_reference
RULE:
elevation transformation MAY require_both_horizontal_and_vertical_CRS_information
}
VERTICAL_TRANSFORMATION_MODEL {
source_height:
z_source
target_height:
z_target =
transform(z_source, location, source_datum, target_datum)
possible_components:
geoid_model
datum_offset
grid_correction
epoch_correction
RULE:
transformation_model_and_version MUST be preserved
}
TEMPORAL_MODEL {
elevation_may_change_due_to:
tectonic_motion
subsidence
uplift
landslide
erosion
deposition
glacier_change
water_level_change
construction
REQUIRE:
observation_epoch_when_change_is_material
RULE:
elevation_comparisons_across_time SHOULD use_compatible_reference_frames_and_epochs
}
REMOTE_SENSING_MODEL {
lidar:
range_measurement_plus_sensor_position_and_orientation
radar:
range_and_phase_based_surface_inference
photogrammetry:
image_geometry_and_control_points
REQUIRE:
geolocation
sensor_calibration
surface_classification
vertical_reference
RULE:
remote_sensing_height_requires_georeferencing_and_vertical_datum
}
RELATIONSHIPS {
Elevation -> HAS_DIMENSION -> Length
Elevation -> MEASURED_IN -> Metre
Elevation -> REFERENCED_TO -> VerticalDatum
Elevation -> LOCATED_BY -> HorizontalCoordinates
OrthometricHeight -> REFERENCED_TO -> Geoid
EllipsoidalHeight -> REFERENCED_TO -> ReferenceEllipsoid
GeoidUndulation -> RELATES -> EllipsoidalAndOrthometricHeight
GNSS -> MEASURES -> EllipsoidalHeight
GeoidModel -> MAPS -> EllipsoidalHeightToOrthometricHeight
Levelling -> MEASURES -> HeightDifference
DEM -> REPRESENTS -> SurfaceElevationField
VerticalTransformation -> MAPS -> SourceDatumToTargetDatum
}
SEMANTIC_EQUIVALENCE {
"elevation" ~= vertical_position_relative_to_defined_reference
"orthometric height" ~= geoid_referenced_height
elevation != depth
orthometric_height != ellipsoidal_height
elevation != geopotential_height
DEM != DSM
DSM != DTM
GNSS_height != orthometric_height_without_geoid_conversion
mean_sea_level_label != fully_defined_vertical_datum
}
CONSTRAINTS {
elevation_dimension = L
vertical_reference_must_be_defined = true
spatial_location_should_be_defined = true
orthometric_and_ellipsoidal_height_are_not_semantically_equivalent = true
geoid_model_must_be_identified_for_height_conversion = true
surface_type_must_be_defined_for_surface_elevation = true
CRS_should_be_preserved = true
observation_epoch_should_be_preserved_when_temporal_change_is_material = true
transformation_model_should_be_preserved = true
uncertainty_should_include_vertical_reference_and_measurement_components = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
Elevation
OrthometricHeight
EllipsoidalHeight
GeopotentialHeight
HeightDifference
COMMON_METHODS:
GNSS
differential_levelling
total_station
trigonometric_levelling
lidar
radar
photogrammetry
barometric_altimetry
digital_elevation_model
RECORD:
numerical_value
unit
elevation_type
horizontal_coordinates
horizontal_CRS
vertical_datum
vertical_CRS
geoid_model_when_relevant
reference_ellipsoid_when_relevant
surface_type
measurement_method
instrument
antenna_or_instrument_height
observation_epoch
spatial_resolution_when_gridded
transformation_history
calibration_state
uncertainty
provenance
UNCERTAINTY:
measured_or_inferred_elevation =
best_estimate +/- uncertainty
}
UNCERTAINTY_MODEL {
sources:
instrument_precision
GNSS_positioning
geoid_model
benchmark_uncertainty
levelling_closure
atmospheric_refraction
sensor_orientation
surface_classification
horizontal_position
vertical_transformation
spatial_resolution
interpolation
temporal_change
PROPAGATION:
elevation_uncertainty
<- measurement_reference_transformation_spatial_and_temporal_uncertainties
}
REASONING_RULES {
IF ellipsoidal_height_and_geoid_undulation_known
THEN orthometric_height =
ellipsoidal_height-geoid_undulation
UNDER compatible_sign_convention
IF orthometric_height_and_geoid_undulation_known
THEN ellipsoidal_height =
orthometric_height+geoid_undulation
IF reference_elevation_and_height_differences_known
THEN target_elevation =
reference_elevation+sum(height_differences)
IF surface_elevation_and_depth_known
AND compatible_reference_and_sign_convention
THEN point_elevation =
surface_elevation-depth
IF maximum_and_minimum_elevations_known
THEN relief =
maximum_elevation-minimum_elevation
IF elevation_difference_and_horizontal_distance_known
AND horizontal_distance != 0
THEN gradient =
elevation_difference/horizontal_distance
IF source_elevation_CRS_and_valid_vertical_transformation_known
THEN target_elevation =
apply_vertical_transformation(source_elevation)
IF DEM_values_known
THEN spatial_derivatives_or_statistics
MUST preserve_grid_resolution_CRS_and_vertical_datum
}
VALIDATION {
CHECK elevation_type
CHECK length_unit
CHECK spatial_location
CHECK horizontal_CRS
CHECK vertical_datum
CHECK vertical_CRS_when_available
CHECK orthometric_vs_ellipsoidal_height
CHECK geoid_model_for_conversion
CHECK geoid_sign_convention
CHECK surface_type
CHECK elevation_vs_depth
CHECK DSM_vs_DTM
CHECK observation_epoch
CHECK transformation_history
CHECK spatial_resolution
CHECK calibration_state
CHECK uncertainty_representation
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
vertical_reference_confidence: 1.00
ellipsoid_geoid_relationship_confidence: 0.99
GNSS_height_confidence: 0.98
DEM_context_confidence: 0.97
measurement_context_confidence: 0.98
RULE:
confidence decreases when vertical datum, CRS, geoid model,
surface type, epoch, transformation method,
spatial resolution or uncertainty is missing or ambiguous
}
UPDATE_MODEL {
ON new_measurement:
identify_elevation_type
validate_unit
attach_horizontal_coordinates
attach_horizontal_CRS
attach_vertical_datum
attach_vertical_CRS
attach_geoid_model_when_relevant
attach_surface_type
identify_measurement_method
attach_observation_epoch
preserve_original_value_and_reference
attach_uncertainty
update_elevation_state
ON datum_change:
preserve_original_elevation
identify_source_and_target_vertical_datums
apply_valid_vertical_transformation
record_transformation_model_and_version
propagate_uncertainty
ON geoid_model_revision:
preserve_ellipsoidal_height
preserve_previous_geoid_model
recompute_orthometric_height
update_uncertainty
update_confidence
ON surface_model_change:
preserve_original_surface
identify_new_surface_type
avoid_direct_comparison_without_surface_correspondence
ON epoch_change:
preserve_previous_epoch
apply_motion_or_deformation_model_when_available
update_reference_frame_context
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_entity: Elevation
canonical_dimension: L
canonical_SI_unit: metre
interpretation_order:
identify_elevation_height_or_depth_quantity
identify_value
identify_unit
identify_spatial_location
identify_horizontal_CRS
identify_vertical_reference
identify_orthometric_ellipsoidal_geopotential_or_other_height
identify_geoid_model_when_required
identify_surface_type
identify_measurement_method
identify_observation_epoch
identify_spatial_resolution_when_gridded
identify_transformation_history
identify_uncertainty
normalize_units
validate_reference_context
infer_vertical_relationships
ambiguity_controls:
distinguish_elevation_from_depth
distinguish_orthometric_from_ellipsoidal_height
distinguish_geometric_from_geopotential_height
distinguish_GNSS_height_from_geoid_referenced_elevation
distinguish_DSM_from_DTM
distinguish_surface_types
distinguish_mean_sea_level_label_from_defined_vertical_datum
preserve_CRS_vertical_datum_geoid_surface_epoch_and_transformation_context
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_Earth_science_elevation_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Earth Science Measurements
-> Elevation Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
terminology_model
vertical_datum_model
geoid_model
GNSS_height_model
levelling_model
trigonometric_height_model
barometric_altitude_model
geopotential_height_model
terrain_elevation_model
surface_model
DEM_model
DSM_DTM_model
contour_model
slope_model
relief_model
depth_distinction_model
tidal_reference_model
CRS_model
vertical_transformation_model
temporal_model
remote_sensing_model
relationships
constraints
measurement_model
uncertainty_model
reasoning_rules
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
elevation_type_definition_changes
vertical_datum_changes
geoid_model_changes
CRS_or_vertical_transformation_changes
surface_definition_changes
DEM_or_remote_sensing_model_changes
temporal_reference_changes
measurement_model_changes
constraint_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW
Download Code
Copy to Clipboard