Здравствуйте! Прочитал вашу статью и благодарю вас за то, что поделились своим опытом работы с библиотекой h3. Библиотека, конечно, известная, но рассказ на практическом примере — это всегда полезно. Также ознакомился с вашей картой и хотел бы выделить некоторые недочёты и дать рекомендации:
При первом открытии карты появляется окно со справочной информацией о том, что такое «места гарантированного дохода», «локальная зона» и т.д., а также о том, как они выглядят. После закрытия эту информацию можно прочитать вновь, нажав на кнопку со знаком вопроса, но догадаться об этом непросто. Это происходит потому, что кнопка расположена в блоке навигации карты, хотя по смыслу ближе к легенде карты (панель «Слои на карте»). Было бы здорово изменить её расположение на странице или хотя бы добавить стрелочку на кнопку при просмотре стартового окна.
Из зон, где можно или стоит открыть новый пункт, следовало бы исключить гидрографию, парки, кладбища и т.п. Сейчас, например, можно открыть пункт даже на Ваганьковском кладбище или в Лосином острове. Да, конечно, такую простую проверку может провести и сам пользователь, но на данный момент её приходится проводить слишком часто, что отбивает желание действительно изучить предлагаемые места.
На мой взгляд, стоит изменить стиль подложки, сделав её менее акцентной и привлекающей внимание. Особенно это касается зон растительности, которые на мелких масштабах сливаются с «зелёной зоной». Также неудобно, что, например, «места гарантированного дохода» располагаются то поверх зелёных зон, то без них, и в зависимости от этого меняется их цвет. Не всегда понятно: жёлто-персиковый — это тот же тип объекта, что и объект цвета жёлтой охры, или это элемент подложки?
После прочтения условных обозначений становится понятно, что под «охранной зоной» подразумевается территория, на которой уже есть пункт. Но вот что сперва сбивает с толку: во-первых, в большинстве случаев так обозначены строения, а не территория; во-вторых, сама формулировка «охранная зона» (возможно, только у меня) ассоциируется с природоохранной зоной, где вовсе нельзя ничего открывать; в-третьих, добавление точечных значков самих пунктов улучшило бы ясность.
Жаль, что в статье вы не рассказали о том, как определяются зоны для открытия с точки зрения геометрии. В статье вы рассказываете об использовании гексагональной сетки, но при этом она используется только для «локальных зон» и «мест гарантированного дохода». Как образуется зелёная зона, совершенно не ясно. Это не гексагоны, не изохроны — неведомо как сформированное пространство.
В целом, на данный момент пользоваться картой значительно труднее по сравнению с аналогичной картой фиолетовых конкурентов — есть чему поучиться. Желаю успехов!
Это делается не перед сложением, а перед нормализацией каждого отдельного индекса. Избавляется от "перекошенности" гистограммы - текущие параметры далеки от нормального распределения. Убираем максимумы и минимумы - иначе карта либо вся зелена, либо вся красная.
Почему значения индексов обязательно должны подчиняться правилу нормального распределения? Если на какой-то территории действительно невероятно много или, наоборот, критически мало объектов, почему не учитывать это? Или вы исходите из предположения, что такие области — это скорее результат особенностей картографирования в OSM (когда одни территории богаты данными вследствие большой работы сообщества, а другие не обновлялись несколько лет), нежели реальное состояние местности?
Первоначально была идея вообще "важно/не очень важно/пофиг" градацию использовать (может на это и перейдет).
Мне тоже сейчас кажется, что, возможно, настройка с градацией в 10 пунктов слишком большая. Кажется, что она даёт гибкость, но на деле как будто только запутывает. Слышал мнение: «А в чём значительная разница между коэффициентами 6 и 7, 9 и 10?» Сам думал перейти к градации в 5 пунктов, но, поскольку такое мнение встретил лишь единожды, пока отложил это.
Сами индексы хранятся в PostgreSQL...
Имею мало опыта работы с перечисленными инструментами и создания взаимосвязей между ними, но общую логику я понял. Благодарю!
Спасибо за ответ! Я услышал вашу историю и понял, почему вы решили опубликовать ваш проект именно сейчас. Забавно, конечно, что в заключении своей статьи я задаюсь вопросом о востребованности подобных сервисов, и вот спустя некоторое непродолжительное время обнаруживаю человека, имевшего схожие наработки и решившего завершить свой проект, вдохновившись общей идеей.
Поэтому детали в вашей статье меня не сильно интересовали (давно уже этот этап сравнения пройден)...
Честно говоря, не понял, какие сравнения в моей работе вы имеете в виду, ибо до этого вы рассказывали о способах сравнения качества данных общегеографической карты, но да и ладно. Наверное, вы имели в виду, что изначально были ориентированы на анализ именно по гексагональной сетке.
Вообще то "сложение" слоев используется часто для отображения геоинформации. Многие инструменты позволяют настраивать как эти слои складываются (additive/subtractive), с какой прозрачностью. Что тут нового и уникального чтобы претендовать на авторство - не совсем понятно.
В самом деле, создание синтетических показателей — идея не новая, и в картографии она применялась ещё в печатных тематических картах. В данном случае я имел в виду, что ранее не встречал возможности настройки коэффициентов (ибо операция перемножения слоёв — это в большинстве случаев всегда 1×1, а настройка прозрачности — это всё же исключительно визуальное наложение) и применения их в сфере оценки благоприятности территорий для проживания. Поэтому был так удивлён появлению проекта с такой же идеей.
Возможно, это всего лишь совпадение, и я покажусь слишком придирчивым или тщеславным, но мне кажется, что ваш проект очень похож на мой, вышедший меньше месяца назад, и статья о котором также была опубликована на Хабре. Похож он, причём, основной идеей, а именно возможностью проставления коэффициентов, которую я прежде нигде не встречал. Но при этом вы даже не упомянули мою публикацию, хотя в закладках она у вас есть, а, следовательно, вы её читали.
Да, вы добавили предложение: «Никакой монетизации не предвидится, поэтому простите, если где-то забыта лицензия или упоминание кого-либо». Но в данном случае оно звучит в духе: «Кем вдохновился, рассказывать не буду. Ну, до тех пор, пока, вдруг, при попытках монетизировать не придётся». Причём речь идёт явно не о лицензии на данные или сервисы, ибо на сайте у вас указаны и OpenStreetMap, и MapLibre.
Я совершенно не против, если вам понравилась моя идея, и вы решили её масштабировать. Как-никак, я сам подробно расписал процесс создания своего проекта. Мне, к слову, понравилась ваша идея использовать слайдер для ограничения результатов по баллам. Просто мне кажется, что это некрасиво — так продолжать свежую, только что вышедшую идею и не упоминать её. Хоть и понимаю, что это вовсе не обязательно. Опять же повторюсь: возможно, это просто невероятное совпадение с разницей в 20 дней. Но даже если это и так, то очень странно, что вы не подметили его, хотя явно знали о нём. Моё сомнение по поводу этой версии усиливается ещё и тем, что в статье вы крайне мало рассказали о процессе создания проекта.
Закончив с этой, возможно, необъективной преамбулой, мне бы хотелось задать несколько вопросов по вашему проекту. Если вы не против, после прошлых слов, конечно.
Можете, пожалуйста, объяснить, для чего необходимо с помощью подхода IQR заменять максимальные значения индексов перед их сложением в общий индекс?
Выбор диапазона значений весов от -5 до 5 как-нибудь связан с необходимостью использовать межквартильный размах (IQR), или это исключительно вопрос восприятия?
Если не секрет, не могли бы вы рассказать немного о технической составляющей процесса перерасчёта показателей? Судя по параметрам запроса, я так понимаю, что данные изначально хранятся в векторных тайлах, которым передаются значения коэффициентов, и после эти тайлы пересчитываются и возвращаются обратно, верно? Если так, то для хранения, перерасчёта и обратной визуализации тайлов используется Martin, или какая-то из этих частей выполняется PostgreSQL? Ну, это если я в целом правильно понял логику работы.
Что ж, тогда действительно звучит как прикрытие, очень жаль. Первоначально была идея использовать расположение промышленных предприятий вкупе с розой ветров. Но по-хорошему тут нужно знать и выбросы предприятий, что, я уверен, не так просто найти. Да и подобным моделированием я прежде не занимался. Поэтому хотелось пойти по простому, готовому пути, и использовать данные датчиков мониторинга.
Нууу, с выбором города действительно вышла накладка) Продолжают расширять уже за самим городом (в районе Глобуса), а всё, что до него, да, закончили. В пятницу вечером, конечно, есть пробка, думаю, как и на любом другом направлении. А в остальное время всегда свободно, хоть все допустимые 130 км/ч езжай.
Соглашусь, загрязнённость воздуха — один из важнейших показателей, влияющих на качество жизни. Несмотря на то что в статье он упомянут последним, именно с него я и начал. И был очень удивлён тому, что за последние пару лет количество источников этой информации заметно сократилось.
Тот же упомянутый вами сервис AirVoice, глядя со стороны, закрылся, так как компания перешла на полностью коммерческую стратегию и продвигает свою платформу CityAir. AirVoice в данном случае был лишь отличным демонстрационным проектом.
Не могу судить, насколько правдивы данные с геопортала Подмосковья, ибо у нас таких значительных ухудшений качества воздуха не бывает, чтобы сравнить. Но даже если данные корректны, мне показалось, что если у меня максимальное значение пяти показателей составляет 15,98% ((17 + 55,2 + 3,4 + 1,3 + 3) / 5) от ПДК, то присваивать ему 1 балл из 100 и показывать его красным цветом будет неправильно.
Однако, кажется, именно сейчас мне в голову пришла идея, как всё-таки можно отобразить разницу в пару процентов и при этом не вводить в заблуждение. Если сделаю, то отпишусь!
Часть с прямой береговой линией — это Акуловская плотина, проход по которой без пропуска запрещён. После неё лес и береговая линия пригодная скорее для жарки шашлыков и купания, нежели для прогулок. Во всяком случае в том представлении, которое я закладывал, а именно наличие благоустройства.
Здравствуйте, рассматривали ли вы в качестве навигационного движка Valhalla? Если нет, то почему? Этот движок полностью Open Source, некоммерческий, имеет возможность расчёта матриц расстояний и построения оптимизированных маршрутов.
Выбор библиотеки, на мой взгляд, это отдельная тема, поэтому в рамках данной статьи я её не затрагивал. Не имею опыта работы с OpenLayers, но на мой взгляд: Leaflet популярен ввиду своей простоты, но весьма ограничен в функциональности и зиждется на сторонних плагинах; Mapbox функциональнее, также довольно прост и удобен ввиду прямой интеграции с их style specification, а также наличию сопутствующих сервисов, того же Studio для создания подложек, собственных векторных тайлов и их стилизации; OpenLayers же наиболее сложная для изучения из библиотек, но и самая функциональная.
Действительно, для получения непосредственно самих объектов следует использовать протокол WFS. Однако для фильтрации и стилизации данных можно воспользоваться и более быстрым с точки зрения скорости визуализации WMTS.
На последние два вопроса затрудняюсь полноценно ответить. Если под админкой имеется ввиду некий веб-интерфейс для управления данными, то он имеется и это основной способ взаимодействия. GeoServer можно установить и через Docker.
Здравствуйте! Прочитал вашу статью и благодарю вас за то, что поделились своим опытом работы с библиотекой h3. Библиотека, конечно, известная, но рассказ на практическом примере — это всегда полезно. Также ознакомился с вашей картой и хотел бы выделить некоторые недочёты и дать рекомендации:
При первом открытии карты появляется окно со справочной информацией о том, что такое «места гарантированного дохода», «локальная зона» и т.д., а также о том, как они выглядят. После закрытия эту информацию можно прочитать вновь, нажав на кнопку со знаком вопроса, но догадаться об этом непросто. Это происходит потому, что кнопка расположена в блоке навигации карты, хотя по смыслу ближе к легенде карты (панель «Слои на карте»). Было бы здорово изменить её расположение на странице или хотя бы добавить стрелочку на кнопку при просмотре стартового окна.
Из зон, где можно или стоит открыть новый пункт, следовало бы исключить гидрографию, парки, кладбища и т.п. Сейчас, например, можно открыть пункт даже на Ваганьковском кладбище или в Лосином острове. Да, конечно, такую простую проверку может провести и сам пользователь, но на данный момент её приходится проводить слишком часто, что отбивает желание действительно изучить предлагаемые места.
На мой взгляд, стоит изменить стиль подложки, сделав её менее акцентной и привлекающей внимание. Особенно это касается зон растительности, которые на мелких масштабах сливаются с «зелёной зоной». Также неудобно, что, например, «места гарантированного дохода» располагаются то поверх зелёных зон, то без них, и в зависимости от этого меняется их цвет. Не всегда понятно: жёлто-персиковый — это тот же тип объекта, что и объект цвета жёлтой охры, или это элемент подложки?
После прочтения условных обозначений становится понятно, что под «охранной зоной» подразумевается территория, на которой уже есть пункт. Но вот что сперва сбивает с толку: во-первых, в большинстве случаев так обозначены строения, а не территория; во-вторых, сама формулировка «охранная зона» (возможно, только у меня) ассоциируется с природоохранной зоной, где вовсе нельзя ничего открывать; в-третьих, добавление точечных значков самих пунктов улучшило бы ясность.
Жаль, что в статье вы не рассказали о том, как определяются зоны для открытия с точки зрения геометрии. В статье вы рассказываете об использовании гексагональной сетки, но при этом она используется только для «локальных зон» и «мест гарантированного дохода». Как образуется зелёная зона, совершенно не ясно. Это не гексагоны, не изохроны — неведомо как сформированное пространство.
В целом, на данный момент пользоваться картой значительно труднее по сравнению с аналогичной картой фиолетовых конкурентов — есть чему поучиться. Желаю успехов!
Почему значения индексов обязательно должны подчиняться правилу нормального распределения? Если на какой-то территории действительно невероятно много или, наоборот, критически мало объектов, почему не учитывать это? Или вы исходите из предположения, что такие области — это скорее результат особенностей картографирования в OSM (когда одни территории богаты данными вследствие большой работы сообщества, а другие не обновлялись несколько лет), нежели реальное состояние местности?
Мне тоже сейчас кажется, что, возможно, настройка с градацией в 10 пунктов слишком большая. Кажется, что она даёт гибкость, но на деле как будто только запутывает. Слышал мнение: «А в чём значительная разница между коэффициентами 6 и 7, 9 и 10?» Сам думал перейти к градации в 5 пунктов, но, поскольку такое мнение встретил лишь единожды, пока отложил это.
Имею мало опыта работы с перечисленными инструментами и создания взаимосвязей между ними, но общую логику я понял. Благодарю!
Спасибо за ответ! Я услышал вашу историю и понял, почему вы решили опубликовать ваш проект именно сейчас. Забавно, конечно, что в заключении своей статьи я задаюсь вопросом о востребованности подобных сервисов, и вот спустя некоторое непродолжительное время обнаруживаю человека, имевшего схожие наработки и решившего завершить свой проект, вдохновившись общей идеей.
Честно говоря, не понял, какие сравнения в моей работе вы имеете в виду, ибо до этого вы рассказывали о способах сравнения качества данных общегеографической карты, но да и ладно. Наверное, вы имели в виду, что изначально были ориентированы на анализ именно по гексагональной сетке.
В самом деле, создание синтетических показателей — идея не новая, и в картографии она применялась ещё в печатных тематических картах. В данном случае я имел в виду, что ранее не встречал возможности настройки коэффициентов (ибо операция перемножения слоёв — это в большинстве случаев всегда 1×1, а настройка прозрачности — это всё же исключительно визуальное наложение) и применения их в сфере оценки благоприятности территорий для проживания. Поэтому был так удивлён появлению проекта с такой же идеей.
Возможно, это всего лишь совпадение, и я покажусь слишком придирчивым или тщеславным, но мне кажется, что ваш проект очень похож на мой, вышедший меньше месяца назад, и статья о котором также была опубликована на Хабре. Похож он, причём, основной идеей, а именно возможностью проставления коэффициентов, которую я прежде нигде не встречал. Но при этом вы даже не упомянули мою публикацию, хотя в закладках она у вас есть, а, следовательно, вы её читали.
Да, вы добавили предложение: «Никакой монетизации не предвидится, поэтому простите, если где-то забыта лицензия или упоминание кого-либо». Но в данном случае оно звучит в духе: «Кем вдохновился, рассказывать не буду. Ну, до тех пор, пока, вдруг, при попытках монетизировать не придётся». Причём речь идёт явно не о лицензии на данные или сервисы, ибо на сайте у вас указаны и OpenStreetMap, и MapLibre.
Я совершенно не против, если вам понравилась моя идея, и вы решили её масштабировать. Как-никак, я сам подробно расписал процесс создания своего проекта. Мне, к слову, понравилась ваша идея использовать слайдер для ограничения результатов по баллам. Просто мне кажется, что это некрасиво — так продолжать свежую, только что вышедшую идею и не упоминать её. Хоть и понимаю, что это вовсе не обязательно. Опять же повторюсь: возможно, это просто невероятное совпадение с разницей в 20 дней. Но даже если это и так, то очень странно, что вы не подметили его, хотя явно знали о нём. Моё сомнение по поводу этой версии усиливается ещё и тем, что в статье вы крайне мало рассказали о процессе создания проекта.
Закончив с этой, возможно, необъективной преамбулой, мне бы хотелось задать несколько вопросов по вашему проекту. Если вы не против, после прошлых слов, конечно.
Можете, пожалуйста, объяснить, для чего необходимо с помощью подхода IQR заменять максимальные значения индексов перед их сложением в общий индекс?
Выбор диапазона значений весов от -5 до 5 как-нибудь связан с необходимостью использовать межквартильный размах (IQR), или это исключительно вопрос восприятия?
Если не секрет, не могли бы вы рассказать немного о технической составляющей процесса перерасчёта показателей? Судя по параметрам запроса, я так понимаю, что данные изначально хранятся в векторных тайлах, которым передаются значения коэффициентов, и после эти тайлы пересчитываются и возвращаются обратно, верно? Если так, то для хранения, перерасчёта и обратной визуализации тайлов используется Martin, или какая-то из этих частей выполняется PostgreSQL? Ну, это если я в целом правильно понял логику работы.
Интересное предложение, спасибо!
Что ж, тогда действительно звучит как прикрытие, очень жаль.
Первоначально была идея использовать расположение промышленных предприятий вкупе с розой ветров. Но по-хорошему тут нужно знать и выбросы предприятий, что, я уверен, не так просто найти. Да и подобным моделированием я прежде не занимался. Поэтому хотелось пойти по простому, готовому пути, и использовать данные датчиков мониторинга.
Нууу, с выбором города действительно вышла накладка)
Продолжают расширять уже за самим городом (в районе Глобуса), а всё, что до него, да, закончили. В пятницу вечером, конечно, есть пробка, думаю, как и на любом другом направлении. А в остальное время всегда свободно, хоть все допустимые 130 км/ч езжай.
Соглашусь, загрязнённость воздуха — один из важнейших показателей, влияющих на качество жизни. Несмотря на то что в статье он упомянут последним, именно с него я и начал. И был очень удивлён тому, что за последние пару лет количество источников этой информации заметно сократилось.
Тот же упомянутый вами сервис AirVoice, глядя со стороны, закрылся, так как компания перешла на полностью коммерческую стратегию и продвигает свою платформу CityAir. AirVoice в данном случае был лишь отличным демонстрационным проектом.
Не могу судить, насколько правдивы данные с геопортала Подмосковья, ибо у нас таких значительных ухудшений качества воздуха не бывает, чтобы сравнить. Но даже если данные корректны, мне показалось, что если у меня максимальное значение пяти показателей составляет 15,98% ((17 + 55,2 + 3,4 + 1,3 + 3) / 5) от ПДК, то присваивать ему 1 балл из 100 и показывать его красным цветом будет неправильно.
Однако, кажется, именно сейчас мне в голову пришла идея, как всё-таки можно отобразить разницу в пару процентов и при этом не вводить в заблуждение. Если сделаю, то отпишусь!
Боюсь, такую статистику никто не ведёт.
Часть с прямой береговой линией — это Акуловская плотина, проход по которой без пропуска запрещён. После неё лес и береговая линия пригодная скорее для жарки шашлыков и купания, нежели для прогулок. Во всяком случае в том представлении, которое я закладывал, а именно наличие благоустройства.
Здравствуйте, рассматривали ли вы в качестве навигационного движка Valhalla? Если нет, то почему? Этот движок полностью Open Source, некоммерческий, имеет возможность расчёта матриц расстояний и построения оптимизированных маршрутов.
Благодарю)
Спасибо, постараюсь ответить на ваши вопросы.
Выбор библиотеки, на мой взгляд, это отдельная тема, поэтому в рамках данной статьи я её не затрагивал. Не имею опыта работы с OpenLayers, но на мой взгляд:
Leaflet популярен ввиду своей простоты, но весьма ограничен в функциональности и зиждется на сторонних плагинах;
Mapbox функциональнее, также довольно прост и удобен ввиду прямой интеграции с их style specification, а также наличию сопутствующих сервисов, того же Studio для создания подложек, собственных векторных тайлов и их стилизации;
OpenLayers же наиболее сложная для изучения из библиотек, но и самая функциональная.
Действительно, для получения непосредственно самих объектов следует использовать протокол WFS. Однако для фильтрации и стилизации данных можно воспользоваться и более быстрым с точки зрения скорости визуализации WMTS.
На последние два вопроса затрудняюсь полноценно ответить. Если под админкой имеется ввиду некий веб-интерфейс для управления данными, то он имеется и это основной способ взаимодействия. GeoServer можно установить и через Docker.