PostGISCapabilities.h
Go to the documentation of this file.
1 /* !!This file will be replaced by a XML file loaded at run time!! */
2 
3 // DataType Capabilites
5 dataTypeCapabilities.setSupportAll();
6 dataTypeCapabilities.setSupportBit(false);
7 dataTypeCapabilities.setSupportChar(false);
8 dataTypeCapabilities.setSupportUChar(false);
9 dataTypeCapabilities.setSupportUInt16(false);
10 dataTypeCapabilities.setSupportUInt32(false);
11 dataTypeCapabilities.setSupportUInt64(false);
12 dataTypeCapabilities.setSupportComposite(false);
13 dataTypeCapabilities.setSupportDataset(false);
14 dataTypeCapabilities.setSupportCInt16(false);
15 dataTypeCapabilities.setSupportCInt32(false);
16 dataTypeCapabilities.setSupportCFloat(false);
17 dataTypeCapabilities.setSupportCDouble(false);
18 dataTypeCapabilities.setSupportPolymorphic(false);
19 
20 // DataSetType Capabilites
22 dataSetTypeCapabilities.setSupportAll();
23 dataSetTypeCapabilities.setSupportQuadTreeIndex(false);
24 
25 // DataSet Capabilities
27 dataSetCapabilities.setSupportAll();
28 dataSetCapabilities.setAsConnected(true);
29 
30 // Query Capabilities
32 queryCapabilities.setSupportAll();
33 
34 /* Logical Operators */
35 queryCapabilities.addLogicalOperator("and");
36 queryCapabilities.addLogicalOperator("or");
37 queryCapabilities.addLogicalOperator("not");
38 queryCapabilities.addLogicalOperator("isnull");
39 
40 /* Arithmetic Operators */
41 queryCapabilities.addArithmeticOperator("+");
42 queryCapabilities.addArithmeticOperator("-");
43 queryCapabilities.addArithmeticOperator("*");
44 queryCapabilities.addArithmeticOperator("/");
45 
46 /* Comparsion Operators */
47 queryCapabilities.addComparsionOperator("=");
48 queryCapabilities.addComparsionOperator("<>");
49 queryCapabilities.addComparsionOperator(">");
50 queryCapabilities.addComparsionOperator("<");
51 queryCapabilities.addComparsionOperator(">=");
52 queryCapabilities.addComparsionOperator("<=");
53 
54 /* Functions*/
55 queryCapabilities.addFunction("upper");
56 queryCapabilities.addFunction("lower");
57 queryCapabilities.addFunction("sum");
58 queryCapabilities.addFunction("avg");
59 queryCapabilities.addFunction("coalesce");
60 queryCapabilities.addFunction("count");
61 queryCapabilities.addFunction("max");
62 queryCapabilities.addFunction("min");
63 queryCapabilities.addFunction("stddev_pop");
64 queryCapabilities.addFunction("var_pop");
65 
66 /* Spatial Operators */
67 queryCapabilities.addSpatialOperator("st_boundary");
68 queryCapabilities.addSpatialOperator("st_coorddim");
69 queryCapabilities.addSpatialOperator("st_dimension");
70 queryCapabilities.addSpatialOperator("st_endpoint");
71 queryCapabilities.addSpatialOperator("st_envelope");
72 queryCapabilities.addSpatialOperator("st_exteriorring");
73 queryCapabilities.addSpatialOperator("st_geometryn");
74 queryCapabilities.addSpatialOperator("st_geometrytype");
75 queryCapabilities.addSpatialOperator("st_interiorringn");
76 queryCapabilities.addSpatialOperator("st_isclosed");
77 queryCapabilities.addSpatialOperator("st_isempty");
78 queryCapabilities.addSpatialOperator("st_isring");
79 queryCapabilities.addSpatialOperator("st_issimple");
80 queryCapabilities.addSpatialOperator("st_isvalid");
81 queryCapabilities.addSpatialOperator("st_makevalid");
82 
83 queryCapabilities.addSpatialOperator("st_ndims");
84 queryCapabilities.addSpatialOperator("st_nrings");
85 queryCapabilities.addSpatialOperator("st_numgeometries");
86 queryCapabilities.addSpatialOperator("st_numinteriorrings");
87 queryCapabilities.addSpatialOperator("st_numpoints");
88 queryCapabilities.addSpatialOperator("st_pointn");
89 queryCapabilities.addSpatialOperator("st_srid");
90 queryCapabilities.addSpatialOperator("st_startpoint");
91 queryCapabilities.addSpatialOperator("st_x");
92 queryCapabilities.addSpatialOperator("st_y");
93 queryCapabilities.addSpatialOperator("st_z");
94 queryCapabilities.addSpatialOperator("st_m");
95 queryCapabilities.addSpatialOperator("st_transform");
96 queryCapabilities.addSpatialOperator("st_dfullywithin");
97 queryCapabilities.addSpatialOperator("st_dwithin");
98 
99 queryCapabilities.addSpatialTopologicOperator("st_contains");
100 queryCapabilities.addSpatialTopologicOperator("st_covers");
101 queryCapabilities.addSpatialTopologicOperator("st_coveredby");
102 queryCapabilities.addSpatialTopologicOperator("st_crosses");
103 queryCapabilities.addSpatialTopologicOperator("st_disjoint");
104 queryCapabilities.addSpatialTopologicOperator("st_equals");
105 queryCapabilities.addSpatialTopologicOperator("st_overlaps");
106 queryCapabilities.addSpatialTopologicOperator("st_relate");
107 queryCapabilities.addSpatialTopologicOperator("st_touches");
108 queryCapabilities.addSpatialTopologicOperator("st_intersects");
109 queryCapabilities.addSpatialTopologicOperator("st_within");
110 
111 queryCapabilities.addSpatialMetricOperator("st_area");
112 queryCapabilities.addSpatialMetricOperator("st_distance");
113 queryCapabilities.addSpatialMetricOperator("st_length");
114 queryCapabilities.addSpatialMetricOperator("st_perimeter");
115 
116 queryCapabilities.addSpatialNewGeomOperator("st_centroid");
117 queryCapabilities.addSpatialNewGeomOperator("st_difference");
118 queryCapabilities.addSpatialNewGeomOperator("st_buffer");
119 queryCapabilities.addSpatialNewGeomOperator("st_convexhull");
120 queryCapabilities.addSpatialNewGeomOperator("st_difference");
121 queryCapabilities.addSpatialNewGeomOperator("st_intersection");
122 queryCapabilities.addSpatialNewGeomOperator("st_symdifference");
123 queryCapabilities.addSpatialNewGeomOperator("st_union");
124 /* - end Spatial Operators */
125 
126 // DataSouce Capabilities
129 capabilities.setSupportAll();
130 capabilities.setDataTypeCapabilities(dataTypeCapabilities);
131 capabilities.setDataSetTypeCapabilities(dataSetTypeCapabilities);
132 capabilities.setDataSetCapabilities(dataSetCapabilities);
133 capabilities.setQueryCapabilities(queryCapabilities);
134 
135 DataSource::setCapabilities(capabilities);
A class that informs what kind of constraint and index is supported by a given data source...
void setDataSetTypeCapabilities(const DataSetTypeCapabilities &capabilities)
void addSpatialTopologicOperator(const std::string &op)
void setSupportQuadTreeIndex(const bool &support)
void addComparsionOperator(const std::string &op)
te::da::QueryCapabilities queryCapabilities
A class that represents the known capabilities of a specific data source, i.e. this class informs all...
void setAccessPolicy(const te::common::AccessPolicy &accessPolicy)
void addSpatialNewGeomOperator(const std::string &op)
A class that informs what the dataset implementation of a given data source can perform.
void setQueryCapabilities(const QueryCapabilities &capabilities)
void setAsConnected(const bool &connected)
void addLogicalOperator(const std::string &op)
void setSupportUInt16(const bool &support)
te::da::DataSetTypeCapabilities dataSetTypeCapabilities
A class that represents the supported data types of a specific data source.
void setSupportBit(const bool &support)
te::da::DataTypeCapabilities dataTypeCapabilities
void setSupportUChar(const bool &support)
A class that informs the query support of a given data source.
void setSupportComposite(const bool &support)
void addSpatialOperator(const std::string &op)
void setSupportChar(const bool &support)
te::da::DataSourceCapabilities capabilities
void setSupportPolymorphic(const bool &support)
void setSupportCFloat(const bool &support)
void setSupportCInt32(const bool &support)
te::da::DataSetCapabilities dataSetCapabilities
void setDataSetCapabilities(const DataSetCapabilities &capabilities)
void addFunction(const std::string &op)
void setSupportUInt64(const bool &support)
void addArithmeticOperator(const std::string &op)
void setDataTypeCapabilities(const DataTypeCapabilities &capabilities)
void addSpatialMetricOperator(const std::string &op)
void setSupportDataset(const bool &support)
void setSupportCDouble(const bool &support)
void setSupportUInt32(const bool &support)
void setSupportCInt16(const bool &support)