Японцы уже в 2018 году научили немецкий GraphHopper строить маршруты по дорогам хранящимся в PostgreSQL.
Как кастомизировать источник данных, и сохранять новые дороги в таблицу правильно?
Некоммерческий веб-картографический проект
Японцы уже в 2018 году научили немецкий GraphHopper строить маршруты по дорогам хранящимся в PostgreSQL.
Как кастомизировать источник данных, и сохранять новые дороги в таблицу правильно?
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. И когда говорят что образование избыточно и в школе дают много лишних знаний, то сразу же хочется задать компьютеру этот вопрос, сверив его с географией.
В данной серии статей я постараюсь рассказать про большую часть тех вещей, которые присутствуют в цифровизации сельского хозяйства.
Эти статьи предназначены для людей, которым интересна тема агрономии. Возможно вы студент, или уже опытный фермер, в любом случае найдёте для себя что-нибудь интересное или новое. Моя задача объяснить не совсем понятные вещи простым языком.
Пошаговая инструкция о том, как установить и использовать расширение PostGIS для PostgreSQL в Docker.
Включает в себя: установка и настройка Docker-контейнера, загрузка данных в базу данных, извлечение и визуализация данных, анализ геоданных с помощью PostGIS функционала.
[Научно-спортивный препринт].
🔥 Пару дней назад я совершил суточный велопоход в 270 км с амбициозными целями, которые я расписал в статье...
В июне прошлого года вышла первая версия программы Organic Maps - бесплатных мобильных карт для Android и iOS с открытым исходным кодом. Об этом событии я опубликовал небольшую заметку на Хабре. Весь год шла интенсивная разработка, а число установок превысило 100 тысяч. Я решил взять небольшое интервью у разработчиков Organic Maps и обсудить с ними итоги года работы и планы на будущее.
Привет. Полгода назад я выкатывал МВП приложения, в котором можно было оценить места своего проживания по определённым критериям, например, качество воды или воздуха.
И вот я готов представить обновлённую Измерию. Всё, что осталось от старой, — возможность оставлять рейтинги на карте и её (карты) вид. Для полного списка изменений предлагаю проследовать на специально отведённую для этого страницу. В данной же статье я разберу косяки, на которые пользователи и комментаторы Хабра обратили внимание, способы их устранения, а также дополнения, приносящие ещё больше полезности в сервис. Примерное время чтения: 7 минут.
Для визуализации интерактивных карт рассмотрим библиотеку - Folium.
Folium — это мощная библиотека визуализации данных в Python, которая была создана в первую очередь для того, чтобы помочь людям визуализировать гео-пространственные данные.
Folium - это библиотека с открытым исходным кодом, созданная на основе возможностей Datawrangling экосистемы.
С помощью Folium можно создать карту любого местоположения в мире, если вы знаете его значения широты и долготы.
Также можете создать карту и наложить маркеры, а также кластеры маркеров поверх карты для крутых и очень интересных визуализаций.
Folium - это библиотека Python, которая помогает создавать несколько типов карт Leaflet. Тот факт, что результаты Folium интерактивны, делает эту библиотеку очень полезной для создания информационных панелей.
На официальной странице документации Folium:
Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток.
О том, почему мы начали делать такой сервис, расскажем подробно в отдельной статье, а здесь опишем технические особенности создания такого рода планировщика.
Я являюсь full stack разработчиком на культурно-историческом IT портале Königsland, который успешно начал свою работу примерно месяц назад. Этот ресурс посвящается культуре и истории Восточной Пруссии и является своеобразной летописью времен, которая больше всего напоминает вирутальный музей, где можно получить довольно полную информацию об истории этого великого края, а эта информация пополняется по мере возникновения у меня свободного времени.
Страницы этой летописи приоткрывают завесу тайны и позволяют получить пользу от современных технологий тем, кто увлекается стариной.
Фаззинг - это такое тестирование, в котором не надо придумывать тесткейсы, потому что умная машина (или настойчивый алгоритм перебора) делает это за вас.
Но с фаззингом есть одна неприятность - непонятно, как тестировать любую достаточно сложную систему. Мы бы хотели генерировать много тестов и быстро прогонять их, а в итоге приходится каждый раз откатывать состояние окружения, потому что программа пишет что-то в БД. Или входные данные настолько сложны, что их так просто не нагенерируешь.
Поэтому попробуем разобраться, как программу можно делить на части. А также определять, какие части нам нужны, а какие не очень.
Не плоть, а дух растлился в наши дни,
И человек отчаянно тоскует...
Он к свету рвётся из ночной тени
И, свет обретши, ропщет и бунтует.
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. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую
Предыдущие статьи о реверсе данных автомобильных навигаторов Siemens/VDO Dayton CARMiN:
01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо
02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую
Получив в прошлой статье полную раскладку по значениям чисел и цифр типа блока 0xA, информации по странам, естественным следующим шагом будет попытка провести разбор типа блока 0x0С, информации по городам.
Предыдущие статьи о реверсе данных автомобильных навигаторов Siemens VDO Dayton CARMiN
01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо
Статья является продолжением Реверс черного тессеракта, без прочтения которой, единственный вопрос, на который именно тут будет дан законченный ответ - "почему на КДПВ этого цикла статей везде картинки авторства Евгения Тихоновича Мигунова?".
Сразу и отвечу. Потому, что по странному совпадению, всеми книгами, которые он иллюстрировал, в детстве я зачитывался. Как художник, на мой взгляд, он великолепен, и выбранные цитаты его творчества, на мой взгляд, очень хорошо ложатся на темы конкретных статей.
Продолжение же реверса данных для автомобильного навигатора систем Siemens VDO CARMiN - под катом.
Система с известной спецификацией реакций на входные воздействия и неизвестным содержимым характеризуется, как черный ящик. Когда внутренняя структура, устройство и архитектура системы известны - ящик белый. Есть и промежуточное понятие серый ящик - частичное знание внутреннего устройства и ожидаемое поведение.
Как охарактеризовать систему, выходные реакции которой очевидны, но нет информации о входных данных, вызывавших эти реакции? Я сейчас про компьютеры, а не о психологии или медицине. Строго говоря, входные данные не просто есть, они присутствуют в полном спектре возможных вариантов, но целиком, глыбой, блобом, а реакция происходит на отдельную неизвестную часть (части) входных данных.
По аналогии с ящиками, в статье я назвал такую систему именем четырехмерного ящика, черным тессерактом. Ну во-первых, это красиво(с). Черным - за неизвестные входные спецификации, четвертое измерение - из-за того, что конечные данные устройства автомобильной навигации выдают в виде изображений, попытка компьютеризированного анализа результатов вывода бессмысленна и беспощадна.
Если вам зачем-то понадобилась полная адресная база России, то самый простой и дешевый способ ее заполучить — это скачать на сайте налоговой. Да, вот так вот просто все. Ну почти.
Да, это полная официальная адресная база России, просто в открытом доступе, никто ничего не спрашивает, просто раздают. Сделали на наши налоги, и честно всем, как скамейку в парке, отдают в пользование. Прекрасно? Да!
"В чем же подвох?", — спросите вы, прищурившись.
Кратко: формат ужасен, документация очень плоха и должного единообразия данных не наблюдается, чем успешно пользуются коммерческие компании, перепродающие бесплатные данные (иногда пылесосят имейлы). Но такую несправедливость можно исправить.
В своих различных геосервисах мы используем данные OpenStreetMap (OSM). Данные в OSM заносятся, в основном, через специальные программы-редакторы, про самые популярные из которых мы писали тут и тут. На программном уровне редакторы общаются с главным сервером через OSM API. Этот API работает как на чтение, так и на запись и предоставляет лишь минимально необходимые возможности. Через него выборку можно ограничить только прямоугольником, но не произвольной полигональной областью, также нет ни фильтрации данных, ни способов их преобразования перед отправкой клиенту. Но что делать, если тебе нужно выбрать данные из OSM, отсеив много лишнего, желательно сразу показать результаты на карте, и при этом ты ни разу не программист? Тут-то на помощь и приходит Overpass API — мощный инструмент запросов к данным OSM, и Overpass Turbo — веб-приложение, предоставляющее графический интерфейс к Overpass API и дополнительные удобства при работе с запросами.