@@ 49-67 (lines=19) @@ | ||
46 | * |
|
47 | * @return bool|mixed |
|
48 | */ |
|
49 | public function findFiasRegion($region) |
|
50 | { |
|
51 | $this->code_name = AbstractDatabaseQuery::KLADR_CODE; |
|
52 | ||
53 | $regions = new RegionsDatabaseQuery(); |
|
54 | $regions = $regions->getRegions(); |
|
55 | ||
56 | if (is_integer($this->first_letters)) { |
|
57 | $regions = $regions->firstLetters(substr($region, 0, $this->first_letters)); |
|
58 | } |
|
59 | ||
60 | $regions = $regions->findAll(); |
|
61 | ||
62 | array_map(array($this, 'geoDataHandler'), $regions); |
|
63 | ||
64 | $result = $this->findSimilarWord($region, $this->geo_titles); |
|
65 | ||
66 | return $result ? $this->geo_with_ids[$result] : false; |
|
67 | } |
|
68 | ||
69 | /** |
|
70 | * @param $word |
|
@@ 98-116 (lines=19) @@ | ||
95 | * |
|
96 | * @return bool|mixed |
|
97 | */ |
|
98 | public function findFiasSettlements($city, $region_code) |
|
99 | { |
|
100 | $this->code_name = AbstractDatabaseQuery::FIAS_CODE; |
|
101 | ||
102 | $settlements = new SettlementsDatabaseQuery(); |
|
103 | $settlements = $settlements->getSettlements()->regionCode($region_code)->addressLevel(); |
|
104 | ||
105 | if (is_integer($this->first_letters)) { |
|
106 | $settlements = $settlements->firstLetters(substr($city, 0, $this->first_letters)); |
|
107 | } |
|
108 | ||
109 | $settlements = $settlements->findAll(); |
|
110 | ||
111 | array_map(array($this, 'geoDataHandler'), $settlements); |
|
112 | ||
113 | $result = $this->findSimilarWord($city, $this->geo_titles); |
|
114 | ||
115 | return $result ? $this->geo_with_ids[$result] : false; |
|
116 | } |
|
117 | ||
118 | /** |
|
119 | * @param $city |
|
@@ 124-142 (lines=19) @@ | ||
121 | * |
|
122 | * @return bool|mixed |
|
123 | */ |
|
124 | public function findKladrSettlements($city, $region_code) |
|
125 | { |
|
126 | $this->code_name = AbstractDatabaseQuery::KLADR_CODE; |
|
127 | ||
128 | $settlements = new SettlementsDatabaseQuery(); |
|
129 | $settlements = $settlements->getSettlements()->regionCode($region_code)->addressLevel(); |
|
130 | ||
131 | if (is_integer($this->first_letters)) { |
|
132 | $settlements = $settlements->firstLetters(substr($city, 0, $this->first_letters)); |
|
133 | } |
|
134 | ||
135 | $settlements = $settlements->findAll(); |
|
136 | ||
137 | array_map(array($this, 'geoDataHandler'), $settlements); |
|
138 | ||
139 | $result = $this->findSimilarWord($city, $this->geo_titles); |
|
140 | ||
141 | return $result ? $this->geo_with_ids[$result] : false; |
|
142 | } |
|
143 | ||
144 | /** |
|
145 | * @param $street |
|
@@ 150-168 (lines=19) @@ | ||
147 | * |
|
148 | * @return bool|mixed |
|
149 | */ |
|
150 | public function findFiasStreets($street, $city_id) |
|
151 | { |
|
152 | $this->code_name = AbstractDatabaseQuery::FIAS_CODE; |
|
153 | ||
154 | $streets = new StreetsDatabaseQuery(); |
|
155 | $streets = $streets->getStreets()->parentId($city_id)->addressLevel(); |
|
156 | ||
157 | if (is_integer($this->first_letters)) { |
|
158 | $streets = $streets->firstLetters(substr($street, 0, $this->first_letters)); |
|
159 | } |
|
160 | ||
161 | $streets = $streets->findAll(); |
|
162 | ||
163 | array_map(array($this, 'geoDataHandler'), $streets); |
|
164 | ||
165 | $result = $this->findSimilarWord($street, $this->geo_titles); |
|
166 | ||
167 | return $result ? $this->geo_with_ids[$result] : false; |
|
168 | } |
|
169 | ||
170 | /** |
|
171 | * @param $street |