Как стать автором
Обновить
0

OpenStreetMap *

Некоммерческий веб-картографический проект

Сначала показывать
Порог рейтинга
Уровень сложности

Как хранить сеть дорог в БД для построения маршрута?

Уровень сложностиСложный
Время на прочтение21 мин
Количество просмотров19K

Японцы уже в 2018 году научили немецкий GraphHopper строить маршруты по дорогам хранящимся в PostgreSQL.

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

Надо всего лишь...
Всего голосов 29: ↑29 и ↓0+29
Комментарии18

Сколько школ во всем мире? Чтение сотен гигабайт OpenStreetMap данных в JVM из Apache Arrow

Время на прочтение6 мин
Количество просмотров4K

JVM основная платформа для Big Data решений, таких как Hadoop, Spark, Presto, NiFi но на производительность значительно влияют копирование/сериализация данных "на каждый чих" с последующей сборкой мусора и отсутствие SIMD оптимизаций при работе с данными.

А можно ли в программе на JVM прочитать сотни гигабайт Parquet файлов без Spark/Hadoop? В этом нам поможет библиотека Apache Arrow - проект, которым объединяются десятки решений для работы с Большими Данными. Но для этого даже не обязателен кластер с тысячами ядер и петабайты хранилища! Обработку данных начнем с "золотого стандарта" для open source: PostgreSQL 14 + PostGIS 3.2.0, а продолжим на OpenJDK 11 + Apache Arrow 9.0.0.

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

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии8

Планируем идеальный поход с NetworkX и OpenStreetMap

Время на прочтение10 мин
Количество просмотров5.4K

Как создать приложение с открытым кодом для планирования пеших походов и выбора оптимального маршрута?


КДПВ

Любой заядлый турист знает: всё, что ждёт его в походе, зависит от подготовки. Брать ли дождевики? Сколько идти от одного источника воды до другого? Где лучше ночевать в этой местности в это время года? Но самый важный вопрос звучит проще простого: «Что я там буду делать?» Отвечаем на эти вопросы к старту нашего курса по Fullstack-разработке на Python.
Узнать больше
Всего голосов 10: ↑8 и ↓2+6
Комментарии2

Цифровизация в сельском хозяйстве

Время на прочтение3 мин
Количество просмотров3.5K

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

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Истории

Создание и наполнение PostGIS при использовании Docker

Время на прочтение5 мин
Количество просмотров6.4K

Пошаговая инструкция о том, как установить и использовать расширение PostGIS для PostgreSQL в Docker.

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

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии6

Я проехал на односкоростном велосипеде 270 км за сутки, чтобы показать атлетам: набор высоты — это условность

Время на прочтение7 мин
Количество просмотров20K

[Научно-спортивный препринт].

🔥 Пару дней назад я совершил суточный велопоход в 270 км с амбициозными целями, которые я расписал в статье...

Читать про велопоход, расчёты и революцию
Всего голосов 55: ↑46 и ↓9+37
Комментарии112

Интервью с создателями Organic Maps — открытых мобильных карт на основе OpenStreetMap

Время на прочтение6 мин
Количество просмотров15K

В июне прошлого года вышла первая версия программы Organic Maps - бесплатных мобильных карт для Android и iOS с открытым исходным кодом. Об этом событии я опубликовал небольшую заметку на Хабре. Весь год шла интенсивная разработка, а число установок превысило 100 тысяч. Я решил взять небольшое интервью у разработчиков Organic Maps и обсудить с ними итоги года работы и планы на будущее.

Читать далее
Всего голосов 63: ↑62 и ↓1+61
Комментарии69

Хабрчане закидали меня камнями за косяки в МВП. Я не уныл, всё поправил и готов получать новую порцию или релиз Измерии

Время на прочтение6 мин
Количество просмотров8.3K

Привет. Полгода назад я выкатывал МВП приложения, в котором можно было оценить места своего проживания по определённым критериям, например, качество воды или воздуха.

И вот я готов представить обновлённую Измерию. Всё, что осталось от старой, — возможность оставлять рейтинги на карте и её (карты) вид. Для полного списка изменений предлагаю проследовать на специально отведённую для этого страницу. В данной же статье я разберу косяки, на которые пользователи и комментаторы Хабра обратили внимание, способы их устранения, а также дополнения, приносящие ещё больше полезности в сервис. Примерное время чтения: 7 минут.

Читать далее
Всего голосов 41: ↑37 и ↓4+33
Комментарии62

Основы Интерактивных карт

Время на прочтение7 мин
Количество просмотров26K

Для визуализации интерактивных карт рассмотрим библиотеку - Folium.

Folium — это мощная библиотека визуализации данных в Python, которая была создана в первую очередь для того, чтобы помочь людям визуализировать гео-пространственные данные.

Folium - это библиотека с открытым исходным кодом, созданная на основе возможностей Datawrangling экосистемы.

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

Также можете создать карту и наложить маркеры, а также кластеры маркеров поверх карты для крутых и очень интересных визуализаций.

Folium - это библиотека Python, которая помогает создавать несколько типов карт Leaflet. Тот факт, что результаты Folium интерактивны, делает эту библиотеку очень полезной для создания информационных панелей.

На официальной странице документации Folium:

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Комментарии4

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me

Время на прочтение7 мин
Количество просмотров22K

Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток.

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

Читать далее
Всего голосов 33: ↑33 и ↓0+33
Комментарии55

Tile server на коленке: навигация по старинным картам

Время на прочтение5 мин
Количество просмотров7.7K

Я являюсь full stack разработчиком на культурно-историческом IT портале Königsland, который успешно начал свою работу примерно месяц назад. Этот ресурс посвящается культуре и истории Восточной Пруссии и является своеобразной летописью времен, которая больше всего напоминает вирутальный музей, где можно получить довольно полную информацию об истории этого великого края, а эта информация пополняется по мере возникновения у меня свободного времени.

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии14

Карты, фаззинг, OSM: ищем поверхность атаки для сложного приложения

Время на прочтение13 мин
Количество просмотров3.5K

Фаззинг - это такое тестирование, в котором не надо придумывать тесткейсы, потому что умная машина (или настойчивый алгоритм перебора) делает это за вас.

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии3

Охота пуще неволи или Вредные советы по созданию участков в Strava

Время на прочтение6 мин
Количество просмотров4.6K

Не плоть, а дух растлился в наши дни,
И человек отчаянно тоскует...
Он к свету рвётся из ночной тени
И, свет обретши, ропщет и бунтует.

To strive
Всего голосов 17: ↑15 и ↓2+13
Комментарии15

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

04. The Gold-Bug

Время на прочтение15 мин
Количество просмотров3.2K

A good glass in the bishop’s hostel in the devil’s seat forty-one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s-head a bee line from the tree through the shot fifty feet out.
Edgar Allan Poe.

Предыдущие статьи цикла о реверсе данных автомобильных навигаторов Siemens/VDO Dayton CARMiN:

Реверс черного тессеракта

01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо

02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую

03. С прозрачными воротами и яркою звездой

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии4

03. С прозрачными воротами и яркою звездой

Время на прочтение19 мин
Количество просмотров2.1K

Предыдущие статьи о реверсе данных автомобильных навигаторов Siemens/VDO Dayton CARMiN:

Реверс черного тессеракта

01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо

02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую

Получив в прошлой статье полную раскладку по значениям чисел и цифр типа блока 0xA, информации по странам, естественным следующим шагом будет попытка провести разбор типа блока 0x0С, информации по городам.

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии1

02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую

Время на прочтение25 мин
Количество просмотров8.8K

Предыдущие статьи о реверсе данных автомобильных навигаторов Siemens VDO Dayton CARMiN

Реверс черного тессеракта

01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии9

01. Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо

Время на прочтение11 мин
Количество просмотров3.2K

Статья является продолжением Реверс черного тессеракта, без прочтения которой, единственный вопрос, на который именно тут будет дан законченный ответ - "почему на КДПВ этого цикла статей везде картинки авторства Евгения Тихоновича Мигунова?".
Сразу и отвечу. Потому, что по странному совпадению, всеми книгами, которые он иллюстрировал, в детстве я зачитывался. Как художник, на мой взгляд, он великолепен, и выбранные цитаты его творчества, на мой взгляд, очень хорошо ложатся на темы конкретных статей.

Продолжение же реверса данных для автомобильного навигатора систем Siemens VDO CARMiN - под катом.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии0

Реверс черного тессеракта. Начало

Время на прочтение10 мин
Количество просмотров4.4K

Система с известной спецификацией реакций на входные воздействия и неизвестным содержимым характеризуется, как черный ящик. Когда внутренняя структура, устройство и архитектура системы известны - ящик белый. Есть и промежуточное понятие серый ящик - частичное знание внутреннего устройства и ожидаемое поведение.

Как охарактеризовать систему, выходные реакции которой очевидны, но нет информации о входных данных, вызывавших эти реакции? Я сейчас про компьютеры, а не о психологии или медицине. Строго говоря, входные данные не просто есть, они присутствуют в полном спектре возможных вариантов, но целиком, глыбой, блобом, а реакция происходит на отдельную неизвестную часть (части) входных данных.

По аналогии с ящиками, в статье я назвал такую систему именем четырехмерного ящика, черным тессерактом. Ну во-первых, это красиво(с). Черным - за неизвестные входные спецификации, четвертое измерение - из-за того, что конечные данные устройства автомобильной навигации выдают в виде изображений, попытка компьютеризированного анализа результатов вывода бессмысленна и беспощадна.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии6

Парсим ГАР БД ФИАС в удобный формат в питоне. Бесплатно, без регистрации и СМС

Время на прочтение8 мин
Количество просмотров26K

20160419_182146


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


Да, это полная официальная адресная база России, просто в открытом доступе, никто ничего не спрашивает, просто раздают. Сделали на наши налоги, и честно всем, как скамейку в парке, отдают в пользование. Прекрасно? Да!


"В чем же подвох?", — спросите вы, прищурившись.


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

Читать дальше →
Всего голосов 29: ↑19 и ↓10+9
Комментарии25

Overpass API: следующий уровень владения OpenStreetMap

Время на прочтение12 мин
Количество просмотров22K

В своих различных геосервисах мы используем данные OpenStreetMap (OSM). Данные в OSM заносятся, в основном, через специальные программы-редакторы, про самые популярные из которых мы писали тут и тут. На программном уровне редакторы общаются с главным сервером через OSM API. Этот API работает как на чтение, так и на запись и предоставляет лишь минимально необходимые возможности. Через него выборку можно ограничить только прямоугольником, но не произвольной полигональной областью, также нет ни фильтрации данных, ни способов их преобразования перед отправкой клиенту. Но что делать, если тебе нужно выбрать данные из OSM, отсеив много лишнего, желательно сразу показать результаты на карте, и при этом ты ни разу не программист? Тут-то на помощь и приходит Overpass API — мощный инструмент запросов к данным OSM, и Overpass Turbo — веб-приложение, предоставляющее графический интерфейс к Overpass API и дополнительные удобства при работе с запросами.

Читать далее
Всего голосов 28: ↑28 и ↓0+28
Комментарии10