SAGA API
v9.6
|
Go to the source code of this file.
Classes | |
struct | SSG_Point |
class | CSG_Point |
class | CSG_Points |
class | CSG_Lines |
struct | SSG_Point_3D |
class | CSG_Point_3D |
class | CSG_Points_3D |
struct | SSG_Point_4D |
class | CSG_Point_4D |
struct | SSG_Point_Int |
class | CSG_Points_Int |
struct | SSG_Rect |
class | CSG_Rect |
class | CSG_Rects |
struct | SSG_Rect_Int |
class | CSG_Rect_Int |
class | CSG_Rects_Int |
class | CSG_Distance_Weighting |
class | CSG_Projection |
class | CSG_Projections |
Macros | |
#define | SG_IS_BETWEEN(a, x, b) (((a) <= (x) && (x) <= (b)) || ((b) <= (x) && (x) <= (a))) |
Typedefs | |
typedef struct SSG_Point | TSG_Point |
typedef struct SSG_Point_3D | TSG_Point_3D |
typedef struct SSG_Point_4D | TSG_Point_4D |
typedef struct SSG_Point_Int | TSG_Point_Int |
typedef struct SSG_Rect | TSG_Rect |
typedef struct SSG_Rect_Int | TSG_Rect_Int |
Functions | |
SAGA_API_DLL_EXPORT CSG_Projections & | SG_Get_Projections (void) |
SAGA_API_DLL_EXPORT bool | SG_Get_Projected (class CSG_Shapes *pSource, class CSG_Shapes *pTarget, const CSG_Projection &Target) |
SAGA_API_DLL_EXPORT bool | SG_Get_Projected (const CSG_Projection &Source, const CSG_Projection &Target, TSG_Point &Point) |
SAGA_API_DLL_EXPORT bool | SG_Get_Projected (const CSG_Projection &Source, const CSG_Projection &Target, TSG_Rect &Rectangle) |
SAGA_API_DLL_EXPORT bool | SG_Grid_Get_Geographic_Coordinates (CSG_Grid *pGrid, CSG_Grid *pLon, CSG_Grid *pLat) |
SAGA_API_DLL_EXPORT bool | SG_Is_Equal (double a, double b, double epsilon=0.) |
SAGA_API_DLL_EXPORT bool | SG_Is_Equal (const TSG_Point &A, const TSG_Point &B, double epsilon=0.) |
SAGA_API_DLL_EXPORT bool | SG_Is_Between (double x, double a, double b, double epsilon=0.) |
SAGA_API_DLL_EXPORT bool | SG_Is_Between (const TSG_Point &Point, const TSG_Point &Corner_A, const TSG_Point &Corner_B, double epsilon=0.) |
SAGA_API_DLL_EXPORT double | SG_Get_Length (double dx, double dy) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance (double ax, double ay, double bx, double by, bool bPolar) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance (const TSG_Point &A, const TSG_Point &B, bool bPolar) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance (double ax, double ay, double bx, double by) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance (const TSG_Point &A, const TSG_Point &B) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance (double ax, double ay, double az, double bx, double by, double bz) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance (const TSG_Point_3D &A, const TSG_Point_3D &B) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance_Polar (double aLon, double aLat, double bLon, double bLat, double a=6378137., double e=298.257223563, bool bDegree=true) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance_Polar (const TSG_Point &A, const TSG_Point &B, double a=6378137., double e=298.257223563, bool bDegree=true) |
SAGA_API_DLL_EXPORT double | SG_Get_Angle_Of_Direction (double dx, double dy) |
SAGA_API_DLL_EXPORT double | SG_Get_Angle_Of_Direction (double ax, double ay, double bx, double by) |
SAGA_API_DLL_EXPORT double | SG_Get_Angle_Of_Direction (const TSG_Point &A) |
SAGA_API_DLL_EXPORT double | SG_Get_Angle_Of_Direction (const TSG_Point &A, const TSG_Point &B) |
SAGA_API_DLL_EXPORT double | SG_Get_Angle_Difference (double a, double b) |
SAGA_API_DLL_EXPORT bool | SG_is_Angle_Between (double Angle, double Angle_Min, double Angle_Max, bool bCheckRange=true) |
SAGA_API_DLL_EXPORT bool | SG_Get_Crossing (TSG_Point &Crossing, const TSG_Point &a1, const TSG_Point &a2, const TSG_Point &b1, const TSG_Point &b2, bool bExactMatch=true) |
SAGA_API_DLL_EXPORT bool | SG_Get_Crossing_InRegion (TSG_Point &Crossing, const TSG_Point &a, const TSG_Point &b, const TSG_Rect &Region) |
SAGA_API_DLL_EXPORT bool | SG_Is_Point_On_Line (const TSG_Point &Point, const TSG_Point &Line_A, const TSG_Point &Line_B, bool bExactMatch=false, double Epsilon=0.) |
SAGA_API_DLL_EXPORT double | SG_Get_Distance_To_Line (const TSG_Point &Point, const TSG_Point &Line_A, const TSG_Point &Line_B, bool bExactMatch=true) |
SAGA_API_DLL_EXPORT double | SG_Get_Nearest_Point_On_Line (const TSG_Point &Point, const TSG_Point &Line_A, const TSG_Point &Line_B, TSG_Point &Line_Point, bool bExactMatch=true) |
SAGA_API_DLL_EXPORT bool | SG_Get_Triangle_CircumCircle (TSG_Point Triangle[3], TSG_Point &Point, double &Radius) |
SAGA_API_DLL_EXPORT double | SG_Get_Polygon_Area (TSG_Point *Points, int nPoints) |
SAGA_API_DLL_EXPORT double | SG_Get_Polygon_Area (const CSG_Points &Points) |
Tools for geometric/geographic data types and related functions.
Definition in file geo_tools.h.
#define SG_IS_BETWEEN | ( | a, | |
x, | |||
b | |||
) | (((a) <= (x) && (x) <= (b)) || ((b) <= (x) && (x) <= (a))) |
Definition at line 90 of file geo_tools.h.
typedef struct SSG_Point_3D TSG_Point_3D |
typedef struct SSG_Point_4D TSG_Point_4D |
typedef struct SSG_Point_Int TSG_Point_Int |
typedef struct SSG_Rect_Int TSG_Rect_Int |
|
strong |
Enumerator | |
---|---|
WKT1 | |
WKT2 | |
PROJ | |
JSON | |
ESRI | |
CODE | |
Undefined | |
WKT |
Definition at line 779 of file geo_tools.h.
|
strong |
Enumerator | |
---|---|
Geographic | |
Geodetic | |
Geocentric | |
Projection | |
Undefined |
Definition at line 785 of file geo_tools.h.
|
strong |
Definition at line 791 of file geo_tools.h.
Enumerator | |
---|---|
SG_DISTWGHT_None | |
SG_DISTWGHT_IDW | |
SG_DISTWGHT_EXP | |
SG_DISTWGHT_GAUSS |
Definition at line 694 of file geo_tools.h.
enum TSG_Intersection |
Enumerator | |
---|---|
INTERSECTION_None | |
INTERSECTION_Identical | |
INTERSECTION_Overlaps | |
INTERSECTION_Contained | |
INTERSECTION_Contains |
Definition at line 100 of file geo_tools.h.
|
strong |
Enumerator | |
---|---|
SG_POINT_TYPE_2D | |
SG_POINT_TYPE_3D | |
SG_POINT_TYPE_4D | |
SG_POINT_TYPE_2D_Int |
Definition at line 111 of file geo_tools.h.
SAGA_API_DLL_EXPORT double SG_Get_Angle_Difference | ( | double | a, |
double | b | ||
) |
Definition at line 247 of file geo_functions.cpp.
SAGA_API_DLL_EXPORT double SG_Get_Angle_Of_Direction | ( | const TSG_Point & | A | ) |
Definition at line 235 of file geo_functions.cpp.
References A, and SG_Get_Angle_Of_Direction().
SAGA_API_DLL_EXPORT double SG_Get_Angle_Of_Direction | ( | const TSG_Point & | A, |
const TSG_Point & | B | ||
) |
Definition at line 241 of file geo_functions.cpp.
References A, B, and SG_Get_Angle_Of_Direction().
SAGA_API_DLL_EXPORT double SG_Get_Angle_Of_Direction | ( | double | ax, |
double | ay, | ||
double | bx, | ||
double | by | ||
) |
Definition at line 229 of file geo_functions.cpp.
References SG_Get_Angle_Of_Direction().
SAGA_API_DLL_EXPORT double SG_Get_Angle_Of_Direction | ( | double | dx, |
double | dy | ||
) |
Definition at line 216 of file geo_functions.cpp.
References M_PI_090, M_PI_180, and M_PI_360.
Referenced by SG_Get_Angle_Of_Direction().
SAGA_API_DLL_EXPORT bool SG_Get_Crossing | ( | TSG_Point & | Crossing, |
const TSG_Point & | a1, | ||
const TSG_Point & | a2, | ||
const TSG_Point & | b1, | ||
const TSG_Point & | b2, | ||
bool | bExactMatch = true |
||
) |
Definition at line 280 of file geo_functions.cpp.
References M_GET_MAX, M_GET_MIN, SSG_Point::x, and SSG_Point::y.
Referenced by CSG_TIN_Triangle::is_Containing(), CSG_Shape_Line::On_Intersects(), CSG_Shape_Polygon::On_Intersects(), SG_Get_Crossing_InRegion(), SG_Get_Nearest_Point_On_Line(), and SG_Get_Triangle_CircumCircle().
SAGA_API_DLL_EXPORT bool SG_Get_Crossing_InRegion | ( | TSG_Point & | Crossing, |
const TSG_Point & | a, | ||
const TSG_Point & | b, | ||
const TSG_Rect & | Region | ||
) |
Definition at line 342 of file geo_functions.cpp.
References SG_Get_Crossing(), SSG_Point::x, SSG_Rect::xMax, SSG_Rect::xMin, SSG_Point::y, SSG_Rect::yMax, and SSG_Rect::yMin.
Referenced by CSG_Shape_Line::On_Intersects(), and CSG_Shape_Polygon::On_Intersects().
SAGA_API_DLL_EXPORT double SG_Get_Distance | ( | const TSG_Point & | A, |
const TSG_Point & | B | ||
) |
Definition at line 124 of file geo_functions.cpp.
SAGA_API_DLL_EXPORT double SG_Get_Distance | ( | const TSG_Point & | A, |
const TSG_Point & | B, | ||
bool | bPolar | ||
) |
Definition at line 109 of file geo_functions.cpp.
References A, B, SG_Get_Distance(), and SG_Get_Distance_Polar().
SAGA_API_DLL_EXPORT double SG_Get_Distance | ( | const TSG_Point_3D & | A, |
const TSG_Point_3D & | B | ||
) |
Definition at line 145 of file geo_functions.cpp.
SAGA_API_DLL_EXPORT double SG_Get_Distance | ( | double | ax, |
double | ay, | ||
double | az, | ||
double | bx, | ||
double | by, | ||
double | bz | ||
) |
Definition at line 135 of file geo_functions.cpp.
SAGA_API_DLL_EXPORT double SG_Get_Distance | ( | double | ax, |
double | ay, | ||
double | bx, | ||
double | by | ||
) |
Definition at line 115 of file geo_functions.cpp.
SAGA_API_DLL_EXPORT double SG_Get_Distance | ( | double | ax, |
double | ay, | ||
double | bx, | ||
double | by, | ||
bool | bPolar | ||
) |
Definition at line 103 of file geo_functions.cpp.
References SG_Get_Distance(), and SG_Get_Distance_Polar().
Referenced by CSG_Shape_Polygon_Part::_Add_Edge_Points(), CSG_Shape_Polygon_Part::_Update_Area(), CSG_Shape_Point::Get_Distance(), CSG_Shape_Points::Get_Distance(), CSG_Shape_Line::Get_Length(), CSG_Lines::Get_Length(), CSG_PointCloud::Get_Shape(), SG_Get_Distance(), and SG_Get_Nearest_Point_On_Line().
SAGA_API_DLL_EXPORT double SG_Get_Distance_Polar | ( | const TSG_Point & | A, |
const TSG_Point & | B, | ||
double | a = 6378137. , |
||
double | e = 298.257223563 , |
||
bool | bDegree = true |
||
) |
Definition at line 203 of file geo_functions.cpp.
References A, B, and SG_Get_Distance_Polar().
SAGA_API_DLL_EXPORT double SG_Get_Distance_Polar | ( | double | aLon, |
double | aLat, | ||
double | bLon, | ||
double | bLat, | ||
double | a = 6378137. , |
||
double | e = 298.257223563 , |
||
bool | bDegree = true |
||
) |
Definition at line 157 of file geo_functions.cpp.
References C, M_DEG_TO_RAD, and SG_Get_Square().
Referenced by SG_Get_Distance(), and SG_Get_Distance_Polar().
SAGA_API_DLL_EXPORT double SG_Get_Distance_To_Line | ( | const TSG_Point & | Point, |
const TSG_Point & | Line_A, | ||
const TSG_Point & | Line_B, | ||
bool | bExactMatch = true |
||
) |
Definition at line 413 of file geo_functions.cpp.
References SG_Get_Nearest_Point_On_Line().
SAGA_API_DLL_EXPORT double SG_Get_Length | ( | double | dx, |
double | dy | ||
) |
Definition at line 97 of file geo_functions.cpp.
SAGA_API_DLL_EXPORT double SG_Get_Nearest_Point_On_Line | ( | const TSG_Point & | Point, |
const TSG_Point & | Line_A, | ||
const TSG_Point & | Line_B, | ||
TSG_Point & | Line_Point, | ||
bool | bExactMatch = true |
||
) |
Definition at line 421 of file geo_functions.cpp.
References SG_Get_Crossing(), SG_Get_Distance(), SG_IS_BETWEEN, SSG_Point::x, and SSG_Point::y.
Referenced by CSG_Shape_Polygon_Part::Get_Distance(), CSG_Shape_Line::Get_Distance(), and SG_Get_Distance_To_Line().
SAGA_API_DLL_EXPORT double SG_Get_Polygon_Area | ( | const CSG_Points & | Points | ) |
Definition at line 534 of file geo_functions.cpp.
References CSG_Points::Get_Count().
SAGA_API_DLL_EXPORT double SG_Get_Polygon_Area | ( | TSG_Point * | Points, |
int | nPoints | ||
) |
Definition at line 514 of file geo_functions.cpp.
References SSG_Point::x, and SSG_Point::y.
Referenced by CSG_TIN_Node::Get_Polygon_Area().
SAGA_API_DLL_EXPORT bool SG_Get_Projected | ( | class CSG_Shapes * | pSource, |
class CSG_Shapes * | pTarget, | ||
const CSG_Projection & | Target | ||
) |
Definition at line 2623 of file projections.cpp.
References CSG_Data_Manager::Add(), CSG_Shapes::Create(), CSG_Tool_Library_Manager::Create_Tool(), CSG_Data_Manager::Delete(), CSG_Tool_Library_Manager::Delete_Tool(), CSG_Tool::Execute(), CSG_Data_Object::Get_Projection(), CSG_Projection::Get_WKT(), CSG_Projection::is_Okay(), CSG_Shapes::is_Valid(), CSG_Tool::Set_Callback(), CSG_Tool::Set_Manager(), CSG_Tool::Set_Parameter(), SG_Get_Tool_Library_Manager(), and SG_UI_ProgressAndMsg_Lock().
Referenced by SG_Get_Projected().
SAGA_API_DLL_EXPORT bool SG_Get_Projected | ( | const CSG_Projection & | Source, |
const CSG_Projection & | Target, | ||
TSG_Point & | Point | ||
) |
Definition at line 2664 of file projections.cpp.
References CSG_Parameter::asDouble(), CSG_Tool_Library_Manager::Create_Tool(), CSG_Tool_Library_Manager::Delete_Tool(), CSG_Tool::Execute(), CSG_Tool::Get_Parameter(), CSG_Projection::Get_WKT(), CSG_Projection::is_Okay(), CSG_Tool::Set_Callback(), CSG_Tool::Set_Manager(), CSG_Tool::Set_Parameter(), SG_Get_Tool_Library_Manager(), SG_UI_ProgressAndMsg_Lock(), SSG_Point::x, and SSG_Point::y.
SAGA_API_DLL_EXPORT bool SG_Get_Projected | ( | const CSG_Projection & | Source, |
const CSG_Projection & | Target, | ||
TSG_Rect & | Rectangle | ||
) |
Definition at line 2704 of file projections.cpp.
References CSG_Shape::Add_Point(), CSG_Shapes::Add_Shape(), CSG_Projection::Create(), CSG_Shapes::Get_Extent(), CSG_Data_Object::Get_Projection(), CSG_Projection::is_Okay(), SG_Get_Projected(), SHAPE_TYPE_Point, SSG_Rect::xMax, SSG_Rect::xMin, SSG_Rect::yMax, and SSG_Rect::yMin.
SAGA_API_DLL_EXPORT CSG_Projections& SG_Get_Projections | ( | void | ) |
Definition at line 69 of file projections.cpp.
References gSG_Projections.
Referenced by SG_Initialize_Environment().
SAGA_API_DLL_EXPORT bool SG_Get_Triangle_CircumCircle | ( | TSG_Point | Triangle[3], |
TSG_Point & | Point, | ||
double & | Radius | ||
) |
Definition at line 465 of file geo_functions.cpp.
References A, B, C, SG_Get_Crossing(), SSG_Point::x, and SSG_Point::y.
SAGA_API_DLL_EXPORT bool SG_Grid_Get_Geographic_Coordinates | ( | CSG_Grid * | pGrid, |
CSG_Grid * | pLon, | ||
CSG_Grid * | pLat | ||
) |
Definition at line 2739 of file projections.cpp.
References CSG_Grid::Create(), CSG_Data_Object::Get_Projection(), CSG_Grid::Get_System(), CSG_Projection::is_Okay(), CSG_Grid::is_Valid(), SG_RUN_TOOL, and SG_TOOL_PARAMETER_SET.
SAGA_API_DLL_EXPORT bool SG_is_Angle_Between | ( | double | Angle, |
double | Angle_Min, | ||
double | Angle_Max, | ||
bool | bCheckRange = true |
||
) |
Definition at line 257 of file geo_functions.cpp.
References M_PI_360.
SAGA_API_DLL_EXPORT bool SG_Is_Between | ( | const TSG_Point & | Point, |
const TSG_Point & | Corner_A, | ||
const TSG_Point & | Corner_B, | ||
double | epsilon = 0. |
||
) |
Definition at line 83 of file geo_functions.cpp.
References SG_Is_Between(), SSG_Point::x, and SSG_Point::y.
SAGA_API_DLL_EXPORT bool SG_Is_Between | ( | double | x, |
double | a, | ||
double | b, | ||
double | epsilon = 0. |
||
) |
Definition at line 77 of file geo_functions.cpp.
Referenced by SG_Is_Between(), and SG_Is_Point_On_Line().
SAGA_API_DLL_EXPORT bool SG_Is_Equal | ( | const TSG_Point & | A, |
const TSG_Point & | B, | ||
double | epsilon = 0. |
||
) |
Definition at line 70 of file geo_functions.cpp.
References A, B, and SG_Is_Equal().
SAGA_API_DLL_EXPORT bool SG_Is_Equal | ( | double | a, |
double | b, | ||
double | epsilon = 0. |
||
) |
Definition at line 64 of file geo_functions.cpp.
Referenced by CSG_Rect::is_Equal(), SG_Is_Equal(), and SG_Is_Point_On_Line().
SAGA_API_DLL_EXPORT bool SG_Is_Point_On_Line | ( | const TSG_Point & | Point, |
const TSG_Point & | Line_A, | ||
const TSG_Point & | Line_B, | ||
bool | bExactMatch = false , |
||
double | Epsilon = 0. |
||
) |
Definition at line 394 of file geo_functions.cpp.
References SG_Is_Between(), SG_Is_Equal(), SSG_Point::x, and SSG_Point::y.
Referenced by CSG_Shape_Polygon_Part::_Add_Edge_Points(), and CSG_Shape_Polygon_Part::_is_OnEdge().