getGISFunctions() public static method

Returns the names and details of the functions that can be applied on geometry data types.
public static getGISFunctions ( string $geom_type = null, boolean $binary = true, boolean $display = false ) : array
$geom_type string if provided the output is limited to the functions that are applicable to the provided geometry type.
$binary boolean if set to false functions that take two geometries as arguments will not be included.
$display boolean if set to true separators will be added to the output array.
return array names and details of the functions that can be applied on geometry data types.
 /**
  * Return the where clause for a geometrical column.
  *
  * @param mixed  $criteriaValues Search criteria input
  * @param string $names          Name of the column on which search is submitted
  * @param string $func_type      Search function/operator
  * @param string $types          Type of the field
  * @param bool   $geom_func      Whether geometry functions should be applied
  *
  * @return string part of where clause.
  */
 private function _getGeomWhereClause($criteriaValues, $names, $func_type, $types, $geom_func = null)
 {
     $geom_unary_functions = array('IsEmpty' => 1, 'IsSimple' => 1, 'IsRing' => 1, 'IsClosed' => 1);
     $where = '';
     // Get details about the geometry functions
     $geom_funcs = Util::getGISFunctions($types, true, false);
     // If the function takes multiple parameters
     if ($geom_funcs[$geom_func]['params'] > 1) {
         // create gis data from the criteria input
         $gis_data = Util::createGISData($criteriaValues);
         $where = $geom_func . '(' . Util::backquote($names) . ', ' . $gis_data . ')';
         return $where;
     }
     // New output type is the output type of the function being applied
     $type = $geom_funcs[$geom_func]['type'];
     $geom_function_applied = $geom_func . '(' . Util::backquote($names) . ')';
     // If the where clause is something like 'IsEmpty(`spatial_col_name`)'
     if (isset($geom_unary_functions[$geom_func]) && trim($criteriaValues) == '') {
         $where = $geom_function_applied;
     } elseif (in_array($type, Util::getGISDatatypes()) && !empty($criteriaValues)) {
         // create gis data from the criteria input
         $gis_data = Util::createGISData($criteriaValues);
         $where = $geom_function_applied . " " . $func_type . " " . $gis_data;
     } elseif (mb_strlen($criteriaValues) > 0) {
         $where = $geom_function_applied . " " . $func_type . " '" . $criteriaValues . "'";
     }
     return $where;
 }