public static function internal_wkt_to_sref($wkt, $sref_system, $precision = null, $output = null, $metresAccuracy = null) { $system = strtolower($sref_system); if (is_numeric($system)) { $srid = $system; } else { self::validateSystemClass($system); $systems = self::system_metadata(); $srid = $systems[$system]['srid']; } $transformedWkt = postgreSQL::transformWkt($wkt, kohana::config('sref_notations.internal_srid'), $srid); if (is_numeric($system)) { // NB the handed in precision is ignored, and the rounding is determined by the system in use if (array_key_exists($system, kohana::config('sref_notations.lat_long_systems'))) { return self::point_to_lat_long($transformedWkt, $system, $output); } else { return self::point_to_x_y($transformedWkt, $system); } } else { return call_user_func("{$system}::wkt_to_sref", $transformedWkt, $precision, $output, $metresAccuracy); } }