From: Sarah Hoffmann Date: Sat, 22 Apr 2017 08:34:03 +0000 (+0200) Subject: make sure no invalid geometries end up in placex X-Git-Tag: v3.0.0~37^2 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/291a161cc68c6226bcacc5e3e7a541ddc6553e2b make sure no invalid geometries end up in placex --- diff --git a/utils/setup.php b/utils/setup.php index fae200cc..5ec41000 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -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));