Гис поиск

Гис поиск

19 сентября в Новосибирске мы показали новую версию 2ГИС — с безграничной картой России, поиском товаров и другими фичами. Коротко пересказываем содержание презентации.

Геоинформационные системы применяют в целом ряде сфер: от сельского хозяйства и до планирования туристических маршрутов. РБК Тренды рассказывают, как работает технология и почему она важна

Геоинформационные системы в наши дни помогают решать ряд важных задач — от определения оптимального маршрута и до анализа проблем экологии и перенаселения. РБК Тренды объясняют, что это за технологии, как они работают и где используются.

Гис поиск

В рамках практически любого онлайн-продукта можно встретиться с задачей, которая требует применения того или иного сервиса, связанного с картами, геокодированием, гео-позиционированием. Лично я уже почти 10 лет работаю над онлайн-каталогом недвижимости, а также в рамках ряда других проектов есть опыт использования специфичных функций различных онлайн гео-сервисов.

В этой статье я рассмотрю гео-задачи, которые наиболее часто встают перед программистами, сделаю небольшой обзор сервисов, предлагающих решения для этих задач, и поделюсь опытом использования этих сервисов.

Также рассчитываю на участие комментаторов — если заметите в обзоре неточность в описании, отсутствие вашего хорошего сервиса или вам просто есть что добавить к уже написанному — пишите в комментариях, я буду собирать всё в основной текст, чтобы на будущее всегда иметь под рукой хороший список инструментов на все случаи жизни.

NextGIS Web позволяет осуществлять поиск объектов на веб-карте. Результаты появляются по мере ввода в следующем порядке:

  • Объекты, найденные по атрибутивным значениям из добавленных слоев.
  • Адреса, содержащие строку поиска.

При выборе результата поиска из списка карта осуществляет переход к нему.

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

79 W 43 N
W 79 N 43
-79 43 (результаты поиска будут включать две точки: 79 W, 43 N и 43 E, 79 S)
79- 43
-79 W 43 N
79°4’14.08″ W 43°4’59.37″ N
-79°4’14.08″ 43°4’59.37″
-79 4.25 W 43 4.95 N
-79 4.25 43 4.95
79.068493 43.079920
79.068 W 43.08 N

Гис поиск

Результаты поиска по запросу «трамвайный». На карте открыты атрибуты объекта #10 векторного слоя, где содержится запрашиваемое слово¶

Адресный поиск в NextGIS Web осуществляется по двум базам адресов (провайдерам):

  • OpenStreetMap – используется по-умолчанию
  • Yandex Maps – внешний геокодер с использованием API ключа

Для настройки параметров адресного поиска откройте главное меню, перейдите в панель управления и в разделе «Настройки» выберите «Веб-карта».

Гис поиск

Выбор настроек веб-карты в панели управления¶

Сегодня состоялся релиз поиска проезда на общественном транспорте в 2ГИС Онлайн. Теперь спланировать поездку можно с любой версией нашего справочника (ПК, версии для смартфонов и онлайн-версии, которая работает на API 2GIS). Более того, наша крупнейшая база маршрутов отныне доступна практически с любого устройства, где есть браузер.

Гис поиск

Поиск проезда на общественном транспорте работает во всех городах присутствия 2ГИС, а это более 200 городов России, Украины и Казахстана. Помимо привычных автобусов, троллейбусов, трамваев и всего остального, что ездит по земле и под ней, мы учли и экзотичные виды транспорта: фуникулеры, речные трамваи и канатные дороги.

Впрочем, как говорится, лучше один раз увидеть: заходите на обновленный 2ГИС Онлайн и пробуйте!

Отдельное внимание было уделено печати. Распечатав маршрут, вы получите пошаговую инструкцию с описанием всех видов транспорта и перечислением всех пересадок. Причём, выводится карта без мелких ненужных деталей — только последний участок пути, который придётся пройти от последней остановки к интересующему вас зданию.

Гис поиск

В качестве десерта — инфографика! Мы решили узнать, в каких городах удобнее всего пользоваться общественным транспортом, где бывают необычные его виды, и насколько далеко вы сможете на нем уехать. Все это можно увидеть ниже:

Гис поиск

UPDATE: да, порой составленные маршруты не совсем оптимальны и могут показаться странными. Но мы постоянно работаем над улучшением их составления. Всем спасибо за обратную связь (ее, кстати, можно оставлять через форму в 2ГИС Онлайн)!

Поиск координат местоположения

Можно отображать координаты в любой из следующих систем:

  • Долгота и широта (XY)
  • Десятичные градусы (DD)
  • Градусы-минуты-секунды (DMS)
  • Градусы с десятичными минутами (DDM)
  • Военная система прямоугольных координат (MGRS)
  • Универсальная поперечная проекция Меркатора (UTM)
  • US National Grid (USNG)
  • БАЗОВАЯ КАРТА – отображение координат x,y в системе координат и единицах, используемых на текущей базовой карте.

Поиск местоположения

Чтобы найти местоположение на карте, выполните следующие шаги:

  • В , откройте карту, которая вам необходима.
  • На панели инструментов (светлой) щелкните и выберите .
  • Переместите курсор в местоположение на карте и просмотрите координаты в окне .
  • Щелкните , чтобы открыть дополнительные опции местоположений.
  • Дополнительно щелкните ниспадающее меню и выберите дополнительные системы координат для отображения местоположения.Подсказка:Щелкните поле с отображением системы координат в окне , чтобы быстро конвертировать местоположение в другую систему координат.
  • Дополнительно можно сделать следующее:

Отзыв по этому разделу?

Что такое геоинформационные системы

Геоинформационные системы (ГИС, географическая информационная система) — это компьютерные технологии, которые применяют для создания карт и оценки фактически существующих объектов, а также происшествий. Такие системы собирают, хранят и анализируют информацию, а также обеспечивают ее графическую интерпретацию. Подобные инструменты позволяют пользователям искать, анализировать и редактировать цифровые карты, а также находить дополнительную информацию об объектах на них.

ГИС начали разрабатывать в 1960-х годах, когда появились компьютеры и пространственный анализ с визуализацией. Первой ГИС считается Канадская географическая информационная система, которая позволила стране запустить программу управления землепользованием. В 1970-е начали появляться ГИС, которые обеспечивали навигацию, вывоз городских отходов и мусора, движение транспорта в чрезвычайных ситуациях. В 1980-е годы ГИС начали применять в коммерческих сферах, так как их стали объединять с базами данных компаний. В настоящее время доступность программных средств позволяет модифицировать эти системы под самые разные задачи.

Гис поиск

С помощью ГИС можно сравнивать и противопоставлять много разных типов информации. Система может включать данные о людях, такую как численность населения, доход или уровень образования. Она может также объединять информацию о ландшафте, например о местонахождении ручьев, различных видах растительности и почвах. ГИС может включать данные о местонахождении заводов, ферм и школ, ливневых канализаций, дорог и линий электропередач.

Данные в системах ГИС обычно отображаются на карте. Технология позволяет пользователям искать разные виды данных в определенной географической области. Например, ГИС-карта одного города или района может содержать такую информацию, как средний доход, уровень продаж книг или итоги голосования. Любой слой данных можно как добавить, так и удалить, что делает обновление таких карт гораздо проще. Человек может указать место или объект на цифровой карте, чтобы найти информацию о нем. Например, пользователь может щелкнуть на значок школы, чтобы узнать, сколько учеников в ней занимается.

Существуют также ГИС-модели. С их помощью исследователи отслеживают изменения с течением времени. Так, они могут использовать спутниковые данные для изучения наступления и отступления льда в полярных регионах, а также оценивать, как объем этого покрова изменился с течением времени. ГИС-модели позволяют создать покадровые снимки, которые показывают процессы, происходящие на больших площадях и в течение длительных периодов времени. Например, визуализация данных о течениях в океане помогает ученым лучше понять, как тепло перемещается по земному шару. ГИС-системы часто используются для создания трехмерных изображений. Это полезно, например, для геологов, изучающих сейсмические разломы.

Гис поиск

Примеры

https://catalog.api.2gis.com/3.0/items/geocode?q=Москва, Никитский переулок, 3&fields=items.point,items.geometry.centroid&key=YOUR_KEY

Для более точного поиска укажите в тексте запроса город (посёлок, район, область), где выполняется поиск. Название населённого пункта рекомендуется указывать вместе с названием области.

Поиск с указанием точки поиска

https://catalog.api.2gis.com/3.0/items/geocode?q=Никитский переулок, 3&fields=items.point,items.geometry.centroid&sort_point=37.62143%2C55.752966&sort=distance&key=YOUR_KEY

При сортировке по возрастанию расстояния (sort = distance) первыми в результате поиска будут показаны наиболее близкие к точке объекты. Город в тексте запроса можно не указывать.

Поиск с указанием точки поиска и радиуса

https://catalog.api.2gis.com/3.0/items/geocode?q=Никитский переулок, 3&fields=items.point,items.geometry.centroid&point=37.62143%2C55.752966&&radius=1000&key=YOUR_KEY

Поиск в прямоугольной области

https://catalog.api.2gis.com/3.0/items/geocode?q=Никитский переулок, 3&fields=items.point,items.geometry.centroid&point1=37.604977%2C55.7604&point2=37.646514%2C55.743983&key=YOUR_KEY

Поиск в произвольной области

https://catalog.api.2gis.com/3.0/items/geocode?q=Никитский переулок, 3&fields=items.point,items.geometry.centroid&polygon=POLYGON((37.5930%2055.7667,37.6494%2055.7667,37.6494%2055.7405,37.5930%2055.7405,37.5930%2055.7667))&key=YOUR_KEY

Поиск в определённом городе

Шаг 1. Определить city_id, в котором производится поиск. Взять значение из поля id (часть до знака “_”).

Вариант 1. Поиск города по точке:

Вариант 2. Поиск города по названию:

Шаг 2. Значение из поля id (часть до знака “_”) передать в поле city_id при запросе. Город в названии можно не указывать.

https://catalog.api.2gis.com/3.0/items/geocode?q=Никитский переулок, 3&fields=items.point,items.geometry.centroid&city_id=4504222397630173&key=YOUR_KEY

Поиск по адресу с указанием подъезда

https://catalog.api.2gis.com/3.0/items/geocode?q=Обыденский 1-й переулок, 12 ст1, 2 подъезд&sort_point=37.62143,55.752966&fields=items.context,items.links.database_entrances&key=YOUR_KEY

Для получения координаты подъезда:

Для доступа к полю items.links.database_entrances необходимо дополнительное разрешение у ключа.

Поиск по координатам

В точке может быть несколько объектов. Чтобы ограничить количество объектов в результатах поиска, используйте параметры:

  • page_size — количество объектов на странице;
  • page — номер страницы.

Поиск с указанием типа объекта

Поиск здания в точке:

Получение города в точке:

Поиск улицы в точке:

Построение маршрута

Иногда бывает нужно построить маршрут от одной точки до другой. Например, составить схему проезда от местоположения пользователя до вашего офиса. Платные решения есть от Яндекса и от Гугла — основное их отличие в том, что Яндекс продает подписку с годовой оплатой, а гугл тарифицирует запросы поштучно и списывает деньги с карты раз в месяц по итогу месяца.
Также у гугла есть премиум-подписка, которая дает некоторые дополнительные функции (например увеличение максимального размера картинки Static API) и депозит на лимиты. Также есть решение от 2Гис — самое дорогое в пересчете на 1 построенный маршрут.

Задачи построения маршрутов делятся на несколько подзадач:

  • Построение маршрута от точки до точки — это понятно
  • Матрица расстояний — сервис, который позволяет построить матрицу расстояний и времени в пути между набором точек отправления и прибытия. Например, если вам нужно расчитать оптимальные маршруты для нескольких курьеров, которым нужно с разных складов доставить товар разным покупателям. Или вы предлагаете клининговые услуги и вам нужно выяснить, какому уборщику будет удобнее из дома добраться до каждого из сегодняшних заказов и составить оптимальную схему перемещения уборщиков.
  • Isochrone API — построение вокруг точки области, до которой можно добраться за одинаковое время. Например, «найти все кафе в 15 минутах ходьбы от положения пользователя».
Больше проверок:  Полное руководство по проверке салатов в магазине: советы экспертов по свежести и качеству

Разные провайдеры предлагают разные решения для всех этих задач.

Благодаря 3aiats было найдено бесплатное Open Source решение —

GraphHopper

  • www.graphhopper.com/open-source
  • Устанавливается на ваш сервер, использует OpenStreetMap для построения маршрутов, работает на Java
  • Есть бесплатное и платное API для тех, кто не хочет ставить это ПО себе на сервер.
  • Есть API для геокодирования, построения маршрутов, построения матриц расстояний и оптимизации маршрутов, а также isochrone

MapBox (спасибо ne_kotin)

  • docs.mapbox.com/api/navigation
  • Есть API для геокодирования, построения маршрутов, построения матриц расстояний и оптимизации маршрутов.
  • Бесплатно до 100 000 запросов в месяц

Яндекс

Общая особенность всех сервисов Яндекса для маршрутов — они работают на территории России, Абхазии, Азербайджана, Армении, Беларуси, Грузии, Казахстана, Кыргызстана, Молдовы, Таджикистана, Турции, Узбекистана и Украины.

  • tech.yandex.ru/routing/router
  • tech.yandex.ru/routing/distance_matrix
  • Тарифы от 120 000 рублей в год
  • Есть API для построения маршрутов и матриц расстояниц
  • Учитывает пробки, в том числе прогнозируемые на заданное время в будущем
  • Умеет строить маршруты пешеходные, на транспорте личном и общественном

Есть сервис app.swizz.ru, который использует API яндекса для построения маршрутов. У сервиса нет своего API, и он испытывает проблемы с лимитами от Яндекса, но по сути там можно посмотреть, как работает яндексовский построитель маршрутов. За ссылку спасибо 3aiats

Google

Главное отличие от яндекса — тарификация по принципу Pay-as-you-go, то есть за каждый запрос. Для небольших объемов тарифы будут выгоднее у Гугла, для больших — у Яндекса.
Также у гугла нет ограничения по странам, где они строят маршруты.

Google Directions Api

  • developers.google.com/maps/documentation/directions/intro
  • Тариф 5$ либо 10$ за 1000 запросов. 10 – если используется оптимизация с учетом пробок и промежуточных путевых точек. 5 – если просто маршрут между 2 точками.
  • По функциям аналог сервиса Яндекса для построения маршрутов между 2 точками, но имеет больше настроек
  • В частности, умеет предлагать несколько альтернативных маршрутов

Google Distance Matrix API

  • developers.google.com/maps/documentation/distance-matrix/start
  • Тариф 5$ либо 10$ за 1000 запросов, аналогично directions
  • обычное API матриц расстояний

Google Roads API

Уникальный сервис гугла, позволяющий работать с дорогами, по которым едет ваш транспорт.
Автоматически привязывает точки вашего маршрута к дорогам, показывает лучшую схему движения и всю информацию об участках дорог, которые повстречаются вам на пути.
Умеет к точкам привязывать ближайшие к ним участки дорог (например по GPS треку который скачет туда-сюда — показать по каким дорогам по факту был пройден маршрут).
Умеет показывать ограничения скорости на дорогах на маршруту.

  • developers.google.com/maps/documentation/roads/intro
  • Тариф 10$ за дороги и 20$ за 1000 запросов к Speed Limit

WikiRoutes

  • wikiroutes.info/developers
  • Строят маршруты с использованием общественного транспорта
  • Есть платное API для интеграции с сайтом

Azure Maps

  • azure.microsoft.com/ru-ru/services/azure-maps
  • Большое количество сервисов, в том числе построитель маршрутов
  • Есть бесплатные лимиты и платное API

2Гис Логистика

  • logistics.2gis.ru
  • Сервис для построения маршрутов
  • 5 маршрутов в день за 3500 рублей в месяц, готовы обсуждать повышение лимита
  • За отдельные деньги есть отслеживание перемещения курьера и другие доп функции

Сервисы для оптимизации логистики

Как отдельный класс сервисов для построения маршрутов стоит выделить готовые решения для оптимизации логистики, которые тарифицируются исходя из количества курьеров/машин на линии. По сути они комбинируют средства для построения маршрутов и другие сервисы чтобы максимально оптимизировать вашу логистику. Это достаточно сложные и нишевые решения, поэтому я их объединил в один список.
За пополнение списка спасибо 3aiats

Выбор провайдера для поиска¶

NextGIS Web может производить поиск, используя одну из двух баз данных: Nominatim OpenStreetMap или Геокодер API Яндекс.Карт.
По умолчанию на веб-карте подключен поиск OSM.
Для того, чтобы выбрать провайдера, через панель управления перейдите в настройки веб-карты. В разделе «Адресный поиск» в пункте «Провайдер» выберете необходимый геокодер в выпадающем меню.

Гис поиск

Выбор провайдера для адресного поиска¶

Для провайдера Яндекс.Карты необходимо ввести Ключ API в поле справа. Пользователь получает ключ самостоятельно через https://developer.tech.yandex.ru.

Гис поиск

Введение ключа API для использования базы данных Яндекс.Карт¶

Ограничение зоны поиска¶

Можно ограничить зону поиска начальным охватом веб-карты.
Через панель управления перейдите в настройки веб-карты и передвиньте ползунок в пункте «Ограничить начальным охватом карты» во включенное состояние.

Гис поиск

Поиск ограничен начальным охватом веб-карты¶

При использовании OSM можно ограничить поиск территорией определенной страны. Для этого в поле «Ограничить поиск странами» введите код страны в формате ru, gb, de и т.п. в соответствии с ISO базы OSM (можно проверить на сайте https://www.openstreetmap.org, введя в строку поиска название страны).

Гис поиск

Поиск ограничен территорией Франции¶

Товары

Сердце 2ГИС — выбор организаций. То, что принято называть «Справочник». И пару лет назад мы задумались, что может быть новой глубиной справочника 2ГИС после того, как научились готовить всю мыслимую информацию о компаниях — от детальных характеристик, до фотографий, отзывов и входов на карте? А задавшись этим вопросом, мы пришли к пониманию, что нам надо совершать радикальный шаг в том, что такое глубина справочника. Новый уровень — это цены на товары и услуги в офлайн-магазинах.

Павел Мочалкин, директор по технологиям 2ГИС

Поиск работает среди офлайн-магазинов строительных и отделочных материалов, сантехники, электротоваров и шин. А ещё в части продуктовых запросов — например, можно найти кофе или подгузники. Планируем постепенно подключать все остальные сферы, где важны цены.

Гис поиск

Гис поиск

Гис поиск

Гис поиск

Гис поиск

Ну и памперсы — поверьте, на них можно серьёзно сэкономить

К товарам подключены ведущие магазины строительных, отделочных материалов, шин и дисков — «Леруа Мерлен», OBI, «Петрович», «Сатурн», «Бауцентр», «Касторама», «Виантон» и другие. Всего с сервисом сотрудничает более 33 тысяч точек продаж, предлагающих 37 миллионов товаров.

Помимо того, что любая компания из указанных сфер может опубликовать свои товары бесплатно, информация также поступает от пользователей через отдельное приложение «Чек». Его суть в том, что за сканирование чеков пользователи получают кэшбэк, но при этом информация с каждого чека поступает и в товарный поиск 2ГИС. Приложение уже наполнило поиск данными с 3 миллионов чеков.

Новый поиск с сегодняшнего дня работает в версиях 2ГИС для iOS, Android и на beta.2gis.ru.

Персонализация

Несколько нововведений связаны с удобством 2ГИС. Так, на карте в beta.2gis.ru появился слой мест, которые каждый пользователь посещает чаще других. Они тесно интегрированы в рисунок города и делают карту индивидуальной.

Вторая возможность — это связь версий 2ГИС. Теперь, найдя в онлайн-версии компанию или маршрут, можно нажать «Отправить» — и он откроется в мобильном приложении пользователя.

Суммарная аудитория наших продуктов достигла 50 миллионов пользователей. Это довольно много, как ни крути.

Карта всей России

20 лет 2ГИС был сфокусирован на картах и справочниках городов. Теперь появилась сплошная карта всей России с поиском фирм, адресов и построением маршрутов на автомобиле.

Если вы скачали карты смежных областей, вам не придётся между ними переключаться. Это удобно, когда едешь по федеральной трассе: навигатор проложит маршрут из одного города в другой, а поиск найдёт нужный адрес или компанию по обеим сторонам границы. Аптеки, заправки, банкоматы, гостиницы, автосервисы и кафе вдоль основных магистралей можно найти, даже не скачивая дополнительные города. Эти места мы выгружаем на общую карту страны прямо в приложение.

Дима Пиликов, арт-директор 2ГИС

Для выпуска обновления 2ГИС пересмотрел картографические движки в своих продуктах. Веб-версия теперь работает на технологии WebGL, позволяющей прямо в браузере отображать полноценную векторную карту, которую можно наклонять и вращать. В мобильных приложениях новый движок Zenith стал работать быстрее за счёт активного использования графического процессора — он занимает на 10% меньше памяти телефона и позволяет ежедневно обновлять карты городов.

Новая карта уже работает на beta.2gis.ru, в версиях для iOS и Android выйдет в ноябре.

Оглавление

Частая задача в вебе — понять, из какого города на ваш сайт пришел посетитель. Для этой задачи есть решения в виде online-сервисов или самостоятельных решений для тех, кто не хочет зависеть от сторонних сервисов.

Онлайн сервис для определения города по IP — тут я могу посоветовать (для России) снова DaData: dadata.ru/api/detect_address_by_ip
Лимит — 10 000 запросов в сутки. Если ваша посещаемость превышает 10 000 уников в сутки, есть смысл рассмотреть решения, которые устанавливаются на ваш сервер. Подробно о них можно почитать в обзоре от DaData, как они выбирали, что использовать.

Вкратце продублирую информацию:
IpGeoBase — раньше был неплохой сайт, который ежедневно обновлялся и давал базу ip адресов и соответствующих им городов в понятном машинно-читаемом формате, легко импортируемом в любую базу данных. К сожалению, перестал обновляться в 2017 году.
ipgeobase.ru

SypexGeo — обновляется до сих пор, поставляется в виде скрипта php и базы данных к нему в собственном формате. Работает быстро, определяет хорошо
sypexgeo.net/ru/download

Разбор и автодополнение адресов

Иногда бывает нужно дать пользователю ввести адрес в произвольном формате, а потом превратить этот адрес в структурированные данные — отдельно название страны, региона, города, улицы и номер дома. Это нужно всем сервисам, которые работают с недвижимостью, это нужно для определения дублей адресов, для заполнения почтовых квитанций и т.д.

В принципе, с этой задачей без проблем справляются все сервисы геокодинга из списка выше. При прямом геокодинге кроме координат они также возвращают и структурированную информацию о найденном гео-объекте.

Кроме того, к этом разделу я отношу также задачи поиска дополнительной информации об адресе. В частности это определение, к какому району города относится указанный адрес, и поиск ближайших станций метро — важные задачи, если мы делаем поиск объявлений по адресам.

Определение района в рамках города

Для определения района в рамках города я для себя нашел на данный момент два решения. Оба работают только для России.

Если не хотите зависеть от стороннего сервиса — есть другое решение, которое я применял и продолжаю применять до сих пор. Это определение района по коду ОКАТО адреса. У каждого адреса в рамках России есть свой код ОКАТО — 11 цифр. Из них первые 5-8, в зависимости от города, однозначно указывают на район.

Больше проверок:  Раскройте судимости с помощью нашей службы комплексной проверки Arrests LLC

Я для тех городов, которые мне нужны, просто составил базу кодов ОКАТО для районов, получился примерно такой массив:

Пример кодов ОКАТО

Гис поиск

Следующий вопрос — как узнать код ОКАТО адреса? DaData возвращает его в рамках своих сервисов «Подсказки» и «Стандартизация». Есть сайт окато-октмо.рф который по адресу показывает код ОКАТО, используя ту же дадату. Наша задача — самостоятельно узнать код ОКАТО по адресу, не завися ни от какого сервиса.

Если не хотите париться с загрузкой 60 гигабайт XML файлов в свою базу, есть более дешевый, но и менее функциональный, чем dadata, сервис, который позволяет работать с базой ФИАС:
kladr-api.ru/docs

Поиск ближайших станций метро

Нужная функция, особенно для жителей Москвы, когда вам нужно по адресу найти ближайшие к нему станции метро. Для этой задачи в данный момент я знаю два решения:

Яндекс Геокодер

Сначала нужно узнать координаты адреса. Потом, как при обратном геокодировании, передаем в качестве параметров запроса эти координаты, и вид возвращаемого топонима kind=metro.
Отдельным параметром задаются размеры области, в пределах которой надо искать ближайшую станцию. Опытным путём я подобрал значения от 0,02 до 0,05 градусов в зависимости от города (в Москве радиус 2 километра от метро еще считается шаговой доступностью, а в Казани расстояние между станциями 1,5 километра).

Также есть проблема у такого метода, что иногда ближайшее по координатам метро не всегда ближайшее фактически (например находится на другом берегу реки, или вроде того). Определять ближайшее по доступности метро можно только с помощью сервисов построения маршрутов и матриц расстояний, о них будет в статье дальше. Для грубого определения ближайшей станции — геокодер яндекса вполне подходит, и дает выполнить до 25000 запросов в сутки бесплатно.

DaData

Да, и в этой задаче может помочь DaData — в рамках платных тарифов сервиса «подсказки» или «стандартизация» по каждому адресу также возвращается 3 ближайшие станции метро и расстояния до них.

Работа в ГИС

Геоинформатика считается уже сложившейся отраслью, в которой работают крупные компании с миллиардными оборотами по всему миру, в том числе Яндекс и Google. Как правило, в наши дни во всех крупных компаниях, связанных с пространственной информацией, есть картографический и ГИС-отделы. В отрасли, помимо специалистов, востребованы сотрудники для базовых задач по сбору данных и оцифровке. На такие позиции часто берут студентов-практикантов.

Специалисты по ГИС-технологиям работают в разных направлениях. Выделяют несколько основных специальностей:

  • Картографы. Эти специалисты создают цифровые карты.
  • Менеджеры баз данных. Они хранят и извлекают информацию из структурированных наборов в пространственные базы данных.
  • Программисты. Они пишут код и автоматизируют процессы в ГИС. В таких системах обычно используют языки программирования Python, SQL, C ++, Visual Basic и JavaScript.
  • Специалисты по дистанционному зондированию. Они используют программное обеспечение для аэрофотосъемки, спутниковой съемки и дистанционного зондирования.
  • Пространственные аналитики. Они обрабатывают, извлекают данные, определяют местоположения и анализируют геоданные.
  • Землеустроители — специалисты по топографической съемке, измерениям и межеванию земельных угодий.

За рубежом средняя зарплата в ГИС составляет от $40 000 до $100 000 в год. Картографы обычно зарабатывают меньше всего, а самые большие заработки — у старших инженеров-программистов.

Гис поиск

В России зарплаты специалистов сферы ГИС также варьируются. Картограф может претендовать на зарплату от ₽80 тыс., тогда как ведущие разработчики зарабатывают от ₽200 тыс. По направлениям, связанным с ГИС, специалистов обучают все ведущие и региональные российские вузы, в том числе Московский государственный университет геодезии и картографии, МИРЭА — Российский технологический университет, НИУ ВШЭ, Государственный университет по землеустройству и другие. Кроме того, в интернете есть онлайн-курсы по этому направлению.

Назначение ГИС

В наши дни географические информационные системы применяются широко.

Окружающая среда

Экологи и предприятия используют ГИС для изучения изменений климата, подземных вод и оценки человеческого воздействия на природу. Так, в 2021 году «Росатом» разработал систему «Логос Гидрогеология», с помощью которой можно оценивать воздействие техногенных объектов на подземные воды и грунт как для штатного режима работы предприятий, так и для вероятных аварийных ситуаций. Модель прогнозирует уровень затопления территорий, риски прорыва плотин, подъем или понижение уровня воды от строительства плотин, дамб и каналов.

Военная сфера

ГИС помогает оценивать ситуацию в зоне тактической операции, проводить операции на суше (показывает условия местности, высоты, маршруты, растительный покров, объекты и населенные пункты), в воздухе (передает данные о погоде и видимости пилотам; направляет войска и снабжение) и на море (показывает течения, высоту волн, приливы и погоду). Российская компания КРЭТ в 2021 году представила навигационную систему для беспилотников, которая позволяет дронам летать автономно даже при отсутствии наземных, морских или космических ориентиров. Таким образом, она не требует работы GPS или «Глонасс».

Гис поиск

Сельское хозяйство

Фермеры используют ГИС для повышения урожайности сельскохозяйственных культур. Данные поступают из различных источников: метеорологических станций, наземных датчиков, образцов почвы, спутников и беспилотников. В СПбГУ в 2021 году разработали геоинформационную систему для виноделов. Она позволяет оценить пригодность планируемых под посадки земель и соотнести ее с сортами винограда.

Лесное хозяйство

Лесники с помощью ГИС отслеживают вырубку и проводят инвентаризацию лесных насаждений. В 2020 году Минприроды и «Роскосмос» объявили о создании системы цифрового космического мониторинга. Она предназначена для эффективного контроля лесопользования, обращения с отходами и экологического контроля с помощью дистанционного зондирования Земли из космоса.

Бизнес

Геопространственные данные охватывают связанные с конкретным положением данные, такие как демографические характеристики покупателей или информацию о том, где в магазине люди проводят больше всего времени. Информацию можно использовать при выборе места для магазина, определении набора товаров и их выкладки и так далее. Так, группа компаний «МЫ!» развивает сеть гастрономов в формате «у дома», выбирая подходящие локации с помощью инструментов геоанализа ГИС Atlas и Geonet. А банк «Открытие» управляет продажами с помощью решения MLead российской компании-разработчика Marketing Logic. Новая платформа автоматизировала работу выездных сотрудников департамента корпоративных продаж банка: она ставит и контролирует задачи, предлагает оптимальные маршруты встреч, отправляет необходимую информацию клиентам и готовит отчеты.

Гис поиск

Общественная безопасность

ГИС позволяют организовать охрану объектов, координировать оборону, реагировать на природные катастрофы, координировать действия правоохранительных органов, органов национальной безопасности и экстренных служб. В 2020 году Google разработала сервис по оповещению о землетрясениях Earthquake Alerts System. Она, по сути, превращает обычный смартфон на Android в мини-сейсмометр. Google получает данные с 700 сейсмометров и заранее предупреждает пользователей о толчках.

Презентация работы Earthquake Alerts System

Здравоохранение

ГИС помогают выявить проблемы с медобслуживанием в конкретном регионе, а также спрогнозировать распространение эпидемий.

Гис поиск

Промышленность

ГИС помогают отслеживать производительность предприятий и работы строек в реальном времени. В настоящее время «Терра Тех» (входит в госкорпорацию «Роскосмос») создает технологию мониторинга с использованием дистанционного зондирования Земли и беспилотников для контроля строительства на БАМе и ТрансСибе.

Федеральная и местная власть

ГИС помогает управлять транспортной инфраструктурой, сельским и лесным хозяйством, горнодобывающей промышленностью, водными ресурсами. Местные органы власти широко применяют ГИС для наблюдения за дорожным движением и условиями, качеством окружающей среды, распространением заболеваний, распределением предприятий коммунального хозяйства, чтобы своевременно реагировать на запросы населения. «Ростелеком» начал внедрять в Анапе геоинформационную платформу РусГИС, которая оцифрует и объединит в единую систему всю информацию о муниципальной собственности, транспорте, пляжных территориях и других социально и экономически значимых объектах. Это поможет оптимизировать издержки на эксплуатацию городской инфраструктуры, принимать эффективные управленческие решения и повысить инвестиционную привлекательность курорта.

Страхование и недвижимость

В данных сферах ГИС позволяют принимать решения о застройке площадей, выполнять их зонирование, а также выстраивать тарифную политику в зависимости от рисков. Росреестр в декабре 2021 года представил сервис «Умный Кадастр», который помогает вовлекать в оборот неиспользуемые объекты недвижимости. А «Росгосстрах» уже внедрил аналитическую геосистему с интерфейсом «умных карт» в помощь страховым агентам. Она отражает актуальную картину по страхованию объектов в масштабе отдельного населенного пункта.

Геокодирование

Геокодирование — процесс, который позволяет узнать координаты объекта по его адресу. Ну или обратное геокодирование — по координатам узнать, что за гео-объект там находится. Фактически все сервисы геокодирования работают с адресами, введенными в произвольном формате, заодно приводя их к своему стандарту. Полностью бесплатных сервисов геокодирования на рынке в данный момент я не нашел.

Типичные применения геокодирования — отобразить на карте введенный пользователем адрес, или наоборот (обратное) — пользователь поставил на карте метку, нужно её превратить в адрес.

Геокодер Яндекс. Карт

  • Есть бесплатный тариф, ограниченный 25 000 запросов в сутки.
  • Кроме количества запросов также ограничен лицензионным соглашением — результаты кодирования нельзя сохранять и использовать без карты (но можно кешировать), их нужно отображать только на картах яндекса и только в рамках общедоступных сервисов (доступных всем или с открытой бесплатной регистрацией).
  • Отлично работает в России, и прямой и обратный.
  • tech.yandex.ru/maps/geocoder

«Подсказки» от DaData

  • У DaData есть сервис «подсказки», который позволяет реализовать автодополнение вводимых пользователем адресов.
  • Он включает в себя функции геокодера (может выдавать координаты по адресу и адрес по координатам).
  • Работает только в России, покрытие хромает — в миллионниках на уровне 75-95%, в среднем по России около 50%
  • 10 000 запросов в сутки бесплатно, но оферта не позволяет его использовать полностью в автоматическом режиме — для автоматического геокодинга нужно использовать сервис «Стандартизация».
  • dadata.ru/api/suggest/address

Google Maps Geocoding API

  • 5$ за 1000 запросов.
  • Я не пользовался, потому что есть бесплатные аналоги от яндекса и дадаты
  • developers.google.com/maps/documentation/geocoding/intro
  • Бесплатно до 500 запросов в день.
  • Много других интересных функций
  • Работает с OpenStreetMaps
  • www.graphhopper.com/developers
  • docs.mapbox.com/api/search
  • Слабая база улиц в России, по крайней мере в Казани те улицы на которых я тестирую — не смог найти
  • Бесплатно до 100 000 запросов в месяц

OpenStreetMaps Nominatim

  • OpenSource решение, которое вы можете развернуть на собственном сервере.
  • Не пользовался, возможно в комментариях кто-то напишет о своем опыте использования
  • nominatim.org/release-docs/develop/api/Overview

Гис поиск

Отображение карт на сайте

Очень популярная задача — это отображение на сайте онлайн-карт. Например, чтобы показать, в каком точно месте на карте находится ваш офис. Или где можно забрать вещь, которую продает автор объявления.

Больше проверок:  Чеки 2023 года, обнаруженные генеральной прокуратурой корчмы

Для отображения карт используются два основных вида API:

  • Javascript API (интерактивное)
  • Static API (статичное)

Javascript API

Все сервисы, которые я разрабатывал, работают в основном с Россией, поэтому я расскажу о тех API, которыми пользовался сам и которые популярны у нас. Знаю, что есть API и у bing, и других провайдеров карт, но я ими не пользовался.

Javascript API позволяет показать на сайте интерактивную карту с возможностью изменения масштаба, отображения маркеров, взаимодействия с картой (перетаскивание маркеров, отображение всплывающих подсказок и прочее).

Javascript API Яндекс. Карт

  • Хорошие карты России
  • Пока бесплатно, не считая некоторых функций
  • Широкие возможности — кластеризация меток и пр.
  • tech.yandex.ru/maps/jsapi/doc/2.1/quick-start/index-docpage

Javascript API Google Maps

  • Хорошие карты всего мира
  • По возможностям на уровне Яндекса
  • Платные — от 7$ за 1000 вызовов
  • developers.google.com/maps/documentation/javascript/tutorial

2ГИС API

  • Очень хорошие карты, но есть не везде
  • Пока бесплатно
  • Функциональность API послабее чем у Яндекса/Гугла, но может расширяться с помощью модулей Leaflet
  • Зато есть карты этажей для торговых центров
  • api.2gis.ru/doc/maps/ru/quickstart
  • azure.microsoft.com/ru-ru/services/azure-maps
  • Большое количество сервисов, в том числе построитель маршрутов, определение локации по IP
  • Есть бесплатные лимиты и платное API
  • docs.mapbox.com/api/maps
  • Симпатичные карты для веба и мобильных устройств
  • Могу ошибаться, но кажется карты только на английском языке
  • Для мобильных приложений бесплатно до 25000 пользователей в месяц, в вебе до 50000 загрузок в месяц

Static API

Статичное API может быть использовано там, где вам нужно показать просто картинку карты, без интерактива. Например, вы хотите приложить карту к электронному письму, или дать возможность пользователю распечатать схему проезда к вам. Ну или ваш дизайнер нарисовал макет, в котором вместо фона используется карта — грузить для такой задачи полноценные JS карты выглядит избыточным. Также статичную картинку можно использовать как превью для ускорения загрузки страницы у пользователя — а по клику делать её интерактивной.

Static API Яндекс. Карт

  • Максимальный размер 650×450 пикселей
  • Пока бесплатно
  • tech.yandex.ru/maps/staticapi/doc/1.x/dg/concepts/input_params-docpage

Static API Google maps

  • 2$ за тысячу запросов
  • Максимальный размер 640х640 для базового тарифа и 2048х2048 для премиум (200$ в месяц)
  • developers.google.com/maps/documentation/maps-static/intro

2ГИС Static API

  • На сайте почему-то числится как «устаревшее»
  • Пока бесплатно
  • Максимальный размер 1280х1280
  • Есть не везде
  • api.2gis.ru/doc/maps/1.0/static
  • docs.mapbox.com/api/maps
  • Могу ошибаться, но кажется карты только на английском языке
  • Максимальный размер 1280х1280
  • Бесплатно до 25 000 загрузок карт в месяц

Программы для ГИС

ГИС-приложения включают в себя как аппаратную, так и программную составляющие. Они объединяют различные типы информации, среди которых:

  • картографические данные — представлены в виде карты и могут включать такую информацию, как расположение рек, дорог, жилых и нежилых строений;
  • аэрофотоснимки и обычные фотографии и видео;
  • данные со спутников;
  • данные дистанционного зондирования (обычно с применением воздушных шаров и дронов);
  • таблицы — могут варьироваться от возраста, дохода и этнической принадлежности людей и до недавних покупок и их предпочтений в Интернете,
  • глобальные системы позиционирования (GPS);
  • данные из Интернета;
  • документы, включая архивные таблицы и каталоги координат;
  • данные из других ГИС.

Технология ГИС позволяет накладывать все типы информации, независимо от их источника или исходного формата, поверх друг друга на одной карте. ГИС использует местоположение в качестве ключевой переменной, чтобы связать эти, казалось бы, несвязанные данные.

Гис поиск

Ввод информации в ГИС называется сбором данных. Информацию, которая уже находится в цифровой форме, можно просто загрузить в систему. Однако сначала карту необходимо отсканировать или преобразовать в цифровой формат.

Географические информационные системы включают три компонента:

  • Данные: ГИС хранит данные о местоположении в виде слоев информации по разным темам. Каждый набор данных имеет таблицу атрибутов, в которой хранится информация об объекте. Два основных типа формата файлов ГИС — растровый и векторный. Растровый представляет собой сетки из ячеек или пикселей. Он полезен для хранения различных ГИС-данных. Векторный формат выглядит как многоугольник, в котором используются точки (называемые узлами) и линии. Векторные файлы нужны для хранения данных ГИС с четкими границами, такими как городские округа или улицы. В итоге технология позволяет отображать пространственные и линейные зависимости. Пространственные показывают топографию местности (поля, ручьи), а линейные представлены дорогами или коммунальными сетями.
  • Аппаратный компонент, который запускает программное обеспечение ГИС. Это может быть что угодно: мощные серверы, мобильные телефоны или персональные рабочие станции. Как правило, в работе с ГИС нужны два монитора, дополнительное хранилище данных и графические карты высокой четкости.
  • Программное обеспечение. Оно специализируется на пространственном анализе с использованием математики в картах. Такое ПО сочетает в себе географию с современными технологиями для измерения, количественной оценки и анализа. Самыми популярными программами считаются ArcGIS и QGIS.

Гис поиск

В ГИС информация со всех различных карт и источников должна соответствовать одному масштабу — соотношению между расстоянием на карте и фактическим расстоянием на Земле. При этом разные карты имеют разные проекции. Чтобы перенести изогнутую трехмерную форму на плоскую поверхность, неизбежно требуется растяжение одних частей и сжатие других. Так, на карте мира могут быть показаны либо страны правильного размера, либо их правильные формы, но нельзя отобразить эту информацию одновременно. ГИС берет данные с разных карт мира и объединяет ее, чтобы отобразить в одной общей проекции.

Примеры программ

Mapinfo. С помощью этой программы можно создавать тематические карты, а также строить 3D-ландшафты. Mapinfo включает инструмент оцифровки материала и его обмена с другими организациями. Рабочее окно можно сохранять в разных форматах: bmp, tif, jpg и wmf.

DataGraf. Данный инструмент предназначен для пространственной визуализации и моделирования ситуаций. Программа позволяет создавать векторные карты, привязывать к каждому их элементу неограниченное число данных, копировать эти данные в другой файл и вручную изменять характеристики объектов и их местоположения.

NextGIS. Бесплатный облачный продукт от российских разработчиков. С помощью него можно создавать веб-карты с произвольными настройками и стилями слоев, а также рассматривать и анализировать эти карты. Также можно встраивать карты в веб-сайты.

Гис поиск

Определение местоположения пользователя по координатам

Задача схожа с задачей обратного геокодирования, с небольшими различиями.

Иногда нам нужно определить местоположение пользователя, когда мы точно знаем его координаты (например получили их используя датчики GPS устройства или Geolocation API в браузере). Тут есть два варианта — обратное геокодирование нам возвращает название того места, где находится пользователь. Но что произойдет, если пользователь находится где-то на трассе между городами, или в пригороде или просто в чистом поле и хочет посмотреть объявления о продаже участков на этом поле? Не всегда обратный геокодер с этим справится.

В этом случае лично я поступаю так — у меня в базе данных хранятся все координаты городов России, в которых у нас имеются объявления и с которыми мы вообще работаем. И по координатам пользователя я просто определяю ближайший к нему город из нашей базы, с помощью простого запроса:

Отключение адресного поиска¶

Адресный поиск можно отключить. Тогда поиск будет осуществляться только по атрибутивной информации добавленных на карту слоёв (не считая подложки).
Через панель управления перейдите в настройки веб-карты и передвиньте ползунок в пункте «Адресный поиск» в выключенное состояние.

Гис поиск

Адресный поиск отключен¶

Виды ГИС

Географические информационные системы классифицируют по-разному в зависимости от масштабности и функционала, а также других признаков.

По территориальному охвату ГИС бывают:

  • глобальными;
  • субконтинентальными;
  • национальными;
  • региональными;
  • субрегиональными;
  • локальными или местными.

По уровню управления:

  • федеральными;
  • региональными;
  • муниципальными;
  • корпоративными.
  • полнофункциональными;
  • для просмотра данных;
  • для ввода и обработки данных;
  • специализированными с дополнительными функциями.

По предметной области:

  • картографическими;
  • геологическими;
  • городскими или муниципальными;
  • природоохранными,
  • туристическими.

Если в ГИС присутствуют возможности цифровой обработки изображений, то такие системы называются интегрированными ГИС (ИГИС). Полимасштабные, или масштабно-независимые ГИС обеспечивают графическое или картографическое воспроизведение данных в любом масштабе с наибольшим разрешением. Пространственно-временные ГИС работают с данными во времени.

Поиск организаций

Распространенная задача, если вы хотите показать своим клиентам какие-то организации в его городе. Например, вы продаете товары с доставкой, и хотите показать человеку все пункты выдачи какой-то службы в его городе. Или вы изготавливаете макеты для печати, и показываете пользователю на карте все типографии, куда он может обратиться чтобы распечатать ваш макет.

Яндекс поиск по организациям

  • tech.yandex.ru/maps/geosearch
  • Бесплатно до 500 запросов в сутки, при условии отображения результатов на общедоступной карте.
  • Результаты поиска нельзя сохранять или отображать на картах не от яндекса.

Google Places Api

  • developers.google.com/places/web-service/usage-and-billing
  • Очень сложная система тарификации, до конца не разобрался. Возможно, кто пользовался, напишет в комментариях.

Ходят слухи, что у них есть платное закрытое API для поиска по организациям. Мне к нему доступ получить пока не удалось, да и поиска по организациям от яндекса для наших задач вполне хватает.

Заключение

В современном мире вы можете найти готовый сервис фактически для любой задачи, которую вам нужно решить, либо решить её с помощью комбинации сервисов из списка выше. Вопрос только в стоимости этого решения, насколько оно будет для вас выгодно.

Многие сервисы по мере роста популярности переходят на всё более жесткие системы монетизации — как бесплатные когда-то карты гугла стали полностью платными, так же и Яндекс постепенно к этому идет.

Есть открытые OpenStreetMaps, которые вроде как можно заставить решать все задачи из списка, но для этого вам нужно их разворачивать у себя, и помимо своего проекта отдельно поддерживать еще целую инфраструктуру для карт — насколько это нужно, каждый решает для себя сам.

Вероятно, в обзоре я не указал некоторые отличные сервисы, которыми вы пользуетесь, либо вы пользовались сервисами из обзора и вам есть что добавить к уже написанному — пишите в комментариях, буду добавлять в текст.