/usr/include/terralib/kernel/TeQuerier.h is in libterralib-dev 4.3.0+dfsg.2-11.
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 | /************************************************************************************
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 TeQuerier.h
\brief This file contains a mechanism named "Querier" that is responsible for loading spatio-temporal instances from different sources.
*/
#ifndef __TERRALIB_INTERNAL_QUERIER_H
#define __TERRALIB_INTERNAL_QUERIER_H
#include "TeSTInstance.h"
#include "TeTemporalSeries.h"
#include "TeQuerierDBStr1.h"
#include "TeQuerierDBStr2.h"
#include "TeQuerierDBStr3.h"
class TeQuerierParams;
class TeQuerierImpl;
/*! \class TeQuerier
\brief A class responsible for loading spatial temporal instances from different sources.
This class implements a mechanism that is responsible for loading
spatio-temporal instances (ST instances) from different sources. This mechanism can
load ST instances from a layer or theme stored in a
TerraLib database or in a shape file. The Querier is initialized for a set of
parameters that defines its behavior.
\sa
TeSTInstance TeQuerierParams
*/
class TL_DLL TeQuerier
{
protected:
TeQuerierImpl* Impl_; //!< querier implementation (handle/bory pattern)
public:
//! Empty constructor
TeQuerier():
Impl_(0)
{}
//! Constructor from a set of parameters
TeQuerier(TeQuerierParams& params);
//! Copy constructor
TeQuerier(const TeQuerier& other);
//! Operator =
TeQuerier& operator= (const TeQuerier& other);
//! Destructor
~TeQuerier();
//! Returns the base theme
TeTheme* theme();
//! Loads the ST instances. If frame > -1, loads only the instances of the frame-th time frame
bool loadInstances(int frame=-1);
//! Gets the current ST instance and moves to the next one. Returns if there is a next instance.
bool fetchInstance(TeSTInstance& sto);
//! Returns the number of time frames generated by a specific chronon
int getNumTimeFrames();
//! Gets a temporal serie entry associated to a time frame
bool getTSEntry(TeTSEntry& tsEntry, int frame);
//! Gets the temporal series
bool getTS(TeTemporalSeries& ts);
//! Returns the temporal series parameters
TeTSParams& getTSParams();
//! Gets the attribute list of the instances
TeAttributeList getAttrList();
//! Gets the minimal bounding box
TeBox getBox();
//! Returns the number of instances loaded by the method "loadInstances"
int numElemInstances();
//! Returns the querier parameters
TeQuerierParams& params();
//! Clear querier structures
void clear();
//! Refreshes the querier based on a new querier parameters
void refresh(TeQuerierParams& params);
//! Loads all geometries of the index-th geometry representation
bool loadGeometries(TeMultiGeometry& geometries, unsigned int& index);
//! Loads all geometries
bool loadGeometries(TeMultiGeometry& geometries);
};
/** \example querierFromLayer.cpp
Shows how to use a querier from layer
*/
/** \example querierFromTheme.cpp
Shows how to use a querier from theme
*/
/** \example querierGroupChronon.cpp
Shows how to querier from theme, grouping spatiotemporal instances by a chronon
*/
/** \example querierGroupElement.cpp
Shows how to use a querier from theme, grouping spatiotemporal instances by a element
*/
/** \example querierGroupSpatialRest.cpp
Shows how to use a querier from theme, grouping all
spatiotemporal instances that satisfy a spatial restriction
*/
/** \example querierWithSpatialRestBox.cpp
Shows how to use a querier from theme, using a spatial restriction
defined by a rectangle (TeBOX)
*/
/** \example querierWithSpatialRestGeometry.cpp
Shows how to use a querier from theme, using a spatial restriction
defined by a geometry (polygons, lines, cells and points) from another theme
*/
#endif
|