|  | SAGA API v9.10
    | 
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) | 
| 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 | 
| Enumerations | |
| enum | TSG_Intersection { INTERSECTION_None = 0 , INTERSECTION_Identical , INTERSECTION_Overlaps , INTERSECTION_Contained , INTERSECTION_Contains } | 
| enum class | TSG_Point_Type { SG_POINT_TYPE_2D = 0 , SG_POINT_TYPE_3D , SG_POINT_TYPE_4D , SG_POINT_TYPE_2D_Int } | 
| enum | TSG_Distance_Weighting { SG_DISTWGHT_None = 0 , SG_DISTWGHT_IDW , SG_DISTWGHT_EXP , SG_DISTWGHT_GAUSS } | 
| enum class | ESG_CRS_Format { WKT1 , WKT2 , PROJ , JSON , ESRI , CODE , Undefined , WKT = WKT1 } | 
| enum class | ESG_CRS_Type { Geographic , Geodetic , Geocentric , Projection , Undefined } | 
| enum class | ESG_Projection_Unit { Kilometer , Meter , Decimeter , Centimeter , Millimeter , Int_Nautical_Mile , Int_Inch , Int_Foot , Int_Yard , Int_Statute_Mile , Int_Fathom , Int_Chain , Int_Link , US_Inch , US_Foot , US_Yard , US_Chain , US_Statute_Mile , Indian_Yard , Indian_Foot , Indian_Chain , Undefined , First = Kilometer } | 
| 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 ) | 
Definition at line 90 of file geo_tools.h.
Referenced by CSG_Shape_Polygon_Part::Get_Point_Relation(), and SG_Get_Nearest_Point_On_Line().
| 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 782 of file geo_tools.h.
| 
 | strong | 
| Enumerator | |
|---|---|
| Geographic | |
| Geodetic | |
| Geocentric | |
| Projection | |
| Undefined | |
Definition at line 788 of file geo_tools.h.
| 
 | strong | 
Definition at line 794 of file geo_tools.h.
| Enumerator | |
|---|---|
| SG_DISTWGHT_None | |
| SG_DISTWGHT_IDW | |
| SG_DISTWGHT_EXP | |
| SG_DISTWGHT_GAUSS | |
Definition at line 697 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(), SG_Get_Angle_Of_Direction(), and 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_Point::Get_Distance(), CSG_Shape_Point::Get_Distance(), CSG_Shape_Point::Get_Distance(), CSG_Shape_Points::Get_Distance(), CSG_Lines::Get_Length(), CSG_Shape_Line::Get_Length(), CSG_PointCloud::Get_Point(), SG_Get_Distance(), 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(), 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_Line::Get_Distance(), CSG_Shape_Polygon_Part::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 2740 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_Projection::Get_PROJ(), CSG_Data_Object::Get_Projection(), CSG_Projection::Get_WKT2(), 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 2782 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_PROJ(), CSG_Projection::Get_WKT2(), 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 2824 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 CSG_Projections::Parse(), CSG_Projections::Parse(), and 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 2859 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().