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