Skip to content

Получение списка районов города и станций метро из 2gis API

Notifications You must be signed in to change notification settings

unaxfromsibiria/api2gis_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Описание

название:Получение названий районов городов и станций метро

Часто для сайта нужны списки районов городов, станций метро или общественного транспорта. Тут нам помогает благодатный api 2gis

Использование

Как обычно, все просто! Нужен только ключ (он легко берется в on-line версии на официальном сайте):

>>> from data_parser_2gis import Parser2gis
>>> parser = Parser2gis(u'some2giskey')
>>> city=parser.get_city(u'Новосибирск')
>>> print city.get('name')
Новосибирск

Чтобы получить список районов есть предусмотрено 2 способа..

  1. Поиск по запросу вида "район <первая буква названия района>", всего получается 29 запросов к api для каждого города:

    >>> districts=parser.find_district_by_alphabet(u'Новосибирск', delay=0.1)
    >>> for d in districts:
    ...     print d
    ...
    Центральный
    Кировский
    Калининский
    Заельцовский
    Первомайский
    Октябрьский
    Ленинский
    Дзержинский
    Железнодорожный
    Советский
    

Аргумент delay задет интервал времени между запросами, это способ экономичного использования api.

Можно его не указывать.

  1. Создание сетки координат и поиск района по точке.

Если перый способ не вернул всех районов, можно наложить на область города сетку,

пересечение вертикальных и горизонтальных прямых даст точки, котороые будут использоваться как параметры поиска:

>>> districts=parser.find_district_by_grid(u'Новосибирск', grid_step=0.1, delay=0.05)
>>> for d in districts:
...     print d
...
Ленинский
Заельцовский
Кировский
Железнодорожный
Центральный
Октябрьский
Калининский
Первомайский
Дзержинский
Советский

Аргумент grid_step нужен для указания размера ячеек относительно размера области поиска на карте. Если указано 0,1 (10%) то область будет поделена на 100 ячеек, получаем 100 точек для поиска.

Станции метро можно получить так:

>>> metro_all=parser.find_metro_station(u'Москва')
>>> len(metro_all)
131
>>> metro_all=parser.find_metro_station(u'Екатеринбург')
>>> for m in metro_all:
...     print m
...
Уралмаш
Динамо
Метрология
Матросская

About

Получение списка районов города и станций метро из 2gis API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages