{"id":26358287,"url":"https://github.com/spoje-net/ruian2sql","last_synced_at":"2025-07-17T14:33:44.404Z","repository":{"id":73311677,"uuid":"176026006","full_name":"Spoje-NET/ruian2SQL","owner":"Spoje-NET","description":"A tool for importing address points of the State Surveying and Cadastre Administration into SQL database","archived":false,"fork":false,"pushed_at":"2024-07-18T00:34:24.000Z","size":711,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-04T11:31:14.877Z","etag":null,"topics":["phing-tasks","phinx-migrations","php","sql"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Spoje-NET.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-16T21:20:18.000Z","updated_at":"2025-05-27T08:18:35.000Z","dependencies_parsed_at":"2025-03-16T14:30:52.387Z","dependency_job_id":"595ac3d2-f565-4cc6-974d-00d453d78ce1","html_url":"https://github.com/Spoje-NET/ruian2SQL","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Spoje-NET/ruian2SQL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fruian2SQL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fruian2SQL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fruian2SQL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fruian2SQL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Spoje-NET","download_url":"https://codeload.github.com/Spoje-NET/ruian2SQL/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spoje-NET%2Fruian2SQL/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265616986,"owners_count":23798939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["phing-tasks","phinx-migrations","php","sql"],"created_at":"2025-03-16T14:27:35.876Z","updated_at":"2025-07-17T14:33:44.385Z","avatar_url":"https://github.com/Spoje-NET.png","language":"PHP","readme":"ruian2SQL\n=========\n\nNástroj pro import **adresních míst Státní správy zeměměřictví a katastru**  do SQL databáze\n\n[Formát vstupních dat](Adresni-mista-CSV_atributy.pdf?raw=true)\n\n(https://www.cuzk.cz/Uvod/Produkty-a-sluzby/RUIAN/2-Poskytovani-udaju-RUIAN-ISUI-VDP/Dopady-zmeny-zakona-c-51-2020-Sb/Adresni-mista-CSV_atributy.aspx)\n\n[![time tracker](https://wakatime.com/badge/github/Spoje-NET/ruian2SQL.svg)](https://wakatime.com/badge/github/Spoje-NET/ruian2SQL)\n\nPožadavky\n---------\n\n* **[PHP](http://php.net/)7+** (testováno na 7.2) - popular general-purpose scripting language\n* **SQL databáze** - podporovaná nástrojem [phinx](http://docs.phinx.org/en/latest/configuration.html#supported-adapters): MySQL,PostgreSQL,SQLite,MsSQL\n* [composer](https://getcomposer.org/) - Dependency Manager for PHP \n* [phing](https://www.phing.info/) - a PHP project build system or build tool based on Apache Ant.\n* [phinx](https://phinx.org/) - PHP Database Migrations For Everyone\n\n\nPostup \n======\n\nNejprve je třeba si připravit databázi: \n\nMySQL\n-----\n\nAby se data naimportovala je třeba nastavit hodnotu **max_allowed_packet** na 100M \n\n```\nmysqladmin -u root -p create ruian_devel\nmysql -u root -p -e \"GRANT ALL PRIVILEGES ON ruian_devel.* TO 'ruian'@'localhost' IDENTIFIED BY 'ruian'\"\n```\n\nPostgreSQL\n----------\n\n```\nsudo -u postgres bash -c \"psql -c \\\"CREATE USER ruian WITH PASSWORD 'ruian';\\\"\"\nsudo -u postgres bash -c \"psql -c \\\"create database ruian with owner ruian encoding='utf8' template template0;\\\"\"\n```\n\nPřihlašovací údaje do databáze je třeba zadat do souboru [phinx.yml]\n\n\nSpuštění\n--------\n\nPokud nepoužíváme globálně dostupný příkaz **phinx** je třeba jej doinstalovat. \n\ncomposer install\n\nSpolu s ním se doinstaluje i lokální verze příkazu **phing**\n\nImport dat do databáze zahájme poté příkazem **phing** nebop **./vendor/bin/phing**\n\n1. Tento stahne z internetu archiv [adresních míst](https://nahlizenidokn.cuzk.cz/StahniAdresniMistaRUIAN.aspx).\n1. Rozbalí jej\n1. [Vytvoří v databázi prázdnou tabulku **places**](db/migrations/20190316175201_places.php) (příkaz **phinx migrate**)\n1. [Naimportuje data z rozbalených  CSV souborů](db/seeds/Places.php) (příkaz **phinx seed:run -s Places**)\n\nPokud vše dopadne dobře, najdete v databázi tabuku **ruian_devel** obsahující **2.921.779** záznamů:\n\nStruktura Databáze\n------------------\n\n```sql\nCREATE TABLE `places` (\n  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n  `adm` int(11) unsigned DEFAULT NULL COMMENT 'Kód ADM',\n  `code` int(11) unsigned DEFAULT NULL COMMENT 'Kód obce',\n  `name` varchar(255) DEFAULT NULL COMMENT 'Název obce',\n  `momc_code` int(11) unsigned DEFAULT NULL COMMENT 'Kód MOMC',\n  `momc_name` varchar(255) DEFAULT NULL COMMENT 'Název MOMC',\n  `mop_code` int(11) unsigned DEFAULT NULL COMMENT 'Kód MOP',\n  `mop_name` varchar(255) DEFAULT NULL COMMENT 'Název MOP',\n  `district_code` int(11) unsigned DEFAULT NULL COMMENT 'Kód části obce',\n  `district_name` varchar(255) DEFAULT NULL COMMENT 'Název části obce',\n  `street_code` int(11) unsigned DEFAULT NULL COMMENT 'Kód ulice',\n  `street_name` varchar(255) DEFAULT NULL COMMENT 'Název ulice',\n  `so_type` varchar(255) DEFAULT NULL COMMENT 'Typ SO',\n  `house_number` int(11) unsigned DEFAULT NULL COMMENT 'Číslo domovní',\n  `orientation_number` int(11) unsigned DEFAULT NULL COMMENT 'Číslo orientační',\n  `orientation_number_mark` varchar(255) DEFAULT NULL COMMENT 'Znak čísla orientačního',\n  `zip` varchar(5) DEFAULT NULL COMMENT 'PSČ',\n  `y` float unsigned DEFAULT NULL COMMENT 'S-JTSK Souřadnice Y',\n  `x` float unsigned DEFAULT NULL COMMENT 'S-JTSK Souřadnice X',\n  `latitude` decimal(30,10) unsigned DEFAULT NULL COMMENT 'WGS 84 Y',\n  `longitude` decimal(30,10) unsigned DEFAULT NULL COMMENT 'WGS 84 X',\n  `valid_from` datetime DEFAULT NULL COMMENT 'Platí Od',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `idx_adm` (`adm`),\n  KEY `idx_code` (`code`),\n  KEY `idx_name` (`name`),\n  KEY `idx_stret_name` (`street_name`),\n  KEY `idx_house_number` (`house_number`),\n  KEY `idx_orientation_number` (`orientation_number`),\n  KEY `idx_zip` (`zip`),\n  KEY `gps` (`x`,`y`),\n  KEY `gps_reverse` (`y`,`x`)\n) ENGINE=InnoDB AUTO_INCREMENT=2921780 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Adresní místa z celé ČR';\n```\n\n![PhpMyAdmin](phpmya.png?raw=true)\n\nPříklad použití\n---------------\n\nPříklad funkce která vrátí nejbližší adresu od hledaných souřadnic:\n\n```php\nclass Places extends \\Ease\\SQL\\Engine {\n\n    public $myTable = 'places';\n\n    public function findClosestPlace($long, $lat) {\n        return $this-\u003elistingQuery()-\u003edisableSmartJoin()-\u003eselect(new \\Envms\\FluentPDO\\Literal('ROUND(3959 * ACOS(COS(RADIANS(' . $lat . ')) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS(' . $long . ')) + SIN(RADIANS(' . $lat . ')) * SIN(RADIANS(latitude)))) AS distance'))-\u003eorderBy('distance')-\u003elimit(1);\n    }\n}\n```\n\n(Psáno s použitím https://github.com/VitexSoftware/php-ease-fluentpdo)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoje-net%2Fruian2sql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspoje-net%2Fruian2sql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoje-net%2Fruian2sql/lists"}