Инфраструктура у жилья в столице

от автора

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

Поиски и сравнения места для жительства включают в себя оценку окрестностей вокруг. А можно пойти с обратной стороны и присмотреть дома где все нужное вам по соседству. Чтобы меньше времени проводить в дороге и больше моментов жизни было с пользой.

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

Если интересуют технические подробности про обработку данных, можете почитать мои статьи здесь «Где в Москве жить «неплохо»», «Где 15 минут пешком от дома до метро в Москве», «Жилье в 500м от сетевых продуктовых магазинов в Москве.».

Источник геоданных — OpenStreetMap позволяющий любому пользователю редактировать данные, поэтому если вдруг там не обнаружили ваш любимый магазин, школу, площадку для выгула собак или вдруг жилое здание на карте в реальности является зданием магазина… Читайте документацию, хорошо подумайте о правильности ваших правок и только после этого редактируйте данные. Не относитесь просто как потребитель — улучшайте, как вы возможно уже делали в Народных картах от Яндекс. Главное отличие от Народных карт — эти данные вы можете скачивать и анализировать, в этом главная ценность которую дарит проект OSM.

В этой статье я приведу полезные запросы для поиска места жительства.

Синтаксис предикатов для поиска в официальной документации duckdb. В запросе доступны следующие колонки:

    Column     |      Type       | ---------------+-----------------+  distance      | smallint        |   categories    | text[]          |   name          | text            |   amenity       | text            |   leisure       | text            |   shop          | text            |   healthcare    | text            |   tourism       | text            |   historic      | text            |   sport         | text[]          |   education     | text            |   religion      | text            |   office        | text            |   brand         | text            |   network       | text            |   operator      | text            | 

Значения для которых можете найти в вики OSM:

Метро

  • Дома в 500м от входов в МЦК: network='МЦК' and 'transport'=any(categories) and distance <= 500

  • Дома в 500м от входов в метро: network='Московский метрополитен' and 'transport'=any(categories) and distance <= 500

  • Если вам нужено найти дома у метро или МЦК в 15 минутах ходьбы: (network='МЦК' or network='Московский метрополитен') and 'transport'=any(categories) and distance <= 1250

Магазины

  • Жилье в 1.5км от Ашана или Атак: distance <= 1500 and (shop='supermarket' or shop='convenience') and brand in ('Ашан','Ашан Сити','Атак')

  • Пятёрочка, ВкусВилл, Дикси, Магнит, Магнолия, Перекрёсток в 500м: distance <= 500 and (shop='supermarket' or shop='convenience') and brand in ('Пятёрочка','ВкусВилл','Дикси','Магнит','Магнолия','Перекрёсток')

  • Пункты выдачи distance <= 1500 and brand in ('Wildberries','Ozon')

  • Торговый центр в 1.5км от жилья:distance <= 1500 and shop='mall'

Дети и учеба

  • Детский садик у дома: distance <= 500 and amenity='kindergarten'

  • Школа рядом: distance <= 1500 and amenity='school'

  • Коледж недалеко: distance <= 1500 and amenity='college'

  • ВУЗ на районе: distance <= 1500 and amenity='university'

Кафе, рестораны и точка

  • Кафе distance <= 1500 and amenity='cafe'

  • Рестораны: distance <= 1500 and amenity='restairant'

  • Фастфуд:distance <= 1500 and amenity='fast_food'

Медицина

  • Аптека поблизости:distance <= 500 and amenity='pharmacy'

  • Поликлиника: distance <= 1500 and amenity='clinic'

  • Больница: distance <= 1500 and amenity='hospital'

  • Стоматолог рядом: distance <= 1500 and amenity='dentist'

Религия

  • Место где проводят службы: distance <= 1500 and amenity='place_of_worship'

  • Мечеть рядом: distance <= 1500 and amenity='place_of_worship' and religion='muslim'

  • Можно указать другие конфессии поблизости, например: distance <= 1500 and amenity='place_of_worship' and religion='christian' или religion=’buddhist’ religion=’jewish’ religion=’hindu’

Места для прогулок

  • Парки и сады:distance <= 1500 and (leisure='park' or leisure='garden')

  • Либо если вам все равно что на открытом воздухе: distance <= 1500 and 'outdoor'=any(categories)

Спорт

Спортцентр или фитнесс центр поблизости:distance <= 1500 and (leisure='sports_centre' or leisure='fitness_centre')

И можно уточнить какой спорт интересует distance <= 1500 and (leisure='sports_centre' or leisure='fitness_centre') and 'soccer'=any(sport) или fitness, basketball, tennis, table_tennis, running, athletics, volleyball, yoga, ice_hockey, swimming, gymnastics, hockey, skateboard, chess, futsal, football, badminton

Домашние животные

  • Площадка для выгула собак без намордников: distance <= 1500 and leisure='dog_park'

  • Ветеренар поблизости: distance <= 1500 and amenity='veterinary'

  • Приют для бездомных животных рядом: distance <= 1500 and amenity='animal_shelter'

Если не хочется жить прямо у …

Если вам не хочется чтобы что-то было рядом с домом то можете указать это в поле «Что не хотим:»

Не жить близко к инфекционной больнице или психбольнице в поле «Что не хотим:»: distance < 300 and'_specialHealthcare'=any(categories)

Дальше 100м от шумных мест «Что не хотим:»: distance < 100 and '_noisy_place'=any(categories)

Например жить не ближе 300м от метро или МЦК в поле «Что не хотим:»: distance < 300 and (network='МЦК' or network='Московский метрополитен') and 'transport'=any(categories)

Дома не дальше 1500м но и не ближе 300м от метро и МЦК

Дома не дальше 1500м но и не ближе 300м от метро и МЦК

Технологии

База данных DuckDB Wasm работает прямо в вашем браузере и запрашивает исходные данные с GitHub Pages, поэтому производительность зависит от сетевого соединения и вашего браузера. Но это же дает гибкость и возможности формулировать запросы так, как вам хочется, почти любой сложности, ведь DuckDB Wasm — полноценная аналитическая база данных. И неявное следствие из архитектуры системы — мне не нужно платить за хостинг некомерческого проекта и придумывать способы монетизации. Как следствие для вас — пользователей не будет типичной для онлайн карт бизнес модели «кто заплатил больше, того и чаще и лучше показали» а не то что искали.

Отрисовка карты происходит с помощью WebGL виджета MapLibre GL JS. Данные загружены с OpenStreetMap, предобработаны в OpenStreetMap H3 базе данных PostGIS и выгружены в parquet файлы.

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

Спасибо

Надеюсь что этот поисковик вам пригодится https://igor-suhorukov.github.io


ссылка на оригинал статьи https://habr.com/ru/articles/774516/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *