X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/ec4e3c36af238ae3c31a2f5eb727fe2a22f6d054..30cd2f2280631785af8d6fa9823871b562874a1c:/website/polygons.php diff --git a/website/polygons.php b/website/polygons.php index e5d459f3..88b48ae8 100644 --- a/website/polygons.php +++ b/website/polygons.php @@ -1,26 +1,28 @@ getSet('format', array('json'), 'json'); +set_exception_handler_by_format($sOutputFormat); -$sOutputFormat = 'html'; $iDays = $oParams->getInt('days', false); $bReduced = $oParams->getBool('reduced', false); $sClass = $oParams->getString('class', false); -$oDB =& getDB(); +$oDB = new Nominatim\DB(CONST_Database_DSN); +$oDB->connect(); -$iTotalBroken = (int) chksql($oDB->getOne('select count(*) from import_polygon_error')); +$iTotalBroken = (int) $oDB->getOne('SELECT count(*) FROM import_polygon_error'); $aPolygons = array(); while ($iTotalBroken && empty($aPolygons)) { - $sSQL = 'select osm_type as "type",osm_id as "id",class as "key",type as "value",name->\'name\' as "name",'; - $sSQL .= 'country_code as "country",errormessage as "error message",updated'; - $sSQL .= ' from import_polygon_error'; + $sSQL = 'SELECT osm_type, osm_id, class, type, name->\'name\' as "name",'; + $sSQL .= 'country_code, errormessage, updated'; + $sSQL .= ' FROM import_polygon_error'; $aWhere = array(); if ($iDays) { @@ -32,11 +34,11 @@ while ($iTotalBroken && empty($aPolygons)) { if ($sClass) $sWhere[] = "class = '".pg_escape_string($sClass)."'"; if (!empty($aWhere)) { - $sSQL .= ' where '.join(' and ', $aWhere); + $sSQL .= ' WHERE '.join(' and ', $aWhere); } - $sSQL .= ' order by updated desc limit 1000'; - $aPolygons = chksql($oDB->getAll($sSQL)); + $sSQL .= ' ORDER BY updated desc LIMIT 1000'; + $aPolygons = $oDB->getAll($sSQL); } if (CONST_Debug) { @@ -44,93 +46,6 @@ if (CONST_Debug) { exit; } -?> - - - - - - - Nominatim Broken Polygon Data - - - - - - - - -Total number of broken polygons: $iTotalBroken

"; -if (!$aPolygons) exit; -echo ''; -echo ''; -//var_dump($aPolygons[0]); -foreach ($aPolygons[0] as $sCol => $sVal) { - 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 ''; - } else { - echo ''; - } - break; - case 'id': - echo ''; - break; - default: - echo ''; - break; - } - } - echo ''; - echo ''; -} -echo '
'.$sCol.' 
'.($sVal?$sVal:' ').''.($sVal?$sVal:' ').''.osmLink($aRow).''.($sVal?$sVal:' ').'josm
'; - -?> - -