možná se někomu bude hodit. Vyštrachal jsem ze zápisků postup, kterým jsem kdysi vymyslel na import RÚIANu dostupného na webu do lokální SQL. Za aktuálnost ani chybuvzdornost ale neručím.
1. Příprava souboru schema.sql
Kód: Vybrat vše
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `ruian`;
CREATE TABLE `ruian` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`kod_adm` INT(11),
`kod_obce` INT(11),
`nazev_obce` VARCHAR(255),
`nazev_momc` VARCHAR(255),
`nazev_mop` VARCHAR(255),
`kod_casti_obce` INT(11),
`nazev_casti_obce` VARCHAR(255),
`nazev_ulice` VARCHAR(255),
`typ_so` VARCHAR(255),
`cislo_domovni` INT(11),
`cislo_orientacni` INT(11),
`znak_cisla_orientacniho` VARCHAR(255),
`psc` INT(11),
`souradnice_y` VARCHAR(255),
`souradnice_x` VARCHAR(255),
`plati_od` VARCHAR(255),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
2. Import schema.sql do databáze
Kód: Vybrat vše
mysql -u uživatel -p databáze < /root/ruian.sql
3. Stáhnutí souborů, spojení a konverze na jeden CSV soubor vhodný pro import (Linux nebo OS X)
- Stáhnout ZIP z http://nahlizenidokn.cuzk.cz/StahniAdresniMistaRUIAN.aspx a rozbalit (cca 6300 CSV souborů / 330 MB)
- Spojit jednotlivé CSV soubory do jednoho (celkem okolo 2,9 mil řádků), ten zkonvertovat z defaultního kódování cp1250 na UTF-8 a odstranit všechny řádky s hlavičkou:
Kód: Vybrat vše
1. cat * > cp1250.csv
2. iconv -f cp1250 -t utf-8 < cp1250.csv > utf-8.csv
3. grep -v '^Kód ADM' utf-8.csv > ruian.csv
Import CSV souboru ruian.csv do tabulky
- Název importovaného souboru (bez přípony .csv) musí být stejný jako tabulka do které je soubor importován.
- Pokud je oddělovač polí středník, pak je potřeba jej eskejpovat \;
Kód: Vybrat vše
mysqlimport --fields-terminated-by=\; --columns='kod_adm,kod_obce,nazev_obce,nazev_momc,nazev_mop,kod_casti_obce,nazev_casti_obce,nazev_ulice,typ_so,cislo_domovni,cislo_orientacni,znak_cisla_orientacniho,psc,souradnice_y,souradnice_x,plati_od' --local -u uživatel -p databáze ruian