GeodesyML for IT Specialists

Background

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).

 

About

GitHub project 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.

component-overview

Note: All components are in active development.

 

GeodesyML

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.

http://github.com/GeoscienceAustralia/geodesyml

 

OGC Schemas for JAXB

Third-party project 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.

http://github.com/GeoscienceAustralia/ogc-schemas/tree/geodesyml

 

GeodesyML Java Bindings

Project 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.

http://github.com/GeoscienceAustralia/geodesyml-java-bindings

 

Geodesy Domain Model and Services

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.

http://github.com/GeoscienceAustralia/geodesy-domain-model

 

Geodesy Web Services

Project 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.

http://github.com/GeoscienceAustralia/geodesy-web-services

 

Contact Information

Contributions and bug reports are welcome.

Please feel free to contact us through GitHub or at geodesy@ga.gov.au.

-Lazar Bodor (lazar.bodor@ga.gov.au)