Как найти координаты или выполнить поиск по широте и долготе
Чтобы найти место, введите на Google Картах GPS-координаты широты и долготы. Вы также можете найти координаты просмотренных ранее мест.
Если у места нет обычного адреса, то найти это место и поделиться им на Google Картах можно с помощью кода Plus Code.
Как ввести координаты места
- Откройте Google Карты на компьютере.
- В окно поиска введите координаты. Допускаются следующие форматы:
- Десятичные градусы: 41.40338, 2.17403
- Градусы, минуты и секунды: 41°24’12.2″N 2°10’26.5″E
- Градусы и десятичные минуты: 41 24.2028, 2 10.4418
Как узнать координаты места
- Откройте Google Карты на компьютере.
- Нажмите на нужный участок карты правой кнопкой мыши.
- Откроется всплывающее окно. В верхней части показываются широта и долгота в десятичном формате.
- Чтобы скопировать координаты, нажмите на них левой кнопкой мыши.
Как отформатировать координаты
Чтобы координаты распознавались в Google Картах, указывайте их только в следующем десятичном формате:
- Правильно: 41.40338, 2.17403.
- Неправильно: 41,40338, 2,17403.
Примечания
- Сначала указывается широта, затем долгота.
- Для широты используйте значения в диапазоне от -90 до 90.
- Долготу указывайте в диапазоне от -180 до 180.
Эта информация оказалась полезной?
Как можно улучшить эту статью?
Получить координаты по адресу
Начните вводить запрос для появления поисковой подсказки.
07.11.2019, обновлено 25.02.2021
Комментарии 12
56.346846,43.847955 Какое значение является широтой. а какое долготой
Первое – широта, второе – долгота
Супер молодцы давно такое искал.
куда-то поисковая стока и карта пропали(((
Можно ли получить широту и долготу для списка объектов (файлом)?
Как получить географические координаты, если тебе известен лишь километраж от устья реки?
Почему не работает сервер?
55.63716124224591,37.705979398721205 у меня так слишком большой цифры получился. Это правильно?
М кр энергетик са д о в а я 15. 23 в л а д и м и р
Самый лучший вариант – это обратиться к профи в области пробива.
ТВОЙ – ИНФОРМАТОР . РУ
Пробьют любую информацию быстро, качественно, по низким ценам.
Удачи!
Екатеринбург ул. Декабристов 32
Свердловская обл Нижнесергинский район, деревня Васькино, ул. Набережная 6
Как по координатам найти точку, адрес, место на карте
Чтобы по координатам найти точку на карте в онлайн-режиме, используя технологии Яндекса, Гугла или OSM, данная карта использует технологии OSM карт:
– нужно ввести в поля: широта и долгота ваши данные координат и нажать кнопку «Найти», после этого сервис вычислит место, точку на карте, как России, так и мира.
Данный сервис поможет узнать улицу, адрес, город и определит точные координаты.
Поиск географических координат широта и долгота по адресу
Чтобы найти координаты на карте широты и долготы точки по адресу онлайн: нужно ввести в поле поиска точный адрес, город, страну,
выбрать из списка нужный и сервис произведет определение широты и долготы данного места, которые Вы сможете скопировать из спец.поля.
Также показать точку на карте и вычислить ее координаты, можно просто кликая на карту в любом месте,
сервис вычислит: адрес объекта и поле покажет данные координат, которые также можно будет скориповать.
Найти место на карте по координатам: широта и долгота онлайн
* На интерактивной карте показаны границы России до Референдумов 2014 и 2022 гг.
Поиск по координатам на карте
Вы можете указать любое место на карте и получить координаты широты и долготы. Так же во всплывающем окне вы получите точный адрес объекта или точки. Чтобы удалить все точки с карты нажмите кнопку «Удалить метки».
Для того чтобы найти место на карте по заданным координатам на сайте 1maps.ru, выполните следующие действия:
Откройте сайт 1maps.ru в вашем браузере.
- Зайдите в раздел «Поиск по координатам» в левой верхней части страницы (слева от карты).
- Введите координаты места, которое вы хотите найти, в поля «Широта» и «Долгота».
- Нажмите на кнопку «Найти» и точка с заданными координатами появится на карте.
Чтобы узнать координаты нужного места по заданному адресу введите адрес объекта в специальную форму и нажмите поиск.
Содержание
- Определение координат на карте — Россия
- Определение широты, долготы по адресу в России
- Как найти место по широте и долготе?
- Онлайн калькулятор — расчет расстояний между двумя точками по координатам
- Поиск широты долготы по адресу
- Координаты Google
- Определение географических координат — широта и долгота на карте Google Maps (Гугл Мапс)
- Интересные места в Google Maps — онлайн тайны со спутника
- Определение координат на карте — Россия
- Определение широты, долготы по адресу в России
- Как найти место по широте и долготе?
- Онлайн калькулятор — расчет расстояний между двумя точками по координатам
- Как наладить поиск адреса по координатам (и где взять нужный справочник)
- Где берем данные и чем ищем адрес
- Как собрали базу координат и адресов
- Обратное геокодирование глазами пользователя
Определение координат на карте — Россия
Онлайн сервис определения координат на карте России. Удобный поиск GPS координат (широта, долгота) по адресу в России, определение местоположения по координатам на карте Google Maps города, улицы, дома, объекта + калькулятор — рассчитать расстояние между двумя точками по градусам
Определение широты, долготы по адресу в России
- страна — Россия
- континент — Европа
- столица — г. Москва
Ввести в окно поиска известную информацию (по умолч. Москва): город, улица, номер дома, объект в России. После активации поиска, в режиме онлайн, произойдет определение широты и долготы на местности, по месту нахождения. В целях уточнения данных, необходимо переместить маркер в точку поиска, перейти на спутниковую схему Гугл Мапс (Спутник), изменить масштаб
- валюта — российский рубль
- флаг —
- код — RU
- Россия на английском сокращенно — Russia
Крупные города страны: Москва, Санкт-Петербург, Екатеринбург, Нижний Новгород, Новосибирск, Казань, Челябинск, Омск, Ростов-на-Дону, Самара, Уфа, Пермь, Красноярск, Волгоград, Воронеж
Поиск по известным параметрам. Ввести свои данные в окно поиска, чтобы найти точку на карте по координатам. Пример 55.7543,37.6200 — широта и долгота столицы страны г. Москва
Как найти место по широте и долготе?
Найти на интерактивной карте России (Russia) необходимый регион (город, место, улица, дом, дорога, географический объект). Переместить мышкой маркер. Для уточнения местоположения маркера, используйте масштабирование (+ /-), изменяйте тип схемы (карта с объектами или спутниковая)
координаты г. Москва — 55.7543,37.6200
Онлайн калькулятор — расчет расстояний между двумя точками по координатам
Используя предложенный калькулятор расстояний и географические координаты двух точек (города, дома, улицы…), можно рассчитать расстояние между ними (в км, м, мили, морские мили)
В ходе поиска получаем GPS координаты по адресу местности как десятичные градусы. Иногда необходимо получить информацию в подобном формате — градусы, минуты и секунды
Пример: 48.85837,2.294481 (Эйфелева Башня в Париже)
Используем десятичную часть широты 48.85837 с точкой впереди .85837 × 60 (умножить на 60) получаем в гр° мин’: 48°51.502′
Далее берем десятичную часть минут .502× 60 и находим секунды. Получаем: 48°51’30.1″
48°51.502′ — 2°17.669′ (гр° мин’)
48°51’30.1″ — 2°17’40.1″ (гр° мин’ сек)
Аэропорты страны:
Внуково, Домодедово, Шереметьево, Санкт-Петербург, Саратов, Абакан, Владивосток, Воронеж и др.
Источник
Поиск широты долготы по адресу
Карта поможет найти координаты на карте, адрес, место, узнать по широте и долготе, как найти на карте точку, место, адрес, город, улицу, страну онлайн, узнать координаты маршрута и как проехать доехать до места. Узнаете: Как посмотреть широту и долготу на картах, Как найти место по широте и долготе. Поиск по координатам. Просто вводите данные по широте и долготе сервис отобразит точку на карте. Также кликая по карте на нужном месте сервис определит координаты места клика на карте. Найти по координатам на карте Москвы, Санкт-Петербурга, Новосибирска, Екатеринбурга, Нижнего Новгорода, Казани, Челябинска, Омска, Самары, Ростова-на-Дону, Уфы, Красноярска, Перми, Воронежа, Волгограда, Саратова, Краснодара, Тольятти, Тюмени, Ижевска, Барнаула, Иркутска, Ульяновска, Хабаровска, Владивостока, Ярославля, Махачкалы, Томска, Оренбурга, Новокузнецка, Кемерово, Астрахани, Рязани, Набережные Челны, Пензы, Липецка, Кирова, Тулы, Чебоксар, Калининграда, Курска, Улан-Удэ, Ставрополя, Магнитогорска, Сочи, Белгорода, Нижнего Тагила, Владимира, Архангельска, Калуги, Сургута, Читы, Грозного, Стерлитамака, Костромы, Петрозаводска, Нижневартовска, Йошкар-Олы, Новороссийска
Как найти место по координатам: вводите свои координаты на в поля «Широта» и «Долгота» и кликаете по кнопке «Найти Место». Если знаете место на карте и наборот хотите определить и найти координаты просто кликайте по карте и в поле «Координаты метки Вы увидите соотвествующие координаты вашего клика»
Источник
Координаты Google
Предлагаем воспользоваться аналогичным сервисом от Яндекса — найти координаты
Определение географических координат — широта и долгота на карте Google Maps (Гугл Мапс)
Инструмент — определение географических координат на карте Google Maps города, улицы, дома, в реальном времени. Как определить координаты по адресу — широту и долготу на карте, удобный поиск по координатам в Гугле (Google Maps). Карта мира с координатами (долготой и широтой) позволит найти любой адрес по уже известным параметрам, вычислить расстояние между двумя городами/точками в онлайн режиме
Заполните форму поиска Google Maps — ввести город, улица, номер дома. Наберите через пробел название любого географического объекта. Или самому переместить метку в нужное место, и осуществить поиск (нажать «Найти») по координатам объекта на карте Гугл. Подобный поиск уже применяли, когда искали в Краснодаре улицы и районы. Воспользуйтесь изменением масштаба схемы (искомый масштаб появится в третьем поле сверху), чтобы подробнее рассмотреть местоположение дома на улице.
Как вы могли заметить, при перемещении метки на схеме, изменяются географические параметры. Получаем своеобразную карту с широтами и долготами. Ранее мы уже занимались определением координат на карте Яндекс
Используя метод от обратного, каждый сможет по известным параметрам осуществить поиск по координатам в Гугле. Вместо географического названия объекта, заполняем форму поиска известными координатами. Сервис определит и покажет на карте точное географическое местоположение улицы, района.
Интересные места в Google Maps — онлайн тайны со спутника
Зная адрес любого города мира, легко определяется широта и долгота Вашингтона и Сантьяго, Пекина и Москвы. Схема г. Саратова с номерами домов и улиц доступна как гостям города, так и местным жителям. Уверены, вы уже смогли освоить данный инструмент на странице, по умолчанию на карте находится центр столицы России — город Москва. Нашли свою широту и долготу на карте по адресу — геолокация месторасположения
Мы же предлагаем узнать тайны сервиса Maps Google онлайн. Спутник не пролетит мимо интересных исторических мест, каждое из которых популярно в определенной части земного шара
Ниже вы сможете сами убедиться в том, что данные интересные места земли заслуживают особого внимания. И сервис Google Maps Спутник с удовольствием предлагает найти и увидеть самые известные географические тайны мира. Считаем, что жителям Самарской области будет также интересно. Как выглядит Автозаводский район Тольятти — они уже знают
Вам не надо определять их географические координаты и искать нужные карты Гуглы сервиса. Достаточно скопировать любые параметры из списка ниже — широту и долготу (CTRL+C)
К примеру, будем смотреть со спутника (перейти на тип схемы «Спутник») крупнейший стадион мира и Бразилии — Маракана ( Рио-де-Жанейро, Maracana). Копируем широту и долготу из списка ниже:
вставляем в форму поиска сервиса Google Maps (CTRL+V). Остается запустить сам поиск объекта. На схеме появится метка с точным местоположением координат. Напоминаем, необходимо активировать тип схемы «Спутник». Каждый выберет удобный для себя масштаб +/- , чтобы лучше рассмотреть стадион в Бразилии
Сохранить в закладки в любом браузере — CTRL+D
Приглашаем поделиться списком со своими друзьями!
Благодарим за предоставленные данные сервис Google Maps
Источник
Определение координат на карте — Россия
Онлайн сервис определения координат на карте России. Удобный поиск GPS координат (широта, долгота) по адресу в России, определение местоположения по координатам на карте Google Maps города, улицы, дома, объекта + калькулятор — рассчитать расстояние между двумя точками по градусам
Определение широты, долготы по адресу в России
- страна — Россия
- континент — Европа
- столица — г. Москва
Ввести в окно поиска известную информацию (по умолч. Москва): город, улица, номер дома, объект в России. После активации поиска, в режиме онлайн, произойдет определение широты и долготы на местности, по месту нахождения. В целях уточнения данных, необходимо переместить маркер в точку поиска, перейти на спутниковую схему Гугл Мапс (Спутник), изменить масштаб
- валюта — российский рубль
- флаг —
- код — RU
- Россия на английском сокращенно — Russia
Крупные города страны: Москва, Санкт-Петербург, Екатеринбург, Нижний Новгород, Новосибирск, Казань, Челябинск, Омск, Ростов-на-Дону, Самара, Уфа, Пермь, Красноярск, Волгоград, Воронеж
Поиск по известным параметрам. Ввести свои данные в окно поиска, чтобы найти точку на карте по координатам. Пример 55.7543,37.6200 — широта и долгота столицы страны г. Москва
Как найти место по широте и долготе?
Найти на интерактивной карте России (Russia) необходимый регион (город, место, улица, дом, дорога, географический объект). Переместить мышкой маркер. Для уточнения местоположения маркера, используйте масштабирование (+ /-), изменяйте тип схемы (карта с объектами или спутниковая)
координаты г. Москва — 55.7543,37.6200
Онлайн калькулятор — расчет расстояний между двумя точками по координатам
Используя предложенный калькулятор расстояний и географические координаты двух точек (города, дома, улицы…), можно рассчитать расстояние между ними (в км, м, мили, морские мили)
В ходе поиска получаем GPS координаты по адресу местности как десятичные градусы. Иногда необходимо получить информацию в подобном формате — градусы, минуты и секунды
Пример: 48.85837,2.294481 (Эйфелева Башня в Париже)
Используем десятичную часть широты 48.85837 с точкой впереди .85837 × 60 (умножить на 60) получаем в гр° мин’: 48°51.502′
Далее берем десятичную часть минут .502× 60 и находим секунды. Получаем: 48°51’30.1″
48°51.502′ — 2°17.669′ (гр° мин’)
48°51’30.1″ — 2°17’40.1″ (гр° мин’ сек)
Аэропорты страны:
Внуково, Домодедово, Шереметьево, Санкт-Петербург, Саратов, Абакан, Владивосток, Воронеж и др.
Источник
Как наладить поиск адреса по координатам (и где взять нужный справочник)
Весной мы добавили в API DaData.ru фичу «Обратное геокодирование», она же «Адрес по координатам». Название намекает: метод принимает геокоординаты и отдает данные об адресе.
Солидный продукт с той же функциональностью предлагает «Яндекс» — он называется «Геокодер». Но сервис «Яндекса» бесплатен только для открытых некоммерческих проектов. Стандартный же тариф — от 120 000 ₽ в год — подходит не всем.
Мы подумали — если сделать бесплатную или недорогую альтернативу «Геокодеру», разработчики наверняка скажут спасибо. И сделали. В статье расскажу, как устроен «Адрес по координатам»: как мы наладили поиск, собрали справочник и упаковали в готовый метод.
Где берем данные и чем ищем адрес
Подступаясь к задаче, мы изучили готовые решения: где взять справочник координат с адресами и как потом искать по этому справочнику географические объекты. Оказалось, за нужными инструментами даже не придется далеко ходить.
Адресные объекты берем в ФИАС — Федеральной информационной адресной системе. Это самый полный из открытых и официальных адресных справочников. Подробно о нем мы уже писали на «Хабре», а сейчас важны четыре факта:
- в ФИАС хранятся все адресные объекты страны, от регионов и ниже — до зданий и дополнительных территорий;
- справочник свободно доступен в форматах DBF и XML;
- ФИАС не идеален — в нем отсутствуют десятки тысяч домов и множество улиц, особенно новых;
- каждому адресному объекту в справочнике соответствует уникальный ID — ФИАС-код. Код объекта иногда меняют, но для нашей статьи это не так важно.
Адресные объекты, загруженные из ФИАС вместе с ID, — основа нашего справочника для обратного геокодирования.
Координаты загружаем из OpenStreetMap (OSM). OSM — проект со свободной лицензией: энтузиасты собирают координаты всевозможных объектов и выкладывают для всех желающих.
Если по-простому, OSM — это набор точек, линий и полигонов на карте. У каждого объекта свое описание, тип и набор координат. Данные OSM для России лежат по адресам needgeo.com, osm.sbin.ru/osm_dump/ и osmosis.svimik.com/latest/.
Список источников публикуют на специальной странице в «Вики» проекта
Выгрузки состоят из PBF-файлов — этот формат используют вместо XML как более компактный. Превратить PBF в OSM XML ничего не стоит, с этим справится куча одобренных сообществом утилит.
Для собственного справочника мы берем адресные объекты из ФИАС, а затем ищем их координаты в OSM. Если нашли, сохраняем объединенные данные. Получается такое пересечение ФИАС и OSM.
И все это замечательно, но есть одна проблема: с качеством данных в OSM дела обстоят непросто. Координаты объектов часто не соответствуют реальности. Например, полигоны для регионов и районов адекватны. А для городов и ниже — уже не очень.
Полигоны — это многоугольники, ограничивающие площади на карте. Они состоят из связанного набора точек с координатами. Полигонами обозначают границы регионов, районов, городов и даже зданий
Основная работа, и с большим отрывом — собрать из OSM адекватные данные и отсеять брак. Задача настолько объемная, что я отвел под нее в статье отдельный раздел.
Дома, которых нет в ФИАС, загружаем тоже из OSM. Выше я уже говорил, что в ФИАС отсутствуют десятки тысяч домов. Это даже не проблема, а просто реальность, фон. Поэтому мы пополняем свой справочник домами из OSM. Но только теми, для которых в ФИАС существует улица. У пришедших из OSM зданий нет ФИАС ID, поэтому мы идентифицируем их как ФИАС-код родителя + номер дома.
По справочнику ищем с помощью прекрасного Lucene — нашего многолетнего помощника. За наводку спасибо сведущему индийцу, написавшему пост Indexing Geographical Data With Lucene (хорошее дополнение — материал A dive into spatial search algorithms — о k-d-деревьях, на которых построен алгоритм поиска).
Как только мы узнали об у́дали Lucene, проблема с поиском решилась почти сама. Делов осталось — пройтись наждачкой.
- Загрузили в Lucene свой справочник координат и адресов, получили поисковый индекс. Для легкости убрали из него почти все, оставив лишь ID адресов и координаты.
- Наладили поиск по индексу: на вход — координаты, на выход — ID найденных адресных объектов. Другой информации поиск не возвращает, поскольку индекс мы донельзя скукожили.
- Насытили выдачу, загружая из «большого» ФИАС данные по найденным ID. Добавляем много всего, от нужного всем адреса одной строкой до признака столицы региона у городов.
- Придумали, как сортировать и отдавать полученные объекты.
Пока все выглядит просто, но это лишь малая часть работы. Никакого поиска адреса по координатам не получилось бы, не собери мы приличный справочник.
Как собрали базу координат и адресов
Для начала выложу багаж: прочитав статью, быстро сделать подобный справочник не получится. Мы собираем его с 2014 года, постоянно дополняя. Об этом чертовски длинном пути я и расскажу.
Самое сложное при составлении справочника — перебрать кординаты, которые пришли из OSM. На старте мы выверяли их как могли, в том числе руками. Главная цель тогда — получить опорные точки в крупных городах и сделать из них эталонный справочник. Теперь, когда таких точек много, проверять новые данные вручную почти не приходится. За раз мы добавляем в эталонный справочник 200 000–300 000 адресов с координатами, и вот как это делаем.
Формируем из OSM-тегов полные адреса́. В OSM-выгрузках составные части адресов разбросаны по разным тегам:
- addr:city — д. Булатниково;
- addr:street — Центральная улица;
- addr:housenumber — 103.
Пробегаем по тегам и собираем из них полный адрес: д. Булатниково, Центральная улица, 103.
Прогоняем каждый новый адрес через API стандартизации «Дадаты». Сервис приводит адреса к единому формату «Как в ФИАС»:
- исправляет опечатки;
- расшифровывает сокращения вроде «НиНо» и «Мск»;
- меняет старые названия на новые;
- находит по индексу пропущенный в адресе город;
- определяет ФИАС-код.
Адреса́ приходят от API чистыми, хоть сейчас шли письмо или бандероль.
142718, Московская обл, Ленинский р-н, с Булатниково, ул Центральная, д 103.
До стандартизации | После |
---|---|
д. Булатниково, Центральная улица, 103 |
Адрес | ФИАС ID | Широта | Долгота |
---|---|---|---|
142718, Московская обл, Ленинский р-н, с Булатниково, ул Центральная, д 103 | a8b6a52f-e96d-4ec3-a0ff-641013ab0445 | 55.558773 | 37.667103 |
119034, г Москва, пер Турчанинов, д 6 стр 2 | 8c925e61-9173-48b3-999e-dc85c86d89e7 | 55.737096 | 37.597190 |
Разбираем адреса, которые «Дадата» не стандартизовала. Адреса́, которые не получилось сопоставить с ФИАС, сервис помечает флажком. Их проверяем вручную, вариантов здесь несколько.
- Адрес пришел не в положенных тегах выгрузки OSM, а черт знает где. Встречали и вовсе не заполненные адресные теги, и город в теге улицы, и еще много всего.
- В OSM лежит экзотический объект вроде детской площадки, вузовского футбольного поля или вовсе кладбища. В ФИАС ничего такого нет, да и для наших целей эти результаты не годятся. Такие объекты просто отсеиваем.
- Ошибка — и не ошибка вовсе. Например, из OSM пришел район города, которого в ФИАС нет. Или в ОSМ объект находится в населенном пункте, а в ФИАС этот населенный пункт присоединили к городу и удалили. Тогда мы допиливаем алгоритм под загруженные данные и запускаем снова.
Распарсили выгрузку, а там — путаница в тегах
Проверяем, насколько адекватны загруженные координаты. Для этого специальной утилитой смотрим, попадают ли координаты нового объекта в полигон родительского региона или района. Если адрес сообщает, что объект находится в Омской области, будь добр по координатам попадать в ее полигон. Вхождения в город не требуем — не все города точно освещены в OSM, для многих данные не обновляют.
Эталонные полигоны мы загружаем из OSM и храним как есть — в формате GeoJSON. Чтобы выбрать, к какому полигону примерить точку, смотрим в отдельную таблицу. В ней мы сопоставили префиксы КЛАДР-кодов и ID полигонов: находишь для адреса КЛАДР-код и видишь, какой полигон выбрать.
КЛАДР-код — это уникальный идентификатор, который использовали еще до появления ФИАС. Находить этот код для адреса умеет миллион сервисов
Утилита разрешает объекту отстоять от положенного полигона на 1 700 метров. Это правило добавили из-за шоссе, которые часто выходят за границы региона. Но расстояние больше 1 700 метров — признак ошибки, так говорит статистика.
На этом для городов и улиц проверка заканчивается.
Еще раз, построже, проверяем загруженные координаты домов. В дело снова вступает упомянутая утилита, и вот что она делает.
- Берет адрес нового дома и находит для него соседей в эталонном справочнике.
- По координатам считает расстояние между непроверенным новым домом и надежными соседними.
Соседей найти несложно: 1. Берем новый дом и находим ФИАС ID родителя. 2. Выбираем из эталонного справочника дома́, у родителей которых тот же ФИАС ID
Проверку проходят только дома, которые удалены от надежных коллег не более чем на 150 метров. Причем каждый новый одобренный дом мы учитываем при разборе следующих. Вот как это работает.
Допустим, в эталонном справочнике хранятся дома № 1, 2 и 3 по улице Коммунаров. В новых данных пришли дома № 5, 6 и 7 по той же улице. Судя по координатам, новые дома стоят рядом. Утилита видит, что дом № 5 находится рядом с домами № 1, 2 и 3 и добавляет его в эталонный справочник. Значит, дома № 6 и 7 тоже проходят проверку.
А дальше решается судьба пришедших из OSM данных:
- дома, прошедшие обе проверки: на полигоны и на соседей, добавляем в эталонный справочник;
- если объект не попадает в полигон, новые данные не подходят. То же самое, если расстояние между домом и соседями слишком велико;
- дома, у которых нет соседей, мы пока откладываем. Они лежат в отдельной базе, когда-нибудь разберем.
Делим прошедшие проверку объекты на две части. Они пойдут в разные таблички нашего эталонного справочника.
В первой таблице — все объекты c ФИАС ID до домов: регионы, населенные пункты, улицы. Во второй — дома́ и ссылка на родителя из первой таблицы
Две таблицы нужны, чтобы назначить ключи отсутствующим в ФИАС домам. У них нет собственного ФИАС-кода, поэтому делаем вот как:
- в одну таблицу собираем адресные объекты до дома, у каждого из них свой ФИАС-код;
- во вторую — только дома́, при этом ссылаясь на родителя в первой таблице.
В итоге здания без ФИАС-кода мы идентифицируем по ключу ФИАС ID родителя + номер дома.
Справочник готов, осталось протестировать. За ночь прогоняем сервис по функциональным тестам и тестируем производительность. Скорость проверяем на Москве, запрашивая все дома в радиусе трех километров. Чтобы уж наверняка. Конечно, обложили все автотестами.
Главное после обновления — чтобы не стало хуже.
Обратное геокодирование глазами пользователя
На вход метод принимает три параметра: координаты, количество результатов и радиус поиска. Радиус по умолчанию — 100 метров, максимальный — километр. Точное значение задают в настройках.
Обратно метод возвращает найденные объекты: дома, улицы и населенные пункты. При этом сортирует их по убыванию точности.
- Дома́.
- Улицы.
- Населенные пункты.
- Города́.
Затем сортирует еще раз — по расстоянию от заданных координат. Если метод нашел четыре дома и улицу, сначала встанут дома́ в порядке удаленности от заданной точки. За ними — улица.
После всех этих рокировок метод наконец-то возвращает объекты, которые нашел.
Внутри — много разного о найденных объектах: строки с полным и сокращенным адресом, актуальное и устаревшие названия, почтовый индекс, ФИАС-код родительского объекта и так далее.
Все данные, которые отдает метод — в документации
Покрытие по координатам для разных регионов разное, вот так с домами:
- Москва — 96%,
- Санкт-Петербург — 88%,
- другие города-миллионники — 74%,
- остальная Россия — 47%.
А вот это — покрытие по улицам:
- Москва — 92%,
- Санкт-Петербург — 79%,
- другие города-миллионники — 75%,
- остальная Россия — 67%.
По городам не считали — в масштабах России зыбок даже сам факт принадлежности к гордому званию города. Например, Ярославская обл, Пошехонский р-н, с/о Федорковский — это город, согласно официальному справочнику ФИАС. А по факту, да и по адресу — сельский округ. Физически сельский округ напоминает объединение нескольких деревень в большую кляксу. Сложно не только определить центр, но даже найти населенный пункт на карте.
Уже думаем, что добавить к методу: разрешить фильтрацию по типам объектов, возвращать расстояния до заданной точки, еще что-нибудь. Следим за спросом и решаем, вкладывать ли силы.
А в остальном все уже на проде. До 10 000 запросов в сутки — бесплатно, больше — по подписке от 5 000 ₽ в год. Если нужны адреса по координатам для коммерческого проекта, а «Геокодер» слишком дорог — попробуйте API «Дадаты».
Оригинал статьи опубликован в блоге HFLabs.
Источник