Interface Trajectory

Interface for defining a trajectory. This can be used to work with wellbore trajectories, where the measured top, termination point and length are known. The measured length should be used when calculating positions of data given in MD, so that the position on the curve is given by:

const pos = (md - trajectory.measuredTop) / trajectory.measuredLength

Avoid using the calculated length of the curve for this purpose, as this may potentially be less precise/consistant. The getPointAtDepth function in this interface is calculated as in the above example when created using the getTrajectory function.

interface Trajectory {
    curve: Curve3D;
    getPointAtDepth: (md: number, clamped?: boolean) => null | Vec3;
    getPositionAtDepth: (md: number, clamped?: boolean) => null | number;
    id: string | number;
    measuredBottom: number;
    measuredLength: number;
    measuredTop: number;
}

Properties

curve: Curve3D

curve defining the trajectory for interpolation purposes

getPointAtDepth: (md: number, clamped?: boolean) => null | Vec3

get the point along the trajectory according to a MD msl value. Returns null if out of range.

getPositionAtDepth: (md: number, clamped?: boolean) => null | number
id: string | number

a unique id, typically wellbore id

measuredBottom: number

the known measured depth (msl) at the termination point of the trajectory

measuredLength: number

the known measured length of the trajectory

measuredTop: number

the known measured depth (msl) at the top of the trajectory