О реализации ботов для месседжера Telegram на сайте было уже довольно много постов. Но есть одна тема, которая, на мой взгляд, еще не была затронута. Это реализация работы с геолокацией внутри бота. В данном посте я приведу пример того, как можно обрабатывать ботом информацию о геолокации, посылаемую пользователями, опираясь на собственный опыт реализации бота aroundus_bot.
Рубрика «postgis» - 2
О трехмерном Z-order замолвите слово
2016-06-07 в 6:13, admin, рубрики: algorithms, C, gis, pgsphere, postgis, spatial index, Алгоритмы, Блог компании 2ГИС, Геоинформационные сервисы, Программирование
«Давным-давно, кажется, в прошлую пятницу» автору попалась на глаза статья, в которой сравниваются разные популярные методы индексации небесных объектов. По причине неровного дыхания к этой теме пришлось разбираться в тонкостях и делать выводы.
Вы спросите: «Кому вообще интересны эти небесные объекты?» и даже: «Ну и при чём здесь 2ГИС?» и будете отчасти правы. Ведь методы пространственного индексирования являются универсальной ценностью.
Обычно, имея дело с геоданными, мы работаем с локальной проекцией на плоскость и тем самым отмахиваемся от искажений. В масштабах планеты это сделать труднее — начинают выпирать астрономические проблемы.
Что касается объёмов данных, уже сейчас в OSM более 4 млрд точек и 300 млн дорог. Это соизмеримо с масштабами, характерными для звёздных объектов. Да и помимо всего прочего, звёздные атласы — отличный стенд для разработки и отладки пространственных алгоритмов.
Обещанные тонкости и выводы под катом.
Читать полностью »
Сервис временных зон на Ruby и Postgis
2014-12-17 в 9:39, admin, рубрики: postgis, postgresql, ruby, service, timezone, Геоинформационные сервисы В одном из проектов, в которых я учавствовал, возникла задача определения временной зоны по текущей геолокации пользователя. На backend приходила запись, создаваемая пользователем с помощью смартфона. Время приходило не в UTC, но в параметрах содержались координаты.
Конечно, существуют готовые сервисы (например The Google Time Zone), но все они платные или сильно ограничены по функционалу. Вот я и решил написать собственный сервис.
Читать полностью »
Postgis тип данных Geometry на примере импортированных OpenStreetMap карт
2014-12-04 в 12:50, admin, рубрики: geometry, OpenStreetMap, OSM, postgis, postgresql, Геоинформационные сервисы Для моего проекта понадобилось построить пешеходные маршруты и считать их длину.
Я решил эту задачу с помощью pgrouting, который в свою очередь опирается на postgis.
Postgis — это расширение к Postgresql, реализующее стандарт OpenGis.
В данном расширение содержится обширный функционал для работы с пространственными данными.
Это позволяет писать интересные приложения.
В частности, OpenStreetMap использует postgis для отображения своих карт.
Постараюсь рассказать о том, как выглядят в postgis, импортированные osm карты.
Читать полностью »
Работа с геолокациями в режиме highload
2014-07-01 в 18:05, admin, рубрики: big data, BigData, geo, highload, postgis, postgresql, Алгоритмы, Геоинформационные сервисы, метки: BigData, geo, highload, postgis, postgresql, АлгоритмыПри разработке ПО часто возникают интересные задачи. Одна из таких: работа с гео-координатами пользователей. Если вашим сервисом пользуются миллионы пользователей и запросы к РСУБД происходят часто, то выбор алгоритма играет важную роль. О том как оптимально обрабатывать большое количество запросов и искать ближайшие гео-позиции рассказано под катом.
Разбор строки адреса (улица [дом]) средствами Golang и Postgis
2014-06-06 в 11:36, admin, рубрики: autocomplete, gis, golang, postgis, postgresql, метки: autocomplete, gis, golang, postgis, postgresql Hi, читатель.
Столкнулся я на днях с интересной задачей — пользователь вводит строку, которая может быть улицей с домом, просто улицей или вообще не улицей, а нам надо узнать имел ли он ввиду улицу с домом и соответствующее ему подсказать.
— Казалось бы чего проще — разбей строку по пробелу и наслаждайся — подумал Штирлиц
— А как насчет улицы Павла Корчагина — шепнула птица Обломинго
— Эм, ну номер дома же наверняка число — сказал Штирлиц
— Ага, корп1 — хорошее число
— Мдя, придется изобретать велосипед
Использование квадродеревьев при расчёте пробок 2ГИС
2013-12-12 в 6:19, admin, рубрики: c++, postgis, spatial index, Блог компании 2ГИС, Геоинформационные сервисы, пробки, метки: 2ГИС, c++, postgis, spatial index, пробкиДаже не являясь навигатором, 2ГИС собирает и показывает информацию о пробках. Во-первых, это необходимо для построения оптимальных маршрутов, а во-вторых — такие данные очень нужны пользователям в больших городах.
В 2ГИС сервис пробок появился в сентябре 2011 года и сегодня работает в пяти городах (Новосибирск, Санкт-Петербург, Красноярск, Уфа, Казань). В планах на ближайшее будущее — запустить пробки во всех городах-миллионниках.
Под катом история про то, с какими проблемами мы столкнулись и как их решили.
Читать полностью »
Можно ли автоматически разгадать головоломку Mercator от Google?
2013-02-14 в 23:25, admin, рубрики: Google, Google Maps, postgis, python, метки: Google Maps, postgis, pythonНедавно была статья о крутой картографической головоломке от Google. После того, как я потратил около 20 минут на разгадывание, захотелось понять можно ли сделать это автоматически?
ГИС: определение вложенности административных округов
2013-01-07 в 17:32, admin, рубрики: geo, postgis, postgres, postgresql, Геоинформационные сервисы, метки: geo, postgis, postgresВстала задача организовать административные центры в чёткую иерархию по принципу матрёшки, например, Украина — Крым — ЮБК — Ялта, и исправить имеющиеся ошибки в текущей базе данных.
В этой статье я расскажу, как я решил эту проблему с помощью KML-файлов обрамляющих границ и Postgres+Postgis.
Сказ о том, как мы абонентов к портам привязывали
2012-12-14 в 4:41, admin, рубрики: d-link, OpenStreetMap, postgis, postgresql, qgis, zabbix, Телекомы, метки: d-link, OpenStreetMap, postgis, postgresql, qgis, zabbix, ТелекомыПривет!
Расскажу и я свою историю.
Случилось так, что однажды я устроился на должность начальника технического отдела в одном небольшом интернет-провайдере. Компания на тот момент испытывала некоторые проблемы технического характера, технаря найти не могли. В тот момент я как раз искал нормальную работу — за год до этого ушел с великого и могучего завода АвтоВАЗ (работал в Дирекции Информационных Систем) — кризис прижал, денег не давали. После — год работы учителем в школе (параллельно регистрировался как ИП), в общем крутился как мог. И находясь осенью в другом городе, от знакомого узнаю о том, что срочно нужен технарь. Пришел на собеседование без особой надежды, да и большого желания, и как оказалось — зря. После примерно 10-минутной беседы директор попросил выйти сегодня же. И я вышел.
Как там говорится, то все присказка была?
Читать полностью »