From: Sarah Hoffmann Date: Sun, 4 Mar 2012 09:54:07 +0000 (+0100) Subject: add script to list broken polygons X-Git-Tag: v2.0.0~109 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/d7e91469b728304025dfc182bd1ebbdde4ac2e76?hp=88b07b8fc20023f7da758a45220f8ee7ea4f67b7 add script to list broken polygons --- diff --git a/website/polygons.php b/website/polygons.php new file mode 100755 index 00000000..3e2e878c --- /dev/null +++ b/website/polygons.php @@ -0,0 +1,145 @@ +\'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'); +?> + +