php – Precisão do número muda ao criar arquivo GeoJSON, como resolver?

Olá! Tenho um arquivo que faz a consulta no BD e a partir do resultado cria um arquivo GeoJSON. O problema é que no arquivo GeoJSON a precisão do número aumenta muito, diferente do resultado obtido pelo BD, deixando o arquivo muito pesado. Como resolver este problema de precisão?

O resultado do BD é algo do tipo (valor do 3º campo e das coordenadas):

1, "Noruega", 0.944, "{""type"":""MultiPolygon"",""coordinates"":((((5.08746,61.350219),(5.098782,61.345131),(5.095636,61.376375),...

Meu arquivo GeoJSON fica assim (valor do 3º campo e das coordenadas):

{"type":"FeatureCollection","features":({"type":"Feature","properties":{"rank":1,"localizacao":"Noruega","valor":0.94399999999999995026200849679298698902130126953125},"geometry":{"type":"MultiPolygon","coordinates":((((5.08746000000000009322320693172514438629150390625,61.35021900000000272257238975726068019866943359375) ...

Meu arquivo de conversão para GeoJSON em PHP é este:

function geraGeoJSON($sql, $nomeArquivo) {
    $conn = Connect::getInstance();
    $error = Connect::getError();

    if ($error) {
        echo $error->getMessage();
        exit;
    }


    if (isset($_GET('bbox'))) {
        $bbox = explode(',', $_GET('bbox'));
        $sql = $sql . ' WHERE public.ST_Transform(geom, 4326) && public.ST_SetSRID(public.ST_MakeBox2D(public.ST_Point(' . $bbox(0) . ', ' . $bbox(1) . '), public.ST_Point(' . $bbox(2) . ', ' . $bbox(3) . ')),4326);';
    }

    $rs = $conn->query($sql);
    if (!$rs) {
        echo 'Ocorreu um erro na consulta SQL.n';
        exit;
    }

    $geojson = array(
        'type' => 'FeatureCollection',
        'features' => array()
    );

    while ($row = $rs->fetch(PDO::FETCH_ASSOC)) {
        $properties = $row;
        $properties('valor') = round($properties('valor'), 3);

        unset($properties('geojson'));
        unset($properties('geom'));
        $feature = array(
            'type' => 'Feature',
            'properties' => $properties,
            'geometry' => json_decode($row('geojson'), true)
        );
        array_push($geojson('features'), $feature);
    }
    
    $arquivo = fopen('../../assets/js/temp-geojson/' . $nomeArquivo . '.js', 'w');
    if ($arquivo == false) {
        echo json_encode(false);
        die('Não foi possível criar o arquivo.');
    }
    fwrite($arquivo, '' . json_encode($geojson, JSON_NUMERIC_CHECK));
    fclose($arquivo);

    $conn = NULL;
}