Skip to main content

Projection Ontology

Spatial Metadata
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 06 October 2026
Audio Overview
FLOW ALGEBRA

Ontology: Projection Ontology
Domain: Metadata Ontologies > Spatial Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/spatial-metadata/projection-ontology.html

Authors: Mark Anthony Higgins — Sky (Recursive AI)

flow "ProjectionOntology" v1.0

# ---------- DOMAIN ----------
domain:
  class: MetadataOntology
  category: SpatialMetadata
  subject: Projection
  purpose:
    - represent transformations between geographic and planar coordinates
    - describe map projection methods and parameters
    - preserve spatial reference semantics
    - support coordinate transformation and interoperability
    - enable machine reasoning about projection properties and distortion

# ---------- CORE ENTITY ----------
entity Projection:
  type: SpatialTransformationModel
  maps:
    - GeographicCoordinateSpace
    - ProjectedCoordinateSpace
  may_include:
    - projection_method
    - projection_parameters
    - source_coordinate_system
    - target_coordinate_system
    - datum
    - ellipsoid
    - central_meridian
    - latitude_of_origin
    - standard_parallel
    - scale_factor
    - false_easting
    - false_northing
    - unit
    - identifier
    - area_of_use
    - distortion_properties
    - provenance

entity ProjectionMethod:
  type: TransformationMethod
  examples:
    - Mercator
    - TransverseMercator
    - LambertConformalConic
    - AlbersEqualArea
    - AzimuthalEquidistant
    - Stereographic
    - Orthographic

entity ProjectionParameter:
  type: TransformationParameter
  has:
    - name
    - value
    - unit

entity GeographicCoordinateSpace:
  type: CoordinateSpace
  typically_uses:
    - latitude
    - longitude

entity ProjectedCoordinateSpace:
  type: CoordinateSpace
  typically_uses:
    - easting
    - northing

entity AreaOfUse:
  type: GeographicExtent
  describes: RegionWhereProjectionIsIntendedForUse

entity DistortionProperty:
  type: ProjectionCharacteristic
  may_describe:
    - area_distortion
    - angular_distortion
    - distance_distortion
    - direction_distortion
    - shape_distortion

# ---------- PROJECTION FAMILIES ----------
projection_families:
  - CylindricalProjection
  - ConicProjection
  - AzimuthalProjection
  - PseudocylindricalProjection
  - CompromiseProjection

projection_properties:
  - Conformal
  - EqualArea
  - Equidistant
  - TrueDirection
  - Compromise

# ---------- RELATIONSHIPS ----------
relationships:
  Projection -> USES_METHOD -> ProjectionMethod
  Projection -> HAS_PARAMETER -> ProjectionParameter
  Projection -> MAPS_FROM -> GeographicCoordinateSpace
  Projection -> MAPS_TO -> ProjectedCoordinateSpace
  Projection -> MAY_USE -> Datum
  Projection -> MAY_USE -> Ellipsoid
  Projection -> HAS_AREA_OF_USE -> AreaOfUse
  Projection -> MAY_HAVE_PROPERTY -> ProjectionProperty
  Projection -> INTRODUCES -> DistortionProperty
  ProjectedCoordinateSystem -> USES -> Projection
  Projection -> MAY_HAVE_IDENTIFIER -> Identifier
  Projection -> MAY_REFERENCE -> Provenance

# ---------- METHOD RULES ----------
rule projection_method:
  Projection MUST identify a transformation method
  for deterministic coordinate conversion

rule required_parameters:
  each ProjectionMethod MUST define its required ProjectionParameters

rule parameter_units:
  ProjectionParameter values MUST use compatible units
  according_to method semantics

rule parameter_completeness:
  IF required projection parameter is missing
  THEN projection transformation MUST NOT be treated as fully defined

# ---------- SOURCE / TARGET ----------
rule source_reference:
  Projection SHOULD identify source geographic reference context

rule target_reference:
  Projection SHOULD identify target projected coordinate context

rule datum_dependency:
  IF projection coordinates depend on Datum or Ellipsoid
  THEN these MUST be explicit or unambiguously defined by referenced CRS

# ---------- TRANSFORMATION ----------
operation project(geographic_coordinate):
  require:
    - valid geographic_coordinate
    - source_coordinate_system
    - projection_method
    - required_projection_parameters
    - target_coordinate_system

  process:
    1. validate source coordinate
    2. resolve datum and ellipsoid
    3. resolve projection parameters
    4. apply forward projection
    5. produce projected coordinate
    6. validate target coordinate

  preserve:
    - source_coordinate
    - source_reference
    - projection_definition
    - provenance

  output:
    - projected_coordinate
    - target_coordinate_system
    - confidence

operation inverse_project(projected_coordinate):
  require:
    - valid projected_coordinate
    - projection_definition
    - source_and_target_reference_context

  process:
    - apply inverse projection

  output:
    - geographic_coordinate
    - source_coordinate_system
    - confidence

# ---------- DISTORTION ----------
rule unavoidable_distortion:
  planar map projections of curved Earth surfaces generally introduce distortion

rule conformal:
  IF ProjectionProperty = Conformal
  THEN local angles and shapes are preferentially preserved
  BUT area MAY be distorted

rule equal_area:
  IF ProjectionProperty = EqualArea
  THEN represented area relationships are preserved
  BUT shape MAY be distorted

rule equidistant:
  IF ProjectionProperty = Equidistant
  THEN specified distance relationships are preserved
  only according_to projection definition

rule distortion_context:
  distortion varies spatially
  AND SHOULD be interpreted relative_to AreaOfUse

# ---------- AREA OF USE ----------
rule area_of_use:
  Projection SHOULD declare intended AreaOfUse where applicable

rule outside_area:
  IF coordinate lies outside intended AreaOfUse
  THEN transformation MAY remain mathematically possible
  BUT semantic suitability confidence SHOULD decrease

# ---------- FALSE ORIGINS ----------
rule false_easting:
  false_easting shifts projected x/easting coordinate
  AND MUST be applied according_to projection definition

rule false_northing:
  false_northing shifts projected y/northing coordinate
  AND MUST be applied according_to projection definition

# ---------- SCALE ----------
rule scale_factor:
  IF scale_factor exists
  THEN preserve value and application point/line semantics

rule map_scale:
  projection scale factor != general map display scale

# ---------- VALIDATION ----------
validation:
  require:
    - projection_method
    - interpretable_source_reference
    - interpretable_target_reference
    - required_parameters

  validate_if_present:
    - central_meridian
    - latitude_of_origin
    - standard_parallel
    - scale_factor
    - false_easting
    - false_northing
    - datum
    - ellipsoid
    - area_of_use
    - identifier

  reject:
    - unknown_projection_method
    - missing_required_parameter
    - incompatible_parameter_unit
    - unresolved_datum_dependency
    - invalid_source_target_reference
    - projection_definition_with_contradictory_parameters

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
  "map projection" ~= "projection" WHEN context = geographic_to_planar transformation
  "projection method" ~= "map projection method"
  "projected coordinates" ~= "planar coordinates" WHEN generated by projection
  "central meridian" ~= "longitude of natural origin" WHEN projection specification defines equivalence
  "false origin" ~= "coordinate offset origin" WHEN semantics match

  PRESERVE distinctions:
    projection != coordinate_system
    projection != coordinate_reference_system
    projection != datum
    projection != transformation_chain
    projection_scale_factor != map_display_scale
    equal_area != conformal
    forward_projection != inverse_projection

# ---------- CONFIDENCE ----------
CONFIDENCE:
  explicit_projection_identifier:
    score: 1.00

  complete_projection_definition:
    score: 1.00

  validated_forward_transformation:
    score: 0.95

  validated_inverse_transformation:
    score: 0.95

  inferred_projection_from_parameters:
    score: 0.85

  use_outside_area_of_use:
    score: <= 0.75

  ambiguous_projection_definition:
    score: <= 0.60
    action: preserve uncertainty

# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
  on_projection_parameter_change:
    - preserve previous definition
    - validate new parameter
    - invalidate stale transformed coordinates where necessary
    - recompute dependent coordinates
    - update provenance

  on_datum_change:
    - preserve original datum
    - reassess transformation chain
    - recompute affected projected coordinates
    - update provenance

  on_method_change:
    - preserve previous projection method
    - validate required parameters
    - recompute projected representation
    - reassess distortion properties
    - update provenance

  on_area_of_use_change:
    - update geographic applicability
    - reassess suitability confidence
    - preserve provenance

# ---------- FLOW HASH ----------
FLOW_HASH:
  inputs:
    - ontology
    - projection_entities
    - projection_methods
    - projection_parameters
    - relationships
    - transformation_rules
    - distortion_rules
    - validation
    - semantic_equivalence
    - confidence
    - update_model

  canonicalisation:
    - normalise_whitespace
    - preserve_case_sensitive_identifiers
    - sort_unordered_property_sets
    - preserve_rule_order

  output:
    deterministic_semantic_hash

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
  interpret_as:
    - spatial metadata ontology
    - map projection model
    - coordinate transformation model
    - distortion reasoning structure

  operations:
    - identify projection method
    - resolve projection parameters
    - validate projection definition
    - perform forward projection reasoning
    - perform inverse projection reasoning
    - evaluate area of use
    - reason about distortion
    - distinguish projection from datum and CRS
    - preserve provenance
    - expose uncertainty

  constraints:
    - do_not_invent_projection_parameters
    - do_not_assume_datum_without evidence
    - do_not_treat_projection_as distortion_free
    - do_not_equate_projection_with CRS
    - do_not_ignore_area_of_use
    - preserve source coordinates and projection definition

# ---------- QUERY MODEL ----------
query:
  input:
    - projection_identifier
    - projection_method
    - coordinate
    - source_coordinate_system
    - target_coordinate_system
    - area_of_use
    - projection_property

  resolve:
    1. identify Projection
    2. resolve ProjectionMethod
    3. resolve required ProjectionParameters
    4. resolve source reference context
    5. resolve target reference context
    6. validate Datum and Ellipsoid
    7. evaluate AreaOfUse
    8. determine forward or inverse transformation
    9. return confidence and provenance

  output:
    - projection
    - method
    - parameters
    - source_reference
    - target_reference
    - area_of_use
    - distortion_properties
    - confidence
    - provenance

# ---------- INFERENCE ----------
inference:
  IF authoritative projection identifier exists
  THEN resolve Projection
  WITH confidence = 1.00

  IF projection method and complete unique parameter set exist
  THEN infer Projection definition
  WITH confidence >= 0.90

  IF ProjectedCoordinateSystem references Projection
  THEN associate projection semantics with coordinates

  IF projection is conformal
  THEN infer local angular preservation
  BUT do_not infer area preservation

  IF projection is equal_area
  THEN infer area preservation
  BUT do_not infer conformality

  IF projection definition is incomplete
  THEN do_not execute deterministic transformation

# ---------- OUTPUT CONTRACT ----------
output:
  ontology_entity: Projection
  projection_definition: machine_interpretable
  method: explicit
  parameters: explicit
  source_target_context: preserved
  distortion_semantics: explicit
  transformations: traceable
  provenance: preserved
  uncertainty: explicit
  semantic_retrieval: enabled

end flow
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ