Hermes
|
The implementantion of TRACLUS algorithm. More...
#include "../../h/Clustering/Traclus/Distance.h"
#include "../../h/Spatial/SegmentSP/Properties.h"
#include "../../h/Spatial/SegmentSP/Casts.h"
#include "../../h/Spatial/LineSP/Properties.h"
#include "../../h/Spatial/PointSP/Distance.h"
#include "../../h/Utilities/Utilities.h"
#include "../../h/Utilities/MSVCWorkarounds.h"
#include <math.h>
Functions | |
PointSP * | projectionPointTraclus (const PointSP *point, const SegmentSP *segment, PointSP *result) |
The function returns the perpendicular projection of point onto a line and is need it by the TRACLUS algorithm. It`s definition is given by [lee2007trajectory.] More... | |
PGDLLEXPORT Datum | projectionPointTraclusV1 (PG_FUNCTION_ARGS) |
PG_FUNCTION_INFO_V1 (projectionPointTraclusV1) | |
float8 | perpendicularDistanceTraclus (const SegmentSP *segmentA, const SegmentSP *segmentB) |
The function returns the perpendicular distance between two segments and is need it by the TRACLUS algorithm. It`s definition is given by [lee2007trajectory.] More... | |
float8 | parallelDistanceTraclus (const SegmentSP *segmentA, const SegmentSP *segmentB) |
The function returns the parallel distance between two segments and is need it by the TRACLUS algorithm. It`s definition is given by [lee2007trajectory.] More... | |
float8 | angleDistanceTraclus (const SegmentSP *segmentA, const SegmentSP *segmentB) |
The function returns the anle distance between two segments and is need it by the TRACLUS algorithm. It`s definition is given by [lee2007trajectory.] More... | |
float8 | traclusDistance (const SegmentSP *segmentA, const SegmentSP *segmentB, float4 w_perpendicular, float4 w_parallel, float4 w_angle) |
The function returns the TRACLUS clustering. It`s definition is given by [lee2007trajectory.] More... | |
PGDLLEXPORT Datum | perpendicularDistanceTraclusV1 (PG_FUNCTION_ARGS) |
PG_FUNCTION_INFO_V1 (perpendicularDistanceTraclusV1) | |
PGDLLEXPORT Datum | parallelDistanceTraclusV1 (PG_FUNCTION_ARGS) |
PG_FUNCTION_INFO_V1 (parallelDistanceTraclusV1) | |
PGDLLEXPORT Datum | angleDistanceTraclusV1 (PG_FUNCTION_ARGS) |
PG_FUNCTION_INFO_V1 (angleDistanceTraclusV1) | |
PGDLLEXPORT Datum | traclusDistanceV1 (PG_FUNCTION_ARGS) |
PG_FUNCTION_INFO_V1 (traclusDistanceV1) | |
The implementantion of TRACLUS algorithm.
This function is documented in the Traclus/Distance.h
The function returns the anle distance between two segments and is need it by the TRACLUS algorithm. It`s definition is given by [lee2007trajectory.]
References angleXXLineSP(), lengthSegmentSP(), radians2degrees(), and SegmentSP2LineSP().
Referenced by angleDistanceTraclusV1(), and traclusDistance().
PGDLLEXPORT Datum angleDistanceTraclusV1 | ( | PG_FUNCTION_ARGS | ) |
The function returns the parallel distance between two segments and is need it by the TRACLUS algorithm. It`s definition is given by [lee2007trajectory.]
References distancePointSP_PointSP(), SegmentSP::e, SegmentSP::i, and projectionPointTraclus().
Referenced by parallelDistanceTraclusV1(), and traclusDistance().
PGDLLEXPORT Datum parallelDistanceTraclusV1 | ( | PG_FUNCTION_ARGS | ) |
The function returns the perpendicular distance between two segments and is need it by the TRACLUS algorithm. It`s definition is given by [lee2007trajectory.]
References distancePointSP_PointSP(), SegmentSP::e, SegmentSP::i, and projectionPointTraclus().
Referenced by perpendicularDistanceTraclusV1(), and traclusDistance().
PGDLLEXPORT Datum perpendicularDistanceTraclusV1 | ( | PG_FUNCTION_ARGS | ) |
PG_FUNCTION_INFO_V1 | ( | projectionPointTraclusV1 | ) |
PG_FUNCTION_INFO_V1 | ( | perpendicularDistanceTraclusV1 | ) |
PG_FUNCTION_INFO_V1 | ( | parallelDistanceTraclusV1 | ) |
PG_FUNCTION_INFO_V1 | ( | angleDistanceTraclusV1 | ) |
PG_FUNCTION_INFO_V1 | ( | traclusDistanceV1 | ) |
PointSP* projectionPointTraclus | ( | const PointSP * | point, |
const SegmentSP * | segment, | ||
PointSP * | result | ||
) |
The function returns the perpendicular projection of point onto a line and is need it by the TRACLUS algorithm. It`s definition is given by [lee2007trajectory.]
References SegmentSP::e, SegmentSP::i, round(), PointSP::x, and PointSP::y.
Referenced by parallelDistanceTraclus(), perpendicularDistanceTraclus(), and projectionPointTraclusV1().
PGDLLEXPORT Datum projectionPointTraclusV1 | ( | PG_FUNCTION_ARGS | ) |
float8 traclusDistance | ( | const SegmentSP * | segmentA, |
const SegmentSP * | segmentB, | ||
float4 | w_perpendicular, | ||
float4 | w_parallel, | ||
float4 | w_angle | ||
) |
The function returns the TRACLUS clustering. It`s definition is given by [lee2007trajectory.]
References angleDistanceTraclus(), parallelDistanceTraclus(), and perpendicularDistanceTraclus().
Referenced by traclusDistanceV1().
PGDLLEXPORT Datum traclusDistanceV1 | ( | PG_FUNCTION_ARGS | ) |