PMA\libraries\gis\GISVisualization::_prepareDataSet PHP Method

_prepareDataSet() private method

Prepares and return the dataset as needed by the visualization.
private _prepareDataSet ( array $data, array $scale_data, string $format, object $results ) : mixed
$data array Raw data
$scale_data array Data related to scaling
$format string Format of the visualization
$results object Image object in the case of png TCPDF object in the case of pdf
return mixed the formatted array of data
    private function _prepareDataSet($data, $scale_data, $format, $results)
    {
        $color_number = 0;
        // loop through the rows
        foreach ($data as $row) {
            $index = $color_number % sizeof($this->_settings['colors']);
            // Figure out the data type
            $ref_data = $row[$this->_settings['spatialColumn']];
            $type_pos = mb_strpos($ref_data, '(');
            if ($type_pos === false) {
                continue;
            }
            $type = mb_substr($ref_data, 0, $type_pos);
            $gis_obj = GISFactory::factory($type);
            if (!$gis_obj) {
                continue;
            }
            $label = '';
            if (isset($this->_settings['labelColumn']) && isset($row[$this->_settings['labelColumn']])) {
                $label = $row[$this->_settings['labelColumn']];
            }
            if ($format == 'svg') {
                $results .= $gis_obj->prepareRowAsSvg($row[$this->_settings['spatialColumn']], $label, $this->_settings['colors'][$index], $scale_data);
            } elseif ($format == 'png') {
                $results = $gis_obj->prepareRowAsPng($row[$this->_settings['spatialColumn']], $label, $this->_settings['colors'][$index], $scale_data, $results);
            } elseif ($format == 'pdf') {
                $results = $gis_obj->prepareRowAsPdf($row[$this->_settings['spatialColumn']], $label, $this->_settings['colors'][$index], $scale_data, $results);
            } elseif ($format == 'ol') {
                $results .= $gis_obj->prepareRowAsOl($row[$this->_settings['spatialColumn']], $row['srid'], $label, $this->_settings['colors'][$index], $scale_data);
            }
            $color_number++;
        }
        return $results;
    }