/usr/include/terralib/kernel/TeDataTypes.h is in libterralib-dev 4.3.0+dfsg.2-10.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | /************************************************************************************
TerraLib - a library for developing GIS applications.
Copyright © 2001-2007 INPE and Tecgraf/PUC-Rio.
This code is part of the TerraLib library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
You should have received a copy of the GNU Lesser General Public
License along with this library.
The authors reassure the license terms regarding the warranties.
They specifically disclaim any warranties, including, but not limited to,
the implied warranties of merchantability and fitness for a particular purpose.
The library provided hereunder is on an "as is" basis, and the authors have no
obligation to provide maintenance, support, updates, enhancements, or modifications.
In no event shall INPE and Tecgraf / PUC-Rio be held liable to any party for direct,
indirect, special, incidental, or consequential damages arising out of the use
of this library and its documentation.
*************************************************************************************/
/*! \file TeDataTypes.h
\brief This file contains enumerators and data types used by TerraLib
*/
#ifndef __TERRALIB_INTERNAL_DATATYPE_H
#define __TERRALIB_INTERNAL_DATATYPE_H
#ifdef WIN32
#pragma warning ( disable: 4786 )
#endif
#include <vector>
#include <string>
#include <map>
using namespace std;
//! SPRING´s data model entities
enum TeSpringModels
{ TeSPRCadastral=0, TeSPRNetwork=1, TeSPRThematic=2, TeSPRMNT=3 };
//! Types for Attributes (stored in object-relational databases)
enum TeAttrDataType
{TeSTRING, TeREAL, TeINT, TeDATETIME, TeBLOB, TeOBJECT, TeCHARACTER, TeUNKNOWN, TeUNSIGNEDINT,
TePOINTTYPE, TeLINE2DTYPE, TePOLYGONTYPE, TeCELLTYPE, TeTEXTTYPE, TeNODETYPE,
TePOINTSETTYPE, TeLINESETTYPE, TePOLYGONSETTYPE, TeCELLSETTYPE, TeTEXTSETTYPE, TeNODESETTYPE,
TeRASTERTYPE, TeBOOLEAN};
//! Geometrical representations
/*! Uses a binary ennumeration since the same layer
may contain more than one geometrical representation
*/
enum TeGeomRep
{ TePOLYGONS = 1, TeLINES = 2, TePOINTS = 4, TeSAMPLES = 8, TeCONTOURS = 16,
TeARCS = 32, TeNODES = 64 , TeTEXT = 128, TeCELLS = 256 , TeRASTER = 512,
TeRASTERFILE = 1024, TeGEOMETRYNONE = 2048, TeSHAPEFILE = 4096, TeCOVERAGE = 8192};
//! Chart types
enum TeChartType
{ TeBarChart, TePieChart };
//! Objects that will be grouped or used in a chart
enum TeSelectedObjects
{ TeAll, TeSelectedByPointing, TeNotSelectedByPointing, TeSelectedByQuery, TeNotSelectedByQuery,
TeSelectedByPointingAndQuery, TeSelectedByPointingOrQuery, TeGrouped, TeNotGrouped };
//! Modes of object selection
enum TeObjectSelectionMode
{ TeDefaultSelection, TePointingSelection, TeQuerySelection, TePointingAndQuerySelection };
//! Modes of grouping objects
enum TeGroupingMode
{ TeEqualSteps = 0, TeQuantil = 1, TeStdDeviation = 2, TeUniqueValue = 3,
TeRasterSlicing = 4, TeCustomGroup = 5, TeNoGrouping = 100 };
//! Direction of use in a ramp color
enum TeColorDirection
{ TeColorAscSatEnd, TeColorDescSatEnd, TeColorAscSatBegin, TeColorDescSatBegin };
//! Types of attribute tables in a layer
enum TeAttrTableType
{ TeAllAttrTypes, TeAttrStatic, TeAttrMedia, TeAttrExternal, TeAttrEvent, TeFixedGeomDynAttr,
TeDynGeomDynAttr, TeGeomAttrLinkTime, TeGeocodingData };
//! Types of integrity relations among tables in a database
enum TeDBRelationType
{ TeNoRelation, TeRINoCascadeDeletion, TeRICascadeDeletion };
//! Data types
enum TeDataType
{ TeBIT, TeUNSIGNEDCHAR, TeCHAR, TeUNSIGNEDSHORT, TeSHORT, TeINTEGER, TeUNSIGNEDLONG, TeLONG, TeFLOAT, TeDOUBLE };
//! Statistics
/*!
- TeSUM sum of the values
- TeMAXVALUE maximum value
- TeMINVALUE minimal value
- TeCOUNT total number of the values
- TeVALIDCOUNT valid number of the values
- TeSTANDARDDEVIATION standard deviation
- TeKERNEL kernel
- TeMEAN mean
- TeVARIANCE variance
- TeSKEWNESS third moment about the Mean
- TeKURTOSIS forth moment about the Mean
- TeAMPLITUDE maximum value minus minimal value
- TeMEDIAN median value
- TeVARCOEFF coefficient of variation
- TeMODE value more frequent
*/
enum TeStatisticType
{ TeNOSTATISTIC, TeSUM, TeMAXVALUE, TeMINVALUE, TeCOUNT, TeVALIDCOUNT, TeSTANDARDDEVIATION, TeKERNEL,
TeMEAN, TeVARIANCE, TeSKEWNESS, TeKURTOSIS, TeAMPLITUDE, TeMEDIAN, TeVARCOEFF, TeMODE};
//! A map of an statistic to its value
typedef map<TeStatisticType, double> TeStatisticValMap;
//! A map of an statistic to its string value
typedef map<TeStatisticType, string> TeStatisticStringValMap;
//! A map of an object id to its statistics
typedef map<string, TeStatisticValMap> TeObjStatisticsMap;
//! A map of an statistic to the column name where its value is stored
typedef map<TeStatisticType, string> TeStatisticsMap;
//! Intersection Algorithms.
enum TeIntersectorAlgorithm { TeBentleyOttman, TeRedBlue, TeTrivial };
//! Topological relations
enum TeSpatialRelation
{ TeDISJOINT = 1, TeTOUCHES = 2, TeCROSSES = 4, TeWITHIN = 8,
TeOVERLAPS = 16, TeCONTAINS = 32, TeINTERSECTS = 64, TeEQUALS = 128, TeCOVERS = 256,
TeCOVEREDBY = 512, TeUNDEFINEDREL = 1024};
//! Temporal predicates
enum TeTemporalRelation { TeTIMEUNDEFINED, TeTIMEEQUAL, TeTIMEBEFORE, TeTIMEAFTER, TeTIMEMEETS, TeTIMEDURING, TeTIMEOVERLAPS, TeTIMEENDS, TeTIMESTARTS };
//! Logical predicates
enum TeLogicalOperator { TeAND = 1, TeOR = 2 };
//! Time chronons
enum TeChronon { TeNOCHRONON, TeSECOND, TeMINUTE, TeHOUR, TeDAY, TeMONTH, TeYEAR,
TeDAYOFWEEK, TeDAYOFMONTH, TeDAYOFYEAR, TeMONTHOFYEAR, TeSEASON, TeWEEKOFYEAR,
TeHOUROFDAY, TeMINUTEOFHOUR, TeSECONDOFMINUTE };
//! Polygon style types
enum TePolyBasicType { TePolyTypeTransparent=0, TePolyTypeFill=1, TePolyTypeHorizontal=2,
TePolyTypeVertical=3, TePolyTypeFDiagonal=4, TePolyTypeBDiagonal=5,
TePolyTypeCross=6, TePolyTypeDiagonalCross=7, TePolyTypeCustom=8 };
//! Line style types
enum TeLnBasicType { TeLnTypeContinuous=0, TeLnTypeDashed=1, TeLnTypeDotted=2,
TeLnTypeDashDot=3, TeLnTypeDashDotDot=4, TeLnTypeNone=5,
TeLnTypeCustom=6, TeLnTypeArrow=7, TeLnTypeMiddleArrow=8 };
//! Line cap styles
enum TeLnCapStyle { TeLnFlatCap=0, TeLnSquareCap=1, TeLnRoundCap=2 };
//! Line join styles
enum TeLnJoinStyle { TeLnMiterJoin=0, TeLnBevelJoin=1, TeLnRoundJoin=2 };
//! Point style types
enum TePtBasicType { TePtTypePlus=0, TePtTypeStar=1, TePtTypeCircle=2, TePtTypeX=3,
TePtTypeBox=4, TePtTypeDiamond=5, TePtTypeHollowCircle=6,
TePtTypeHollowBox=7, TePtTypeHollowDiamond=8, TePtTypeCustom=9 };
//! Type of segment intersection
enum TeSegmentIntersectionType { TeProperIntersection, TeImproperIntersection };
//! Types of implementations of a generalized proximity matrix
enum TeGPMImplementation { TeGraphBreymann };
//! Construction strategies to the generalized proximity matrix
enum TeGPMConstructionStrategy { TeAdjacencyStrategy, TeDistanceStrategy, TeNearestNeighboursStrategy,
TeClosedNetworkStrategy, TeOpenNetworkStrategy, TeOpenNetworkStrategy2 };
//! Slicing strategies to the generalized proximity matrix
enum TeGPMSlicingStrategy { TeNoSlicingStrategy, TeZonesSlicingStrategy };
//! Weight strategies to the generalized proximity matrix
enum TeGPMWeightsStrategy { TeNoWeightsStrategy, TeInverseDistanceStrategy,
TeSquaredInverseDistStrategy, TeConnectionStrenghtStrategy};
#endif
|