require_once(dirname(dirname(__FILE__)).'/lib/init-cmd.php');
ini_set('memory_limit', '800M');
+ ini_set('display_errors', 'stderr');
$aCMDOptions = array(
"Import and export special phrases",
$sLabel = $aMatch[1];
$sClass = $aMatch[2];
$sType = $aMatch[3];
+ # hack around a bug where building=yes was imported with
+ # quotes into the wiki
+ $sType = preg_replace('/"/', '', $sType);
+ # sanity check, in case somebody added garbage in the wiki
+ if (preg_match('/^\\w+$/', $sClass) < 1 ||
+ preg_match('/^\\w+$/', $sType) < 1) {
+ trigger_error("Bad class/type for language $sLanguage: $sClass=$sType");
+ exit;
+ }
$aPairs[$sClass.'|'.$sType] = array($sClass, $sType);
switch(trim($aMatch[4]))
}
}
+ echo "create index idx_placex_classtype on placex (class, type);\n";
+
foreach($aPairs as $aPair)
{
+ if ($aPair[1] == 'highway') continue;
+ echo "drop table if exists place_classtype_".pg_escape_string($aPair[0])."_".pg_escape_string($aPair[1]).";\n";
echo "create table place_classtype_".pg_escape_string($aPair[0])."_".pg_escape_string($aPair[1])." as ";
echo "select place_id as place_id,st_centroid(geometry) as centroid from placex where ";
echo "class = '".pg_escape_string($aPair[0])."' and type = '".pg_escape_string($aPair[1])."';\n";
echo "CREATE INDEX idx_place_classtype_".pg_escape_string($aPair[0])."_".pg_escape_string($aPair[1])."_place_id ";
echo "ON place_classtype_".pg_escape_string($aPair[0])."_".pg_escape_string($aPair[1])." USING btree(place_id);\n";
+ echo "GRANT SELECT ON place_classtype_".pg_escape_string($aPair[0])."_".pg_escape_string($aPair[1])." TO \"www-data\";\n";
+
}
+
+ echo "drop index idx_placex_classtype;\n";
}