Titanlib
Library for quality control algorithms
Functions
titanlib::util Namespace Reference

Functions

float calc_distance (float lat1, float lon1, float lat2, float lon2)
 
float calc_distance (float x0, float y0, float z0, float x1, float y1, float z1)
 
double clock ()
 
float compute_quantile (double quantile, const vec &array)
 
bool convert_coordinates (const vec &lats, const vec &lons, vec &x_coords, vec &y_coords, vec &z_coords)
 Convert lat/lons to 3D cartesian coordinates with the centre of the earth as the origin. More...
 
bool convert_coordinates (float lat, float lon, float &x_coord, float &y_coord, float &z_coord)
 Same as above, but convert a single lat/lon to 3D cartesian coordinates. More...
 
void convert_to_proj (const vec &lats, const vec &lons, std::string proj4, vec &x_coords, vec &y_coords)
 
float deg2rad (float deg)
 
vec interpolate_to_points (const vec2 &input_lats, const vec2 &input_lons, const vec2 &input_values, const vec &output_lats, const vec &output_lons)
 
vec subset (const vec &input, const ivec &indices)
 
float * test_array (float *v, int n)
 Required for SWIG only. More...
 

Function Documentation

◆ calc_distance() [1/2]

float titanlib::util::calc_distance ( float  lat1,
float  lon1,
float  lat2,
float  lon2 
)

◆ calc_distance() [2/2]

float titanlib::util::calc_distance ( float  x0,
float  y0,
float  z0,
float  x1,
float  y1,
float  z1 
)

◆ clock()

double titanlib::util::clock ( )
Returns
The current UTC time (in seconds since 1970-01-01 00:00:00Z)

◆ compute_quantile()

float titanlib::util::compute_quantile ( double  quantile,
const vec array 
)

◆ convert_coordinates() [1/2]

bool titanlib::util::convert_coordinates ( const vec lats,
const vec lons,
vec x_coords,
vec y_coords,
vec z_coords 
)

Convert lat/lons to 3D cartesian coordinates with the centre of the earth as the origin.

Parameters
latsvector of latitudes [deg]
lonsvector of longitudes [deg]
x_coordsvector of x-coordinates [m]
y_coordsvector of y-coordinates [m]
z_coordsvector of z-coordinates [m]

◆ convert_coordinates() [2/2]

bool titanlib::util::convert_coordinates ( float  lat,
float  lon,
float &  x_coord,
float &  y_coord,
float &  z_coord 
)

Same as above, but convert a single lat/lon to 3D cartesian coordinates.

Parameters
latlatitude [deg]
lonlongitude [deg]
x_coordx-coordinate [m]
y_coordy-coordinate [m]
z_coordz-coordinate [m]

◆ convert_to_proj()

void titanlib::util::convert_to_proj ( const vec lats,
const vec lons,
std::string  proj4,
vec x_coords,
vec y_coords 
)

◆ deg2rad()

float titanlib::util::deg2rad ( float  deg)

◆ interpolate_to_points()

vec titanlib::util::interpolate_to_points ( const vec2 input_lats,
const vec2 input_lons,
const vec2 input_values,
const vec output_lats,
const vec output_lons 
)

◆ subset()

vec titanlib::util::subset ( const vec input,
const ivec indices 
)

◆ test_array()

float * titanlib::util::test_array ( float *  v,
int  n 
)

Required for SWIG only.