2017 © Pedro Peláez
 

library laradeck-address-generator

Generating real addresses to create test data

image

ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  • Thursday, September 14, 2017
  • by ngtfkx
  • Repository
  • 2 Watchers
  • 2 Stars
  • 20 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 7 Open issues
  • 11 Versions
  • 0 % Grown

The README.md

Laradeck Address Generator

Latest Version on Packagist ![Software License][ico-license] Build Status ![Coverage Status][ico-scrutinizer] Quality Score ![Total Downloads][ico-downloads], (*1)

Генерация реальных адресов для нужд разработки., (*2)

В отличии от Faker адреса реальныe для каждого города и их можно выводить на карту. Теперь у тестировщика не будет вопросов - почему маркер на карте не совпадает с адресом и как это объяснить клиенту/заказчику., (*3)

Install

Via Composer, (*4)

``` bash $ composer require ngtfkx/laradeck-address-generator, (*5)


Если необходимы консольные команды или подключение своих источников данных, то добавьте в файл `config/app.php` (для версий <=5.4.*) сервис-провайдер ``` php Ngtfkx\Laradeck\AddressGenerator\LaradeckAddressGeneratorServiceProvider::class,

Usage

Получение случайного адреса для любого из городов, который есть в пакете, (*6)

``` php $generator = new \Ngtfkx\Laradeck\AddressGenerator\Generator(); $address = $generator->getRandomAddress();, (*7)


Получение случайного адреса для любого из указанных городов ``` php $generator = new \Ngtfkx\Laradeck\AddressGenerator\Generator(); $generator->setCities('Tomsk', 'nsk', 'Омск'); // можно передавать массив $generator->addCity('новосибирск'); // добавит город к ранее установленным $address = $generator->getRandomAddress(); // адрес будет для какого-то из вышеуказанных 4-х горолдов

Documentation

Получение адреса

Для получения адреса существуют следующие методы, (*8)

  • getRandomAddress($forCity = null): Address - получить один адрес
  • getRandomAddresses(int $count, $forCity = null): Collection - получить коллекцию с указанным кол-ом адресов

По умолчанию случайный адрес может быть сгенерирован для любого из поддерживаемых городов (если алиас города не указан параметром), (*9)

Установка города

Если надо сгенерировать адрес для конкретного города(ов), то надо принудительно указать эти города. Для этого есть следующие методы, (*10)

  • addCity(string $city): Generator - добавить город по его алиасу в список использованных
  • addCities(...$cities): Generator - добавить несколько городов (можно через запятую, можно массивом)
  • setCities(...$cities): Generator - добавить несколько городов, обнулись ранее добавленные

Объект типа Address

Содержить следующие методы, (*11)

  • getFull(): string - получить полный адрес (с городом, улицей и номером дома)
  • getInsideLocality(): string - получить адрес нутри населенного пункта (только улица и номер дома)
  • getLocality(): string - получить наименование населенного пункта
  • getStreet(): string - получить наименование улицы
  • getBuilding(): string - получить номер дома

Структура хранения данных

Данные для генерации адресов по городам храняться в папке data/ru в файле {cityId}.php в виде массива, где {cityId} - id города в системе http://nominatim.openstreetmap.org/, (*12)

``` php return [ "1 Восточный спуск" => ["100", "101", "102"], "1-й квартал" => ["13", "2a", "3/1", "4", "5", "6"], ];, (*13)


Информация о списке поддерживаемых городов и их алиасах хранится в файле `data/ru/cities.php` виде массива ``` php return [ '173343488' => [ 'Омск', 'Omsk', ], '173436661' => [ 'Новосибирск', 'Nsk', 'Novo-sibirsk', 'Нск', ], ];

Подключение пользовательских данных

Для подключения пользовательских данных положите файл аналогичной структуры (см. Структура хранения данных) в любое место и укажите абсолютный путь до него от корня диска. Далее подключаете данные следующим образом, (*14)

php $generator = new Generator(); $generator->loadCustomData(111, 'Нефтебаза', storage_path('app/111.php'));, (*15)

Теперь адреса населенного пункта Нефтебаза доступны для генерации., (*16)

Статистика

Для получения информации о доступных городах и адресах есть консольная команда php artisan address:stat, (*17)

Генерация своих файлов данных

Для генерации файла данных есть консольная команда php artisan address:city-address-ru {city} {url} {--limit=0}, (*18)

  • {city} - id города в системе http://nominatim.openstreetmap.org/
  • {url} - первая страница города со списком улиц на сайте http://www.city-address.ru/, например вот такая
  • {--limit=0} - кол-во обрабатываемых страниц (0 - все)

Поддерживаемые города

  • Омск. Адресов: 27 297
  • Новосибирск. Адресов: 41 052
  • Красноярск. Адресов: 14 628
  • Барнаул. Адресов: 16 668
  • Томск. Адресов: 17 859
  • Сургут. Адресов: 2 649
  • Белгород. Адресов: 13 524
  • Брянск. Адресов: 14 844
  • Иваново. Адресов: 18 333
  • Сочи. Адресов: 6 885
  • Магнитогорск. Адресов: 7 846
  • Тверь. Адресов: 12 494
  • Улан-Удэ. Адресов: 14 229
  • Ставрополь. Адресов: 8 204
  • Курск. Адресов: 2 327
  • Калининград. Адресов: 13 618
  • Тула. Адресов: 12 081
  • Чебоксары. Адресов: 7 315
  • Киров. Адресов: 8 966
  • Липецк. Адресов: 14 182
  • Пенза. Адресов: 18 877
  • Набережные Челны. Адресов: 4 947
  • Астрахань. Адресов: 35 539
  • Рязань. Адресов: 10 751
  • Новокузнецк. Адресов: 22 101
  • Кемерово. Адресов: 20 679
  • Оренбург. Адресов: 17 617
  • Махачкала. Адресов: 1 100
  • Владивосток. Адресов: 7 739
  • Ярославль. Адресов: 14 571
  • Хабаровск. Адресов: 16 990
  • Иркутск. Адресов: 15 746
  • Ульяновск. Адресов: 12 533
  • Ижевск. Адресов: 13 636
  • Тольятти. Адресов: 8 107
  • Тюмень. Адресов: 18 074
  • Саратов. Адресов: 16 236
  • Краснодар. Адресов: 6 143
  • Волгоград. Адресов: 37 421
  • Воронеж. Адресов: 22 383
  • Пермь. Адресов: 4 495
  • Уфа. Адресов: 19 805
  • Ростов-на-Дону. Адресов: 37 131
  • Самара. Адресов: 19 083
  • Челябинск. Адресов: 23 013
  • Казань. Адресов: 30 572
  • Нижний Новгород. Адресов: 22 949
  • Екатеринбург. Адресов: 4 936
  • Санкт-Петербург. Адресов: 20 138
  • Москва. Адресов: 34 015

Change log

Please see CHANGELOG for more information on what has changed recently., (*19)

Credits

Milestones

  • Version 1: базовая функциональность
  • Version 2: подключение стран, локализация, геокординаты, перевод на английский
  • Version 3: отвязка от фреймворка

License

The MIT License (MIT). Please see License File for more information., (*20)

The Versions

14/09 2017

dev-master

9999999-dev https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel address fixtures data ngtfkx ngtfkx laradeck laradeckaddressgenerator

14/09 2017

1.0.0

1.0.0.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel address fixtures data ngtfkx laradeck laradeckaddressgenerator

08/09 2017

0.6.0

0.6.0.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel address fixtures data ngtfkx laradeck laradeckaddressgenerator

07/09 2017

0.5.0

0.5.0.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel address fixtures data ngtfkx laradeck laradeckaddressgenerator

05/09 2017

0.4.2

0.4.2.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

address fixtures data ngtfkx laradeck laradeckaddressgenerator

05/09 2017

0.4.1

0.4.1.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

address fixtures data ngtfkx laradeck laradeckaddressgenerator

05/09 2017

0.4.0

0.4.0.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

address fixtures data ngtfkx laradeck laradeckaddressgenerator

04/09 2017

0.3

0.3.0.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

address fixtures data ngtfkx laradeck laradeckaddressgenerator

28/08 2017

0.2

0.2.0.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

address fixtures data ngtfkx laradeck laradeckaddressgenerator

24/08 2017

0.1.1

0.1.1.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

address fixtures data ngtfkx laradeck laradeckaddressgenerator

24/08 2017

0.1.0

0.1.0.0 https://github.com/ngtfkx/laradeck-address-generator

Generating real addresses to create test data

  Sources   Download

MIT

The Requires

 

The Development Requires

address fixtures data ngtfkx laradeckaddressgenerator