| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435 |
- <?php
- Lib::loadClass('Api_WfsException');
- Lib::loadClass('Api_WfsGeomTypeConverter');
- Lib::loadClass('Api_WfsNs');
- Lib::loadClass('Request');
- Lib::loadClass('Core_AclHelper');
- Lib::loadClass('Core_XmlWriter');
- class Api_Wfs_GetCapabilities {
- public function getCapabilitiesXml($wfsServerUrl, $serviceTitle, $serviceDescription, $aclList) {
- // if (V::get('DBG_ACL', '', $_GET)) {
- // {
- // echo "Core_AclHelper::getCustomAclList = [" . "\n";
- // foreach (Core_AclHelper::getCustomAclList() as $typeName) {
- // echo "|\t{$typeName}" . "\n";
- // }
- // echo "]// .EOF Core_AclHelper::getCustomAclList" . "\n";
- // }
- //
- // $fullTblAclList = $this->_usrAcl->getTablesAcl();
- // print_r($fullTblAclList);
- // die("\n" . '.EOF - DBG_ACL');
- // }
- header('Content-type: application/xml; charset=utf-8');
- $xmlWriter = new Core_XmlWriter();
- if (!$xmlWriter) throw new HttpException("Error no XMLWriter", 404);
- $xmlWriter->openUri('php://output');
- $xmlWriter->setIndent(true);
- $xmlWriter->startDocument('1.0','UTF-8');
- $xmlWriter->startElement('WFS_Capabilities');
- $xmlWriter->writeAttribute('xmlns', 'http://www.opengis.net/wfs');
- $xmlWriter->writeAttribute('xmlns:ogc', 'http://www.opengis.net/ogc');
- $xmlWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
- foreach (Api_WfsNs::getNsList() as $uri => $prefix) {
- $xmlWriter->writeAttribute("xmlns:{$prefix}", $uri);
- }
- $schemaLocations = [];
- //$schemaLocations[] = 'http://www.opengis.net/wfs http://webgis.regione.sardegna.it:80/geoserver/schemas/wfs/1.0.0/WFS-capabilities.xsd';// @from http://webgis.regione.sardegna.it/geoserver/ows?service=WFS&request=GetCapabilities
- if (!empty($schemaLocations)) $xmlWriter->writeAttribute('xsi:schemaLocation', implode(' ', $schemaLocations));
- $xmlWriter->writeAttribute('version', "1.0.0");
- $xmlWriter->h('Service', [
- ['Name', "WFS"],
- ['Title', $serviceTitle],
- ['Abstract', $serviceDescription],
- ['Keywords', "WFS, WMS"],
- ['OnlineResource', $wfsServerUrl],
- ['Fees', "NONE"],
- ['AccessConstraints', "NONE"],
- ]);
- $xmlWriter->h('Capability', [
- [ 'Request', [
- [ 'GetCapabilities', [
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Get', [ 'onlineResource' => "{$wfsServerUrl}?REQUEST=GetCapabilities" ], null ]
- ] ]
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Post', [ 'onlineResource' => "{$wfsServerUrl}" ], null ]
- ] ]
- ] ],
- ] ]
- ] ]
- ]);
- $xmlWriter->h('DescribeFeatureType', [
- [ 'SchemaDescriptionLanguage', [
- [ 'XMLSCHEMA', null ]
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Get', ['onlineResource' => "{$wfsServerUrl}?REQUEST=DescribeFeatureType"], null ]
- ] ]
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Post', ['onlineResource' => "{$wfsServerUrl}"], null ]
- ] ]
- ] ],
- ]);
- $xmlWriter->h('GetFeature', [
- [ 'ResultFormat', [
- 'WFSKMLOutputFormat',
- 'GML2',
- 'GML3',
- 'SHAPE-ZIP',
- 'CSV',
- 'JSON',
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Get', ['onlineResource' => "{$wfsServerUrl}?REQUEST=GetFeature"], null ]
- ] ]
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Post', ['onlineResource' => "{$wfsServerUrl}"], null ]
- ] ]
- ] ],
- ]);
- $xmlWriter->h('Transaction', [
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Get', ['onlineResource' => "{$wfsServerUrl}?REQUEST=Transaction"], null ]
- ] ]
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Post', ['onlineResource' => "{$wfsServerUrl}"], null ]
- ] ]
- ] ],
- ]);
- $xmlWriter->h('LockFeature', [
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Get', ['onlineResource' => "{$wfsServerUrl}?REQUEST=LockFeature"], null ]
- ] ]
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Post', ['onlineResource' => "{$wfsServerUrl}"], null ]
- ] ]
- ] ],
- ]);
- $xmlWriter->h('GetFeatureWithLock', [
- [ 'ResultFormat', [
- 'GML2'
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Get', ['onlineResource' => "{$wfsServerUrl}?REQUEST=GetFeatureWithLock"], null ]
- ] ]
- ] ],
- [ 'DCPType', [
- [ 'HTTP', [
- [ 'Post', ['onlineResource' => "{$wfsServerUrl}"], null ]
- ] ]
- ] ],
- ]);
- $featureTypeNodes = [];
- foreach ($aclList as $tblAcl) {
- $ns = Core_AclHelper::parseNamespaceUrl($tblAcl->getNamespace());
- DBG::log(['ns'=>$ns, 'acl_ns'=>$tblAcl->getNamespace(), 'cls'=>get_class($tblAcl)], 'array', "tblAcl [".$tblAcl->getID()."]");
- $dataSourceName = 'default_db';// TODO: $tblAcl->getSourceName()
- $prefix = "p5_{$dataSourceName}";
- $featureTypeNodes[] = [ 'FeatureType', [ "xmlns:{$prefix}" => Api_WfsNs::getNsUri($prefix) ], [
- [ 'Name', "p5_" . "{$ns['prefix']}:{$ns['name']}" ], // TODO: remove 'p5_' prefix
- [ 'Title', $tblAcl->getRawLabel() ],
- [ 'Abstract', $tblAcl->getRawOpis() ],
- [ 'Keywords', implode(', ', [ $tblAcl->getID(), $tblAcl->getName(), $tblAcl->getRawLabel() ]) ],
- [ 'SRS', 'EPSG:4326' ],
- [ 'LatLongBoundingBox', [
- 'minx' => "8.12328509871721",
- 'miny' => "38.8575126897477",
- 'maxx' => "9.838674658246807",
- 'maxy' => "41.31378404137082"], null ]
- ] ];
- }
- foreach (Core_AclHelper::getCustomAclList() as $typeName) {
- list($prefix, $name) = explode(':', $typeName);
- $featureTypeNodes[] = [ 'FeatureType', [ "xmlns:{$prefix}" => Api_WfsNs::getNsUri($prefix) ], [
- [ 'Name', "{$prefix}:{$name}" ],
- [ 'Title', $name ],
- [ 'Abstract', $name ],
- [ 'Keywords', $name ],
- [ 'SRS', 'EPSG:4326' ],
- ] ];
- }
- $xmlWriter->startElement('FeatureTypeList');
- $xmlWriter->h('Operations', ['Query', 'Insert', 'Update', 'Delete', 'Lock']);
- if (DBG::isActive()) {
- DBG::log(array_map(function ($feature) {
- return "{$feature[2][0][1]}, ".array_values($feature[1])[0];
- }, $featureTypeNodes), 'array', "\$featureTypeNodes");
- }
- foreach ($featureTypeNodes as $node) {
- $xmlWriter->h($node);
- }
- $xmlWriter->endElement();// FeatureTypeList
- $xmlWriter->h('ogc:Filter_Capabilities', [
- [ 'ogc:Spatial_Capabilities', [
- [ 'ogc:Spatial_Operators', [
- 'ogc:Disjoint',
- 'ogc:Equals',
- 'ogc:DWithin',
- 'ogc:Beyond',
- 'ogc:Intersect',
- 'ogc:Touches',
- 'ogc:Crosses',
- 'ogc:Within',
- 'ogc:Contains',
- 'ogc:Overlaps',
- 'ogc:BBOX',
- ] ]
- ] ],
- [ 'ogc:Scalar_Capabilities', [
- 'ogc:Logical_Operators',
- [ 'ogc:Comparison_Operators', [
- 'ogc:Simple_Comparisons',
- 'ogc:Between',
- 'ogc:Like',
- 'ogc:NullCheck',
- ] ],
- [ 'ogc:Arithmetic_Operators', [
- 'ogc:Simple_Arithmetic',
- [ 'ogc:Functions', [
- [ 'ogc:Function_Names', [
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "abs" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "abs_2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "abs_3" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "abs_4" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "acos" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "AddCoverages" ],
- [ 'ogc:Function_Name', ['nArgs'=>"4"], "Aggregate" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Area" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "area2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "AreaGrid" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "asin" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "atan" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "atan2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"14"], "BarnesSurface" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "between" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "boundary" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "boundaryDimension" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Bounds" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "buffer" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "BufferFeatureCollection" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "bufferWithSegments" ],
- [ 'ogc:Function_Name', ['nArgs'=>"7"], "Categorize" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "ceil" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Centroid" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "classify" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "Clip" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "CollectGeometries" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Collection_Average" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Collection_Bounds" ],
- [ 'ogc:Function_Name', ['nArgs'=>"0"], "Collection_Count" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Collection_Max" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Collection_Median" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Collection_Min" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Collection_Sum" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Collection_Unique" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Concatenate" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "contains" ],
- [ 'ogc:Function_Name', ['nArgs'=>"7"], "Contour" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "convert" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "convexHull" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "cos" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "Count" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "CropCoverage" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "crosses" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "dateFormat" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "dateParse" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "difference" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "dimension" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "disjoint" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "disjoint3D" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "distance" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "distance3D" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "double2bool" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "endAngle" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "endPoint" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "env" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "envelope" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "EqualInterval" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "equalsExact" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "equalsExactTolerance" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "equalTo" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "exp" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "exteriorRing" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "Feature" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "floor" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "geometryType" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "geomFromWKT" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "geomLength" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "getGeometryN" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "getX" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "getY" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "getz" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "greaterEqualThan" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "greaterThan" ],
- [ 'ogc:Function_Name', ['nArgs'=>"5"], "Grid" ],
- [ 'ogc:Function_Name', ['nArgs'=>"7"], "Heatmap" ],
- [ 'ogc:Function_Name', ['nArgs'=>"0"], "id" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "IEEEremainder" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "if_then_else" ],
- [ 'ogc:Function_Name', ['nArgs'=>"11"], "in10" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "in2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"4"], "in3" ],
- [ 'ogc:Function_Name', ['nArgs'=>"5"], "in4" ],
- [ 'ogc:Function_Name', ['nArgs'=>"6"], "in5" ],
- [ 'ogc:Function_Name', ['nArgs'=>"7"], "in6" ],
- [ 'ogc:Function_Name', ['nArgs'=>"8"], "in7" ],
- [ 'ogc:Function_Name', ['nArgs'=>"9"], "in8" ],
- [ 'ogc:Function_Name', ['nArgs'=>"10"], "in9" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "InclusionFeatureCollection" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "int2bbool" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "int2ddouble" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "interiorPoint" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "interiorRingN" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "Interpolate" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "intersection" ],
- [ 'ogc:Function_Name', ['nArgs'=>"7"], "IntersectionFeatureCollection" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "intersects" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "intersects3D" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "isClosed" ],
- [ 'ogc:Function_Name', ['nArgs'=>"0"], "isCoverage" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "isEmpty" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "isLike" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "isNull" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "isometric" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "isRing" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "isSimple" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "isValid" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "isWithinDistance" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "isWithinDistance3D" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "Jenks" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "length" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "lessEqualThan" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "lessThan" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "list" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "log" ],
- [ 'ogc:Function_Name', ['nArgs'=>"4"], "LRSGeocode" ],
- [ 'ogc:Function_Name', ['nArgs'=>"5"], "LRSMeasure" ],
- [ 'ogc:Function_Name', ['nArgs'=>"5"], "LRSSegment" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "max" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "max_2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "max_3" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "max_4" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "min" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "min_2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "min_3" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "min_4" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "mincircle" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "minimumdiameter" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "minrectangle" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "modulo" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "MultiplyCoverages" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "Nearest" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "not" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "notEqualTo" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "numberFormat" ],
- [ 'ogc:Function_Name', ['nArgs'=>"5"], "numberFormat2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "numGeometries" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "numInteriorRing" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "numPoints" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "octagonalenvelope" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "offset" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "overlaps" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "parameter" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "parseBoolean" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "parseDouble" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "parseInt" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "parseLong" ],
- [ 'ogc:Function_Name', ['nArgs'=>"0"], "pi" ],
- [ 'ogc:Function_Name', ['nArgs'=>"4"], "PointBuffers" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "pointN" ],
- [ 'ogc:Function_Name', ['nArgs'=>"7"], "PointStacker" ],
- [ 'ogc:Function_Name', ['nArgs'=>"6"], "PolygonExtraction" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "pow" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "property" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "PropertyExists" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "Quantile" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "Query" ],
- [ 'ogc:Function_Name', ['nArgs'=>"0"], "random" ],
- [ 'ogc:Function_Name', ['nArgs'=>"5"], "RangeLookup" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "RasterAsPointCollection" ],
- [ 'ogc:Function_Name', ['nArgs'=>"4"], "RasterZonalStatistics" ],
- [ 'ogc:Function_Name', ['nArgs'=>"5"], "Recode" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "RectangularClip" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "relate" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "relatePattern" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "Reproject" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "rint" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "round" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "round_2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "roundDouble" ],
- [ 'ogc:Function_Name', ['nArgs'=>"6"], "ScaleCoverage" ],
- [ 'ogc:Function_Name', ['nArgs'=>"4"], "sdo_nn" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "setCRS" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "Simplify" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "sin" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "Snap" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "sqrt" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "StandardDeviation" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "startAngle" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "startPoint" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "strCapitalize" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "strConcat" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "strEndsWith" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "strEqualsIgnoreCase" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "strIndexOf" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "strLastIndexOf" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "strLength" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "strMatches" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "strPosition" ],
- [ 'ogc:Function_Name', ['nArgs'=>"4"], "strReplace" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "strStartsWith" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "strSubstring" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "strSubstringStart" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "strToLowerCase" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "strToUpperCase" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "strTrim" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "strTrim2" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "StyleCoverage" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "symDifference" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "tan" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "toDegrees" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "toRadians" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "touches" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "toWKT" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "Transform" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "union" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "UnionFeatureCollection" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "Unique" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "UniqueInterval" ],
- [ 'ogc:Function_Name', ['nArgs'=>"6"], "VectorToRaster" ],
- [ 'ogc:Function_Name', ['nArgs'=>"3"], "VectorZonalStatistics" ],
- [ 'ogc:Function_Name', ['nArgs'=>"1"], "vertices" ],
- [ 'ogc:Function_Name', ['nArgs'=>"2"], "within" ],
- ] ],
- ] ],
- ] ],
- ] ],
- ]);
- $xmlWriter->endElement();// WFS_Capabilities
- $xmlWriter->endDocument();
- exit;
- }
- }
|