Aktuell eingelesene Dateien: alte Daten von http://earth-info.nga.mil/gns/html/cntry_files.html Aktuell einzulesende Daten: http://geonames.nga.mil/gns/html/cntyfile/au.zip http://geonames.nga.mil/gns/html/cntyfile/gm.zip http://geonames.nga.mil/gns/html/cntyfile/sz.zip (Datenformat hat sich geändert, braucht Anpassungen) ***************************************************************************/ // ported from lib1 to lib2 / untested! $opt['rootpath'] = '../../'; require $opt['rootpath'] . 'lib2/cli.inc.php'; /* defaults */ $importfiles = array("gm.txt", "au.txt", "sz.txt"); sql("TRUNCATE TABLE gns_locations"); foreach ($importfiles as $filename) { importGns($filename, $dblink); } function importGns($filename, $dblink) { echo "Importing '{$filename}'...\n"; $file = fopen($filename, "r"); $cnt = 0; while ($line = fgets($file, 4096)) { if ($cnt++ == 0) { // skip first line continue; } $gns = mb_split("\t", $line); sql("INSERT IGNORE INTO gns_locations SET\n\t\t\t\t\trc = '" . sql_escape($gns[0]) . "',\n\t\t\t\t\tufi = '" . sql_escape($gns[1]) . "',\n\t\t\t\t\tuni = '" . sql_escape($gns[2]) . "',\n\t\t\t\t\tlat = '" . sql_escape($gns[3]) . "',\n\t\t\t\t\tlon = '" . sql_escape($gns[4]) . "',\n\t\t\t\t\tdms_lat = '" . sql_escape($gns[5]) . "',\n\t\t\t\t\tdms_lon = '" . sql_escape($gns[6]) . "',\n\t\t\t\t\tutm = '" . sql_escape($gns[7]) . "',\n\t\t\t\t\tjog = '" . sql_escape($gns[8]) . "',\n\t\t\t\t\tfc = '" . sql_escape($gns[9]) . "',\n\t\t\t\t\tdsg = '" . sql_escape($gns[10]) . "',\n\t\t\t\t\tpc = '" . sql_escape($gns[11]) . "',\n\t\t\t\t\tcc1 = '" . sql_escape($gns[12]) . "',\n\t\t\t\t\tadm1 = '" . sql_escape($gns[13]) . "',\n\t\t\t\t\tadm2 = _utf8'" . sql_escape($gns[14]) . "',\n\t\t\t\t\tdim = '" . sql_escape($gns[15]) . "',\n\t\t\t\t\tcc2 = '" . sql_escape($gns[16]) . "',\n\t\t\t\t\tnt = '" . sql_escape($gns[17]) . "',\n\t\t\t\t\tlc = '" . sql_escape($gns[18]) . "',\n\t\t\t\t\tSHORT_FORM = _utf8'" . sql_escape($gns[19]) . "',\n\t\t\t\t\tGENERIC = _utf8'" . sql_escape($gns[20]) . "',\n\t\t\t\t\tSORT_NAME = _utf8'" . sql_escape($gns[21]) . "',\n\t\t\t\t\tFULL_NAME = _utf8'" . sql_escape($gns[22]) . "',\n\t\t\t\t\tFULL_NAME_ND = _utf8'" . sql_escape($gns[23]) . "',\n\t\t\t\t\tMOD_DATE = '" . sql_escape($gns[24]) . "'"); } fclose($file);
* ** download the files from the explicit links above. * ************************************************************************* */ header('Content-Type: text/plain'); set_time_limit(0); $rootpath = '../../'; /* defaults */ $importfiles = array("pl.txt", "pl_administrative_a.txt", "nl.txt", "nl_administrative_a.txt", "be.txt", "be_administrative_a.txt", "lu.txt", "lu_administrative_a.txt", "ro.txt", "ro_administrative_a.txt"); # first download the file from the URLs above sql("DROP TABLE IF EXISTS `gns_locations` "); // the columns reflect one-to-one file structure // there may be additional columns at the end of the table sql("CREATE TABLE `gns_locations` (\n `RC` tinyint(4) NOT NULL DEFAULT '0',\n `UFI` int(11) NOT NULL DEFAULT '0',\n `UNI` int(11) NOT NULL DEFAULT '0',\n `LAT` double NOT NULL DEFAULT '0',\n `LON` double NOT NULL DEFAULT '0',\n `DMS_LAT` int(11),\n `DMS_LONG` int(11),\n `MGRS` varchar(4),\n `JOG` varchar(7),\n `FC` char(1),\n `DSG` varchar(5),\n `PC` tinyint(4),\n `CC1` char(2),\n `ADM1` char(2),\n `POP` varchar(200),\n `ELEV` int(11),\n `CC2` char(2),\n `NT` char(1),\n `LC` char(2),\n `SHORT_FORM` varchar(128),\n `GENERIC` varchar(128),\n `SORT_NAME` varchar(200),\n `FULL_NAME` varchar(200) COLLATE utf8_polish_ci,\n `FULL_NAME_ND` varchar(200),\n `SORT_NAME_RG` varchar(200),\n `FULL_NAME_RG` varchar(200),\n `FULL_NAME_ND_RG` varchar(200),\n `NOTE` varchar(200),\n `MODIFY_DATE` date,\n `DISPLAY` varchar(200),\n `NAME_RANK` int(11),\n `NAME_LINK` int(11),\n `TRANSL_CD` varchar(200),\n `NM_MODIFY_DATE` date,\n `ADMTXT1` varchar(120) COLLATE utf8_polish_ci,\n `ADMTXT3` varchar(120) COLLATE utf8_polish_ci,\n `ADMTXT4` varchar(120) COLLATE utf8_polish_ci,\n `ADMTXT2` varchar(120) COLLATE utf8_polish_ci,\n PRIMARY KEY (`uni`),\n KEY `ufi` (`ufi`),\n KEY `key1` (`DSG`, `CC1`,`ADM1`)\n ) ENGINE=MyISAM DEFAULT CHARSET=utf8;\n "); // TODO: The collate parameter should be instalation dependent. foreach ($importfiles as $filename) { importGns($filename); } function importGns($filename) { if (isset($_GET['basepath'])) { $filename = $_GET['basepath'] . '/' . $filename; } echo "Importing '{$filename}'...\n"; $file = fopen($filename, "r"); if (!$file) { return; } $columns = mb_split("[\t ,]", "RC,UFI,UNI,LAT,LON,DMS_LAT,DMS_LONG,MGRS,JOG,FC,DSG,PC,CC1,ADM1,POP,ELEV,CC2,NT,LC,SHORT_FORM,GENERIC,SORT_NAME,FULL_NAME,FULL_NAME_ND,SORT_NAME_RG,FULL_NAME_RG,FULL_NAME_ND_RG,NOTE,MODIFY_DATE,DISPLAY,NAME_RANK,NAME_LINK,TRANSL_CD,NM_MODIFY_DATE"); $utf_columns = mb_split("[\t ,]", "SHORT_FORM,GENERIC,SORT_NAME,FULL_NAME,FULL_NAME_ND,SORT_NAME_RG,FULL_NAME_RG,FULL_NAME_ND_RG,NOTE"); $line_cnt = 0; $cnt = 0;