| TerraLib 4.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/kernel/TePolygonSetProperties.h
Go to the documentation of this file.

    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 *************************************************************************************/
    00023
    00024 #ifndef TEPOLYGONSETPROPERTIES_H
    00025   #define TEPOLYGONSETPROPERTIES_H
    00026
    00027   #include "TeDefines.h"
    00028   #include "TeDataTypes.h"
    00029
    00030   class TePolygonSet;
    00031   class TePolygon;
    00032   class TeMatrix;
    00033   class TeCoord2D;
    00034   class TeRaster;
    00035
    00040   class TL_DLL TePolygonSetProperties {
    00041
    00042     public :
    00043
    00049       TePolygonSetProperties( const TePolygonSet& polSet );
    00050
    00054       ~TePolygonSetProperties();
    00055
    00061       double getPolygonArea( unsigned int polIndex );
    00062
    00068       double getPolygonBoxArea( unsigned int polIndex );
    00069
    00075       double getPolygonPerimeter( unsigned int polIndex );
    00076
    00082       double getPolygonFractalDimension( unsigned int polIndex );
    00083
    00089       double getPolygonPerimeterAreaRatio( unsigned int polIndex );
    00090
    00096       double getPolygonCompacity( unsigned int polIndex );
    00097
    00103       double getPolygonShapeIndex( unsigned int polIndex );
    00104
    00110       double getPolygonDensity( unsigned int polIndex );
    00111
    00118       double getPolygonLength( unsigned int polIndex );
    00119
    00126       double getPolygonWidth( unsigned int polIndex );
    00127
    00134       double getPolygonCircle( unsigned int polIndex );
    00135
    00142       double getPolygonContiguity( unsigned int polIndex );
    00143
    00150       double getPolygonGyrationRadius( unsigned int polIndex );
    00151
    00158       double getPolygonEllipticFit( unsigned int polIndex );
    00159
    00166       double getPolygonAngle( unsigned int polIndex );
    00167
    00174       double getPolygonRectangularFit( unsigned int polIndex );
    00175
    00181       void printProperties( int polIndex = -1 );
    00182
    00183     protected :
    00184
    00188       const TePolygonSet& polSet_;
    00189
    00190     private :
    00191
    00192       // Copy not allowed
    00193       const TePolygonSetProperties& operator=( const TePolygonSetProperties& )
    00194         { return *this; };
    00195
    00201       double getPolygonRadius( unsigned int polIndex );
    00202
    00208       vector<TeCoord2D> getBorderCoordinates( unsigned int polIndex );
    00209
    00214       vector<double> fitEllipse( vector<TeCoord2D> xyPositions );
    00215
    00220       TePolygon createEllipse( vector<double> A );
    00221
    00228       TePolygon rotatePolygon( unsigned int polIndex, double angle );
    00229
    00235       TeRaster* getRasterInPolygon( unsigned int polIndex );
    00236
    00242       bool findEigenVectors( TeMatrix input_matrix, double e_vec[] );
    00243   };
    00244
    00245 #endif
    00246

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines