|
|
@@ -54,6 +54,23 @@ class Api_WfsDataServer extends Api_WfsServerBase {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public function testOgcFilterAction() {
|
|
|
+ $type = V::get('TYPENAME', '', $_REQUEST);
|
|
|
+ $typeEx = explode(':', $type);
|
|
|
+ $maxFeatures = V::get('MAXFEATURES', '10000', $_REQUEST, 'int');// TODO: Set Deafult Limit
|
|
|
+ $ogcFilter = V::get('Filter', '', $_REQUEST);
|
|
|
+ $srsname = V::get('SRSNAME', '', $_REQUEST);// eg. EPSG:4326
|
|
|
+ if (count($typeEx) == 2) {
|
|
|
+ Lib::loadClass('ParseOgcFilter');
|
|
|
+ $parser = new ParseOgcFilter();
|
|
|
+ $parser->loadOgcFilter($ogcFilter);
|
|
|
+ $queryWhereBuilder = $parser->convertToSqlQueryWhereBuilder();
|
|
|
+ echo $queryWhereBuilder->getQueryWhere('t');
|
|
|
+ } else {
|
|
|
+ throw new HttpException("Wrong param TYPENAME", 400);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public function getFeatures($nsPrefix, $type, $maxFeatures, $srsname, $ogcFilter = '') {
|
|
|
$DBG = (V::get('DBG_GEO', '', $_GET) > 0);// TODO: Profiler
|
|
|
$typeName = "{$nsPrefix}:{$type}";
|