Geo Core
Validated geodetic calculations for aeronautical data, in one shared library.
A Kotlin Multiplatform library for the JVM, the browser and native platforms that provides every coordinate and geometry calculation used across ANNEA products, from distances and arcs to polygon operations and magnetic variation.
Why Geo Core?
Aeronautical geometry must be exact. Airspace boundaries are built from geodesic lines, arcs and circles, obstacle positions feed into safety assessments, and NOTAM Q-lines depend on a correctly calculated enclosing circle. When different systems implement the same mathematics independently, small differences quickly become data quality problems.
Geo Core solves this with one implementation, validated against authoritative reference data and shared by the AIXM Reader, our map platform, the Geometry Validation Suite and all origination applications. The same input gives the same result everywhere.
Key Benefits
- Validated Accuracy: tested against GeographicLib's GeodTest data set and the worked examples of FAA Order 8260.54A.
- No Silent Failures: algorithms report non-convergence explicitly instead of returning a wrong answer.
- Runs Everywhere: one Kotlin code base for JVM services, web applications and native platforms.
- Lightweight: no dependencies on other ANNEA libraries; easy to adopt on its own.
Capabilities
Geodesic Calculations
- Vincenty direct and inverse solutions on the WGS-84 ellipsoid
- Karney's algorithm through the official GeographicLib implementations, including near-antipodal cases
- Rhumb line (constant bearing) direct and inverse solutions
- Cross-track and along-track distance and closest point on a track
- Line, track and circle intersections
Aeronautical Geometry Construction
- Geodesic lines, arcs and circles as used in airspace definitions
- Densification driven by a single tolerance in metres, so every edge, arc and circle is represented within the same accuracy
- Bounding boxes, areas and centroids
- Parsing of coordinate text in DD and DMS formats, and conversion between geometry text and GML
Polygon Operations
- Union, intersection and difference of polygons, including holes
- Overlap measurement with minimum area and percentage thresholds, for example to determine which FIRs or airspaces an event affects
NOTAM Q-Circle and Enclosing Circles
- Deterministic minimum enclosing circle on the WGS-84 ellipsoid
- NOTAM Q-line circle: whole-minute centre, recalculated radius and whole nautical mile rounding
- Exact encompassing radius from a user-adjusted centre
Datums and Projections
- Conversion between geodetic, ECEF and UTM coordinates
- Datum transformations, including EPSG Helmert parameters
- Gnomonic projection
Magnetic Models
- World Magnetic Model and IGRF-14 for 2015 to 2030: declination, inclination and field intensities
- Secular variation, including the annual change of declination published in AIPs
- Isogonic lines
- Validated against NOAA's official WMM test values and the IGRF-14 reference suite
Platforms
Geo Core is delivered as a JVM library for services and desktop applications, as a JavaScript package for web applications and as native builds. It is the foundation of the AIXM Software Development Kit.