X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/6fef943e49ddd719524d1987e134d97fa89f2157..a855ffe58e258be6ac4a68a802d87b65fdfd6033:/website/polygons.php diff --git a/website/polygons.php b/website/polygons.php index b6146d95..153a279d 100755 --- a/website/polygons.php +++ b/website/polygons.php @@ -1,139 +1,134 @@ getOne('select count(*) from import_polygon_error'); +$sOutputFormat = 'html'; +$iDays = $oParams->getInt('days', 1); +$bReduced = $oParams->getBool('reduced', false); +$sClass = $oParams->getString('class', false); - $aPolygons = array(); - while($iTotalBroken && !sizeof($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 .= " where updated > 'now'::timestamp - '".$iDays." day'::interval"; - $iDays++; +$oDB =& getDB(); + +$iTotalBroken = (int) chksql($oDB->getOne('select count(*) from import_polygon_error')); + +$aPolygons = array(); +while ($iTotalBroken && !sizeof($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 .= " where updated > 'now'::timestamp - '".$iDays." day'::interval"; + $iDays++; + + 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 = chksql($oDB->getAll($sSQL)); +} + +if (CONST_Debug) { + var_dump($aPolygons); + exit; +} - 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 - - + + + + Nominatim Broken Polygon Data + + Total number of broken polygons: $iTotalBroken

"; - echo ""; - echo ""; +echo "

Total number of broken polygons: $iTotalBroken

"; +if (!$aPolygons) exit; +echo "
"; +echo ""; //var_dump($aPolygons[0]); - foreach($aPolygons[0] as $sCol => $sVal) - { - echo ""; - } - 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': - $sOSMType = ($aRow['type'] == 'N'?'node':($aRow['type'] == 'W'?'way':($aRow['type'] == 'R'?'relation':''))); - echo ''; - break; - default: - echo ""; - break; - } - } - echo ""; - if (isset($aRow['lat'])) - { - echo ""; - } - else - { - echo ""; - } - echo ""; - } - echo "
".$sCol."  
".($sVal?$sVal:' ')."".($sVal?$sVal:' ')."'.$aRow['id'].'".($sVal?$sVal:' ')."josmP2 
"; - - +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': + echo ''.osmLink($aRow).''; + 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'); ?>