protected $bEnableDiffUpdates;
protected $bEnableDebugStatements;
protected $bNoPartitions;
+ protected $bDrop;
protected $oDB = null;
public function __construct(array $aCMDResult)
} else {
$this->bEnableDiffUpdates = false;
}
+
+ $this->bDrop = $aCMDResult['drop'];
}
public function createDB()
if (!$this->sIgnoreErrors && !$this->oDB->getRow('select * from place limit 1')) {
fail('No Data');
}
+
+ if ($this->bDrop) {
+ $this->dropTable('planet_osm_nodes');
+ $this->removeFlatnodeFile();
+ }
}
public function createFunctions()
$aFilenames = glob(CONST_Tiger_Data_Path.'/*.sql');
info('Found '.count($aFilenames).' SQL files in path '.CONST_Tiger_Data_Path);
- if (empty($aFilenames)) return;
-
+ if (empty($aFilenames)) {
+ warn('Tiger data import selected but no files found in path '.CONST_Tiger_Data_Path);
+ return;
+ }
$sTemplate = file_get_contents(CONST_BasePath.'/sql/tiger_import_start.sql');
$sTemplate = $this->replaceSqlPatterns($sTemplate);
public function index($bIndexNoanalyse)
{
- $sOutputFile = '';
$sBaseCmd = CONST_BasePath.'/nominatim/nominatim.py'
.' -d '.escapeshellarg($this->aDSNInfo['database'])
.' -P '.escapeshellarg($this->aDSNInfo['port'])
- .' -t '.escapeshellarg($this->iInstances.$sOutputFile);
+ .' -t '.escapeshellarg($this->iInstances);
if (!$this->bQuiet) {
$sBaseCmd .= ' -v';
}
}
$sTemplate = file_get_contents(CONST_BasePath.'/sql/indices.src.sql');
+ if (!$this->bDrop) {
+ $sTemplate .= file_get_contents(CONST_BasePath.'/sql/indices_updates.src.sql');
+ }
if (!$this->dbReverseOnly()) {
$sTemplate .= file_get_contents(CONST_BasePath.'/sql/indices_search.src.sql');
}
$this->dropTable($sDrop);
}
+ $this->removeFlatnodeFile();
+ }
+
+ private function removeFlatnodeFile()
+ {
if (!is_null(CONST_Osm2pgsql_Flatnode_File) && CONST_Osm2pgsql_Flatnode_File) {
if (file_exists(CONST_Osm2pgsql_Flatnode_File)) {
if ($this->bVerbose) echo 'Deleting '.CONST_Osm2pgsql_Flatnode_File."\n";
$sBasePath = CONST_BasePath.'/sql/functions/';
$sTemplate = file_get_contents($sBasePath.'utils.sql');
$sTemplate .= file_get_contents($sBasePath.'normalization.sql');
+ $sTemplate .= file_get_contents($sBasePath.'ranking.sql');
$sTemplate .= file_get_contents($sBasePath.'importance.sql');
$sTemplate .= file_get_contents($sBasePath.'address_lookup.sql');
$sTemplate .= file_get_contents($sBasePath.'interpolation.sql');