\'name\' as "name",'; $sSQL .= 'country_code as "country",errormessage as "error message",updated'; $sSQL .= " from import_polygon_error"; if ($_GET['days']) { $sSQL .= " where updated > 'now'::timestamp - '".(int)$_GET['days']." day'::interval"; $_GET['days']++; } if ($bReduced) { $sSQL .= " and errormessage like 'Area reduced%'"; } if ($sClass) { $sSQL .= " and class = '".pg_escape_string($sClass)."'"; } $sSQL .= " order by updated desc limit 1000"; $aPolygons = $oDB->getAll($sSQL); } //var_dump($aPolygons); ?> Nominatim Broken Polygon Data "; echo ""; //var_dump($aPolygons[0]); foreach($aPolygons[0] as $sCol => $sVal) { echo "".$sCol.""; } echo " "; echo " "; echo ""; $aSeen = array(); foreach($aPolygons as $aRow) { if (isset($aSeen[$aRow['type'].$aRow['id']])) continue; $aSeen[$aRow['type'].$aRow['id']] = 1; echo ""; foreach($aRow as $sCol => $sVal) { switch($sCol) { case 'error message': if (preg_match('/Self-intersection\\[([0-9.\\-]+) ([0-9.\\-]+)\\]/',$sVal,$aMatch)) { $aRow['lat'] = $aMatch[2]; $aRow['lon'] = $aMatch[1]; echo "".($sVal?$sVal:' ').""; } else { echo "".($sVal?$sVal:' ').""; } break; case 'id': $sOSMType = ($aRow['type'] == 'N'?'node':($aRow['type'] == 'W'?'way':($aRow['type'] == 'R'?'relation':''))); echo ''.$aRow['id'].''; break; default: echo "".($sVal?$sVal:' ').""; break; } } echo "josm"; if (isset($aRow['lat'])) { echo "P2"; } else { echo " "; } echo ""; } echo ""; // include(CONST_BasePath.'/lib/template/details-'.$sOutputFormat.'.php'); ?>