/
convert.php
67 lines (60 loc) · 1.45 KB
/
convert.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
mb_internal_encoding('UTF-8');
use rezident\KladrJson\Application;
use rezident\KladrJson\builder\Tree;
use rezident\KladrJson\filter\Abbreviation;
use rezident\KladrJson\filter\AndCollection;
use rezident\KladrJson\filter\Level;
use rezident\KladrJson\filter\Status;
require 'vendor/autoload.php';
$abbrFilter = new Abbreviation();
$abbrFilter->not([
'снт',
'дп',
'тер',
'нп',
'рзд',
'казарма',
'мкр',
'промзона',
'ж/д_будка',
'п/ст',
'ж/д_оп',
'кв-л',
'ж/д_рзд',
'ж/д_ст',
'городок',
'автодорога',
'п/о',
'с/мо',
'ж/д_казарм',
'массив',
'ж/д_платф',
'ж/д_пост',
'погост',
'жилзона',
'п/р',
'ш',
'км',
'днп',
'лпх',
'округ',
'ул',
]);
Tree::$merged = [
47 => 78, // Санкт-Петербург и Ленинградская область
50 => 77, // Москва и Московская область
91 => 92 // Севастополь и Республика Крым
];
$filter = new AndCollection([
new Status(),
new Level(0),
$abbrFilter
]);
$builder = new Tree();
try {
(new Application())->run($filter, $builder);
} catch(Exception $e) {
$reflection = new ReflectionClass($e);
echo ($reflection->getShortName() . ': ' . $e->getMessage()) . PHP_EOL;
}