]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge pull request #708 from lonvia/check-for-invalid-geoms
authorSarah Hoffmann <lonvia@denofr.de>
Sat, 22 Apr 2017 16:12:18 +0000 (18:12 +0200)
committerGitHub <noreply@github.com>
Sat, 22 Apr 2017 16:12:18 +0000 (18:12 +0200)
make sure no invalid geometries end up in placex

utils/setup.php

index fae200cc71fa92f2659c1ee01822bba8673f800d..5ec410000e96a40059dd711cff78f402a5f92cbb 100755 (executable)
@@ -367,7 +367,9 @@ if ($aCMDResult['load-data'] || $aCMDResult['all']) {
         $sSQL = 'insert into placex (osm_type, osm_id, class, type, name, admin_level, ';
         $sSQL .= '                   address, extratags, geometry) ';
         $sSQL .= 'select * from place where osm_id % '.$iLoadThreads.' = '.$i;
-        $sSQL .= " and not (class='place' and type='houses' and osm_type='W' and ST_GeometryType(geometry) = 'ST_LineString')";
+        $sSQL .= " and not (class='place' and type='houses' and osm_type='W'";
+        $sSQL .= "          and ST_GeometryType(geometry) = 'ST_LineString')";
+        $sSQL .= " and ST_IsValid(geometry)";
         if ($aCMDResult['verbose']) echo "$sSQL\n";
         if (!pg_send_query($aDBInstances[$i]->connection, $sSQL)) {
             fail(pg_last_error($aDBInstances[$i]->connection));