LuciadRIA supports several geodetic calculations and the calculation of intersection points. This capability is useful for various applications. For example, you can:

  • Calculate the geodetic distance between two points on the map

  • Calculate intersection points to find the points where roads cross, or where a trajectory crosses the border of a country

LuciadRIA offers distinct classes for each of the calculation types:

You can load just the calculation module you need, and keep the loading time of your web application as low as possible.

LuciadRIA also provides support for constructive geometry boolean operations as part of the LuciadRIA component "Advanced GIS Engine". You can use this component to calculate the union, intersection, and difference of shapes in 2D spaces. You need to purchase and install this component before you can make use of its functionality.

Performing geodetic calculations

Geodetic calculations are calculations performed on georeferenced data.

It supports these main operations:

  • distance: calculates the distance between two points in meters.

  • forwardAzimuth: calculates the forward azimuth between two points in degrees.

  • interpolate: interpolate a point along the line between two other points.

To perform the geodetic calculations, you need to create Geodesy objects. The geodesy module provides the factory class GeodesyFactory.You can use it to create a Cartesian, spherical, or ellipsoidal Geodesy object. You use that object to perform the actual geometric calculations.

You must give a geographic reference CoordinateReference to the geodesy factory. This reference determines in which spatial reference system the geodesy object performs its calculations.

Program: Calculating distances between two points illustrates how you get a geodesy object from a given reference to perform geodetic calculations on the ellipsoid. It shows how you can calculate the distance between two points.

Program: Calculating distances between two points (from samples/verticalview/shapeproviders/AirspaceShapeProvider.ts)
this.geodesy = createEllipsoidalGeodesy(reference);

Performing topology calculations

LuciadRIA supports these geometric operations for a topology on georeferenced data:

  • calculateIntersections: calculates intersection points between two shapes.

To perform this calculation, you must create Topology objects. The geometry module offers the factory class TopologyFactory for this purpose. You can create Cartesian or ellipsoidal Topology objects with it.

You must give a geographic reference CoordinateReference to the topology factory.