Skip to content

Geological map: units from contacts and label points (whole body) #843

Open

Description

@haraldsteinlechner

Geological mapping in PRo3D, following the contacts-and-points method (as in the QGIS plugin Mappy): the geologist draws contacts (polylines) and places label points carrying a geological unit; PRo3D derives the units (polygons with holes) from them, fills them on the terrain, and exports them. Refining a map means drawing another contact across a unit - no polygon editing, shared boundaries are traced once.

Decisions so far

  • Source: one annotation group per map; its polylines are contacts, its points labels. Unit code in a new dedicated annotation field (geoUnit, new scene key).
  • GeologicalMap scene object: source group, unit table (code -> name, colour, description). Derived units are not persisted, regenerated on load.
  • Whole-body maps (Dimorphos first): faces are found with local operations only - intersections between contact segments, angular order of edges at each node in its tangent plane, label point -> nearest contact + side - and traced in a half-edge structure on the surface. No global chart, no pole/date-line problems, no NetTopologySuite in the core.
  • Units render through the one-draw deferred fills of Annotation fills z-fight with the terrain #841/Annotation fills drawn onto the terrain: offscreen surfaces + one-draw fills (#841) #842, as radial shell volumes (rings with holes).
  • Regenerate explicitly first; diagnostics in 3D: unlabelled units, conflicting labels, dangling contacts.
  • Export: GeoPackage/GeoJSON (units with holes, contacts, labels); the lon/lat split at date line and poles happens only there.
  • Contact type/certainty: later.

Plan: docs/dev/GeologicalMap-plan.md on the feature branch. Depends on #842.

Activity

  1. haraldsteinlechner commented on Oct 13, 2026

    @haraldsteinlechner
    CollaboratorAuthor

    Plan: docs/dev/GeologicalMap-plan.md on branch features/843_geological-map (stacked on #842).

  2. added 20 commits that reference this issue on Oct 13, 2026
  3. added 5 commits that reference this issue on Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions