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;
}