Luis Calisto

A FOSS enthusiast for more than 15 years. Passionate for all geo technologies such as QGIS, OpenLayers, OGC standards, GDAL and a fan of PostGIS. Recently an enthusiast of GraphQL with PostGIS and Graphile.

The speaker's profile picture


Geometry Referential, a package to convert coordinates, formats and altitudes.
Luis Calisto

As the FOSS community grows, the number of packages we can use when creating modern web apps also grows. This is true also for spatial related packages, however this richness comes with its own difficulties: the way coordinate systems are managed is not necessarily consistent among software packages. When creating complex spatial web-based apps, we may encounter difficulties dealing with coordinates while using different packages. Developers may become aware of this problem when converting coordinates between reference systems.

For some time, developers at Sterblue faced several coordinate transformation issues while creating its comprehensive web platform. Sterblue platform is a central platform for infrastructure inspections that uses many different packages and technologies. The main programming languages are Javascript and Typescript.

Initially PROJ4JS was the preferred package to handle coordinate transformations but problems started to arise when performing format and coordinate transformations using different altitude systems. The problems became worse with the need of using local and geospatial coordinate systems.

Local coordinate systems describe a local coordinate space and are mainly used on computer graphics, for example when modelling a wind turbine 3d model. Local coordinates are not geospatial systems but their coordinates can be transformed into geospatial coordinates, for example while transforming points from a wind turbine 3d model into a geospatial coordinate system, e.g., WGS84.

To overcome this, we developed a tool that can handle multiple format and coordinate transformations as well as local coordinate system support. We named this package Geometry Referential and we provide it as FOSS.

This package was created to provide a universal way of converting coordinates between systems, formats and altitude all in the same package using one standard way. To convert coordinates between geospatial coordinate systems, it uses PROJ4JS internally, the aim is not to replace PROJ4JS but instead to extend its functionality with format; altitude and local systems conversion, all at once.

This presentation will describe what Geometry Referential is and how it can be used.