X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/c8e79397f5b71eae8fd7738c931f7f80b1228654..291a161cc68c6226bcacc5e3e7a541ddc6553e2b:/utils/setup.php diff --git a/utils/setup.php b/utils/setup.php index 0814794f..5ec41000 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -367,9 +367,13 @@ 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($oDB->connection)); + if (!pg_send_query($aDBInstances[$i]->connection, $sSQL)) { + fail(pg_last_error($aDBInstances[$i]->connection)); + } } // last thread for interpolation lines $aDBInstances[$iLoadThreads] =& getDB(true); @@ -378,7 +382,9 @@ if ($aCMDResult['load-data'] || $aCMDResult['all']) { $sSQL .= ' SELECT osm_id, address, geometry from place where '; $sSQL .= "class='place' and type='houses' and osm_type='W' and ST_GeometryType(geometry) = 'ST_LineString'"; if ($aCMDResult['verbose']) echo "$sSQL\n"; - if (!pg_send_query($aDBInstances[$i]->connection, $sSQL)) fail(pg_last_error($oDB->connection)); + if (!pg_send_query($aDBInstances[$iLoadThreads]->connection, $sSQL)) { + fail(pg_last_error($aDBInstances[$iLoadThreads]->connection)); + } $bAnyBusy = true; while ($bAnyBusy) {