La classe "\fire\gear\transform\Utility" consente di eseguire determinate trasformazioni (arrotondamento, semplificazione, ...) sulle geometrie.
Source code:
include("fxcore.php");
$precisionModel = new \fire\gear\geom\PrecisionModel(6);
echo "precision model maximum significant digits: " . $precisionModel->getMaximumSignificantDigits() . "\n";
$srid = 4326;
$point0 = new \fire\gear\geom\Point(0.0123456789, 1.0123456789, 2.0123456789, $precisionModel, $srid);
$point1 = new \fire\gear\geom\Point(10.0123456789, 11.0123456789, 12.0123456789, $precisionModel, $srid);
$geometries = new \fire\vector_fire_gear_geom_Geometry_pointer();
$geometries->push($point0);
$geometries->push($point1);
$utility = new \fire\gear\op\Utility();
$mergedGeometry = $utility->geometrymerge($geometries);
echo "merged geometry: " . $mergedGeometry->toString() . "\n";
$utility = new \fire\gear\transform\Utility();
$utility->adjust($mergedGeometry, 3);
echo "merged geometry: " . $mergedGeometry->toString() . "\n";