The eGeodesy Logical Model, developed by the Permanent Committee on Geodesy (PCG) of the Australian and New Zealand Intergovernmental Committee on Surveying and Mapping (ICSM), defines a technology-independent language to model the core business processes, entities, and relationships within the geodetic domain.
GeodesyML, an XML implementation of the eGeodesy model, is a proposed Geography Markup Language (GML) application schema for transfer of geodetic information.
Geoscience Australia (GA) is adopting GeodesyML as the standard for exchange of geodetic information.
All software developed at GA relating to eGeodesy is released as open-source. It is a work-in-progress; collaborators, users, and reviewers are more than welcome.
What is GeodesyML?
The Geodesy Markup Language (GeodesyML) is a standard way of describing (encoding) and sharing geodetic data and metadata. In the same way people from all over the world speak different languages, so do geodesists; for example, some people use the term ‘GNSS station’ and others use the term ‘GNSS site’. GeodesyML is a common language. By mapping your database to GeodesyML, when your data is shared with others, it is easy for the user to discover and combine with other data.
The GeodesyML schemas, tools, examples and HTML documentation with diagrams can be found on the Geoscience Australia GitHub page (https://github.com/GeoscienceAustralia/GeodesyML).
eGeodesy groups together several related projects, which define GeodesyML and facilitate Geoscience Australia and its collaborating partners in adopting GeodesyML as a common domain language.
The following dependency diagram and the brief descriptions below give an overview.
Note: All components are in active development.
GeodesyML is an GML application schema for representation and exchange of geodetic information. For more information, see the information page.
The project contains XML schema files for GeodesyML and all third-party schemas that GeodesyML depends on. It contains schematron validation rules to enforce conformance to published code lists, like GNSS antenna and receiver types and GMD responsible party roles. It also contains bash driver scripts to perform validation of GeodesyML documents and report on XML schema and schematron violations.
ogc-schemas provides JAXB (and Jsonix) bindings for some of the XML schemas defined by OGC. Geoscience Australia’s fork of
ogc-schemas adds GeodesyML to the list of supported schemas. We leverage existing bindings for OGC schemas GML, GCO, GMD, GMX, and OM, on which GeodesyML is built.
geodesyml-java-bindings augments the binding classes generated in
ogc-schemas with a utility class to perform marshalling and unmarshalling of any entity defined by GeodesyML or the schemas it depends on. This project is the first port of call for Java software needing to parse GeodesyML documents.
GeodesyML binding classes are automatically generated from XML schema files and using them exensively for purposes other than of data serialisation can be awkward. Project
geodesy-domain-model maps the generated GeodesyML entities to a set of domain classes more suited to persistence and data processing. It provides a set of domain services relevant to GA’s operational requirements, like business validation of incoming data, processing of GNSS CORS site logs to broker eGeodesy node and setup entities, and broadcasting of significant domain events, like availability of final solutions or rejection of invalid site log submissions.
geodesy-web-services is part of the public HTTP-based API for interacting with Geodesy domain services offered by Geoscience Australia. First services to be published will offer validation, submission, and retrieval of GeodesyML site log documents.
Contributions and bug reports are welcome.
Please feel free to contact us through GitHub or at email@example.com.
-Lazar Bodor (firstname.lastname@example.org)