LuciadRIA provides support for performing a variety of geodetic calculations and calculating intersection points. This functionality 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:

Consequently, you can load just the calculation module you need, and keep the loading time of your web application to a minimum.

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

The following sections describe how to use these classes in LuciadRIA.

Performing geodetic calculations

Geodetic calculations are calculations performed on georeferenced data.

The main operations supported are:

  • 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 such geodetic calculations, you need to create Geodesy objects. The geodesy module provides the factory class GeodesyFactory that allows you to obtain a Cartesian, spherical or ellipsoidal geodesy object (Geodesy). This object can be used to perform the actual geometric calculations.

You must provide 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 a geodesy object is obtained from a given reference to perform geodetic calculations on the ellipsoid. It shows how the distance between two points can be calculated.

Program: Calculating distances between two points (from samples/verticalview/common/AirspaceShapeProvider.js)
this.geodesy = createEllipsoidalGeodesy(airspaceFeature.shape.reference);

Performing topology calculations

LuciadRIA supports the following geometric operation for a particular topology on georeferenced data.

  • calculateIntersections: calculates intersection points between two shapes.

To perform this calculation, you need to create Topology objects. The geometry module provides the factory class TopologyFactory that allows you to obtain a Cartesian or ellipsoidal Topology object.

You must provide a geographic reference (CoordinateReference) to the topology factory.