File: //var/www/elite/coordParser/commimCoordParse.php
<?php
use coordParser\CommimAddress;
use coordParser\Yandex;
ini_set('max_execution_time', '-1');
ini_set('display_errors', '1');
require __DIR__ . '/../vendor/autoload.php';
try {
$commimAddress = new CommimAddress();
} catch (Throwable $exception) {
print_r($exception->getMessage() . PHP_EOL);
die;
}
$yandex = new Yandex();
$filter = [
'type' => 'Помещение',
'pravo' => 'Имущество казны',
'minArea' => 500,
];
$addresses = $commimAddress->findWithOutCoordinates($filter);
if (empty($addresses)) {
$addresses = $commimAddress->findWithOutCoordinates();
}
if (empty($addresses)) {
print_r('Для всех адресов получены координаты' . PHP_EOL);
return;
}
print_r('Найдено адресов без координат: ' . count($addresses) . PHP_EOL);
$limit = 950;
foreach ($addresses as $address) {
if (empty($limit)) {
print_r('На сегодня всё' . PHP_EOL);
return;
}
$coordinates = $yandex->getCoordinatesFromGeocoder($address->addr_print);
$limit--;
$longitude = $coordinates['longitude'];
$latitude = $coordinates['latitude'];
if (empty($longitude) || empty($latitude)) {
print_r('Пропускаем' . PHP_EOL . PHP_EOL);
continue;
}
$commimAddress->updateCoordinates($address->obj_id, $longitude, $latitude);
}