![]() |
TerraLib 4.1
|
00001 /************************************************************************************ 00002 TerraLib - a library for developing GIS applications. 00003 Copyright © 2001-2007 INPE and Tecgraf/PUC-Rio. 00004 00005 This code is part of the TerraLib library. 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Lesser General Public 00008 License as published by the Free Software Foundation; either 00009 version 2.1 of the License, or (at your option) any later version. 00010 00011 You should have received a copy of the GNU Lesser General Public 00012 License along with this library. 00013 00014 The authors reassure the license terms regarding the warranties. 00015 They specifically disclaim any warranties, including, but not limited to, 00016 the implied warranties of merchantability and fitness for a particular purpose. 00017 The library provided hereunder is on an "as is" basis, and the authors have no 00018 obligation to provide maintenance, support, updates, enhancements, or modifications. 00019 In no event shall INPE and Tecgraf / PUC-Rio be held liable to any party for direct, 00020 indirect, special, incidental, or consequential damages arising out of the use 00021 of this library and its documentation. 00022 *************************************************************************************/ 00026 #ifndef __TERRALIB_INTERNAL_DATATYPE_H 00027 #define __TERRALIB_INTERNAL_DATATYPE_H 00028 00029 00030 #if defined(_MSC_VER) /* MSVC Compiler */ 00031 #pragma warning(disable: 4786) 00032 #endif 00033 00034 #include <vector> 00035 #include <string> 00036 #include <map> 00037 00038 using namespace std; 00039 00041 enum TeSpringModels 00042 { TeSPRCadastral=0, TeSPRNetwork=1, TeSPRThematic=2, TeSPRMNT=3 }; 00043 00044 00046 enum TeAttrDataType 00047 {TeSTRING, TeREAL, TeINT, TeDATETIME, TeBLOB, TeOBJECT, TeCHARACTER, TeUNKNOWN, TeUNSIGNEDINT, 00048 TePOINTTYPE, TeLINE2DTYPE, TePOLYGONTYPE, TeCELLTYPE, TeTEXTTYPE, TeNODETYPE, 00049 TePOINTSETTYPE, TeLINESETTYPE, TePOLYGONSETTYPE, TeCELLSETTYPE, TeTEXTSETTYPE, TeNODESETTYPE, 00050 TeRASTERTYPE, TeBOOLEAN}; 00051 00052 00054 00057 enum TeGeomRep 00058 { TePOLYGONS = 1, TeLINES = 2, TePOINTS = 4, TeSAMPLES = 8, TeCONTOURS = 16, 00059 TeARCS = 32, TeNODES = 64 , TeTEXT = 128, TeCELLS = 256 , TeRASTER = 512, 00060 TeRASTERFILE = 1024, TeGEOMETRYNONE = 2048, TeSHAPEFILE = 4096, TeCOVERAGE = 8192}; 00061 00063 enum TeChartType 00064 { TeBarChart, TePieChart }; 00065 00067 enum TeSelectedObjects 00068 { TeAll, TeSelectedByPointing, TeNotSelectedByPointing, TeSelectedByQuery, TeNotSelectedByQuery, 00069 TeSelectedByPointingAndQuery, TeSelectedByPointingOrQuery, TeGrouped, TeNotGrouped }; 00070 00072 enum TeObjectSelectionMode 00073 { TeDefaultSelection, TePointingSelection, TeQuerySelection, TePointingAndQuerySelection }; 00074 00076 enum TeGroupingMode 00077 { TeEqualSteps = 0, TeQuantil = 1, TeStdDeviation = 2, TeUniqueValue = 3, 00078 TeRasterSlicing = 4, TeCustomGroup = 5, TeNoGrouping = 100 }; 00079 00081 enum TeColorDirection 00082 { TeColorAscSatEnd, TeColorDescSatEnd, TeColorAscSatBegin, TeColorDescSatBegin }; 00083 00085 enum TeAttrTableType 00086 { TeAllAttrTypes, TeAttrStatic, TeAttrMedia, TeAttrExternal, TeAttrEvent, TeFixedGeomDynAttr, 00087 TeDynGeomDynAttr, TeGeomAttrLinkTime, TeGeocodingData }; 00088 00090 enum TeDBRelationType 00091 { TeNoRelation, TeRINoCascadeDeletion, TeRICascadeDeletion }; 00092 00094 enum TeDataType 00095 { TeBIT, TeUNSIGNEDCHAR, TeCHAR, TeUNSIGNEDSHORT, TeSHORT, TeINTEGER, TeUNSIGNEDLONG, TeLONG, TeFLOAT, TeDOUBLE }; 00096 00097 00099 00116 enum TeStatisticType 00117 { TeNOSTATISTIC, TeSUM, TeMAXVALUE, TeMINVALUE, TeCOUNT, TeVALIDCOUNT, TeSTANDARDDEVIATION, TeKERNEL, 00118 TeMEAN, TeVARIANCE, TeSKEWNESS, TeKURTOSIS, TeAMPLITUDE, TeMEDIAN, TeVARCOEFF, TeMODE}; 00119 00121 typedef map<TeStatisticType, double> TeStatisticValMap; 00122 00124 typedef map<TeStatisticType, string> TeStatisticStringValMap; 00125 00127 typedef map<string, TeStatisticValMap> TeObjStatisticsMap; 00128 00130 typedef map<TeStatisticType, string> TeStatisticsMap; 00131 00133 enum TeIntersectorAlgorithm { TeBentleyOttman, TeRedBlue, TeTrivial }; 00134 00136 enum TeSpatialRelation 00137 { TeDISJOINT = 1, TeTOUCHES = 2, TeCROSSES = 4, TeWITHIN = 8, 00138 TeOVERLAPS = 16, TeCONTAINS = 32, TeINTERSECTS = 64, TeEQUALS = 128, TeCOVERS = 256, 00139 TeCOVEREDBY = 512, TeUNDEFINEDREL = 1024}; 00140 00142 enum TeTemporalRelation { TeTIMEUNDEFINED, TeTIMEEQUAL, TeTIMEBEFORE, TeTIMEAFTER, TeTIMEMEETS, TeTIMEDURING, TeTIMEOVERLAPS, TeTIMEENDS, TeTIMESTARTS }; 00143 00145 enum TeLogicalOperator { TeAND = 1, TeOR = 2 }; 00146 00148 enum TeChronon { TeNOCHRONON, TeSECOND, TeMINUTE, TeHOUR, TeDAY, TeMONTH, TeYEAR, 00149 TeDAYOFWEEK, TeDAYOFMONTH, TeDAYOFYEAR, TeMONTHOFYEAR, TeSEASON, TeWEEKOFYEAR, 00150 TeHOUROFDAY, TeMINUTEOFHOUR, TeSECONDOFMINUTE }; 00151 00153 enum TePolyBasicType { TePolyTypeTransparent=0, TePolyTypeFill=1, TePolyTypeHorizontal=2, 00154 TePolyTypeVertical=3, TePolyTypeFDiagonal=4, TePolyTypeBDiagonal=5, 00155 TePolyTypeCross=6, TePolyTypeDiagonalCross=7, TePolyTypeCustom=8 }; 00157 enum TeLnBasicType { TeLnTypeContinuous=0, TeLnTypeDashed=1, TeLnTypeDotted=2, 00158 TeLnTypeDashDot=3, TeLnTypeDashDotDot=4, TeLnTypeNone=5, 00159 TeLnTypeCustom=6, TeLnTypeArrow=7, TeLnTypeMiddleArrow=8 }; 00160 00162 enum TeLnCapStyle { TeLnFlatCap=0, TeLnSquareCap=1, TeLnRoundCap=2 }; 00163 00165 enum TeLnJoinStyle { TeLnMiterJoin=0, TeLnBevelJoin=1, TeLnRoundJoin=2 }; 00166 00168 enum TePtBasicType { TePtTypePlus=0, TePtTypeStar=1, TePtTypeCircle=2, TePtTypeX=3, 00169 TePtTypeBox=4, TePtTypeDiamond=5, TePtTypeHollowCircle=6, 00170 TePtTypeHollowBox=7, TePtTypeHollowDiamond=8, TePtTypeCustom=9 }; 00171 00173 enum TeSegmentIntersectionType { TeProperIntersection, TeImproperIntersection }; 00174 00176 enum TeGPMImplementation { TeGraphBreymann }; 00177 00179 enum TeGPMConstructionStrategy { TeAdjacencyStrategy, TeDistanceStrategy, TeNearestNeighboursStrategy, 00180 TeClosedNetworkStrategy, TeOpenNetworkStrategy, TeOpenNetworkStrategy2 }; 00181 00183 enum TeGPMSlicingStrategy { TeNoSlicingStrategy, TeZonesSlicingStrategy }; 00184 00186 enum TeGPMWeightsStrategy { TeNoWeightsStrategy, TeInverseDistanceStrategy, 00187 TeSquaredInverseDistStrategy, TeConnectionStrenghtStrategy}; 00188 00190 enum TeUnits { TeUndefinedUnit, TeMillimeters, TeCentimeters, TeMeters, TeKilometers, TeMiles, TeInches, TeFeet, TeDecimalDegress }; 00191 00192 00193 #endif