From: Sarah Hoffmann Date: Sat, 22 Apr 2017 16:12:18 +0000 (+0200) Subject: Merge pull request #708 from lonvia/check-for-invalid-geoms X-Git-Tag: v3.0.0~37 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/c62957323038f53d3b1ed6cd23b0ce473e46650e?hp=71e6d5f9a675d3bcd997f39afec5e6e9f131e708 Merge pull request #708 from lonvia/check-for-invalid-geoms 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));