Ответы пользователя по тегу Картография
  • Имеются ли какие алгоритмы оптимизации точек на карте?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А что тут вообще сложного? Просто находите точки, угол между ребрами в которых ближе всего к 180 градусов. Их можно удалять. Угол между векторами считается просто, легко погуглить.
    Еще можно отправить ключевые точки в Построитель маршрута типа osrm и он выдаст красивую геометрию маршрута по дорогам.
    Ответ написан
    Комментировать
  • Оффлайн карта с открытым исходным кодом?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Извлекаете с помощью overpass turbo необходимые вам данные. Если объём отфильтрованных данных получится небольшим (а тут уж всё зависит от того, какой объём вам-таки нужен), то можете выгрузить всё в GeoJSON и отображать его на каком-нибдуь leaflet или аналогичных виджетах. Можно пойти инфм путём, и отренедрить себе карту в тайлы, которые можно положить локально и отображать таким же виджетом, но у уже в виде растра. Если вам нужна более насыщеная геоданными карта, то, возможно, этот формат будет даже компактнее и проще.
    Если у вас есть опыт в ГИС, то для вас не составит труда разобраться с overpass turbo, для остального нужны навыки программирования на js.
    Ответ написан
    Комментировать
  • Как можно получить карту мира ввиде одного или нескольких изображений с максимальной детализацией?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Простешие арифметические вычисления вам бы показали, что единственное векторное изображение с таким количеством деталей вы ничем не сможете открыть и отрендерить.
    Растровое изображение тоже скорее всего превысит допустимые размеры популярных форматов, но даже изображения, близкие к максимальным по размеру уже будут открываться и отображаться очень долго даже на современном оборудовании.
    И это ещё речь незаходила об объёме картинки такого размера и с такой детализацией.
    Именно поэтому все современные картографические программы и сайты работают не с цельным изображением, а с тайлами: квадратными (обычно) картинками, векторными или растровыми, которые стыкуясь друг с другом ормируют фрагмент карты, который в данный момент виден на экране.

    Если бы действительно стояла такая абсурдная задача, то имело бы смысл, чтобы она стала хоть немного реалистичнее, разбить, всё же, всю карту на большие куски и рендерить их отдельно.
    Тут есть два подхода:
    1) можно качать готовые тайлы и клеить из них тайлы побольше. Есть много источников, многообразие которых можно оценить с помощью ресурса https://nakarte.me/. Это, кстати, opensource-прокт и его исодники доступны на гитхабе.
    Качать тайлы можно с помощью проги SAS planetа - www.sasgis.org/sasplaneta
    2) Самостоятельно рендерить карты загрузив и отфильтровав дамп БД OSM. Это более сложный путь, но он реализцется на готовых и вплне рабочих компонентах (за исключением абсурдного и нереализуемого требования про рендер в единый файл).

    Вы бы подробнее рассказали чего хотите добиться и для чего, а вам бы тут объяснили пределы возможного и целесоообразность разных попыток реалиации этого, а ещё как лучше делать то, что вы в итоге на самом деле хотите.
    https://habr.com/ru/post/270513/
    Ответ написан
    Комментировать
  • Какой движок лучше выбрать для выбора местоположения на JS?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вот здесь есть подборочка геокодеров: https://gisgeography.com/geocoders/
    А так берите любой, который вам по бесплатным лимитам подходит, если подходит.
    Ответ написан
    1 комментарий
  • Какой сервис можно использовать для построения маршрута по нескольким точкам по времени?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Делал похожее на базе вот этого проекта:
    project-osrm.org
    Он опенсорс и я разворачивал инстанс сервиса у себя в докере.
    Можно настроить граф дорог под себя с помощью lua-скриптов. Источник геоданных - OSM.
    Ещё у яндекса есть сервис, но он латный, хотя, говорят, неплох и умеет учитывать пробки.
    OSRM тоже умеет учитывать пробки, но ему CSV с пробками надо как-то подсовывать извне.
    Ответ написан
    Комментировать
  • Какие существуют бесплатные сервисы для расчета расстояний между координатами на карте?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Зачем вам сторонние сервисы? Если на входе координаты, то можно использовать локально либу https://gdal.org/
    Если точки уже в постгресе, то поставьте postgis и там все необходимые функции прямо в базе. Хоть на лету считайте, хоть агрегируйте.
    Могу написать вам лично такой веб-сервис незадорого=)
    Ответ написан
    1 комментарий
  • Можете подсказать сервисы по картам и геопозиции?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Ответ написан
    Комментировать
  • Какой сервис выбрать для расчета маршрута и как создать собственный сервис с интерактивными картами?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    По требованиям все кроме третьего пункта (про стоимости) умеет osrm. К нему же идёт опенсорсный фронтенд, который можно допиливать.

    В обоих ваших вариантах вы написали какую-то чушь.
    Тайловый рендер разворачивается в докер-контейнере за 5 минут. Как и osrm. Сложно будет настроить все это под ваши хотелки, но можно.
    Бд - postgis. Есть тулза, которая импортит снапшот osm данных: https://wiki.openstreetmap.org/wiki/Osm2pgsql
    Можете придумать или поискать тег для указания стоимости проезда по дороге и везде проставить. По построенному osrm маршруту потом дополнительным запросом к бд можно вытащить дороги с ценами
    Ответ написан
    Комментировать
  • Как эффективно находить общие сегменты полигонов?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    В postgis (ГИС-расширени для постгреса) это сделано очень эффективно. Загляните в исходники, они открыты. Ещё я не вижу смысла изобретать дендрофекальный велосипед, когда есть GDAL.
    Задача-то не тривиальная. Линии вашей геометрии могут отличаться незначительно, могут не лежать на одних и тех же наборах точек, могут быть разнонаправлены, что порой важно.
    Ответ написан
    Комментировать
  • Как закрасить зоны на карте России?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Можно воспользоваться overpass-turbo.eu/, чтобы отфильтровать из данных OSM то, что вам нужною Вот рассмотрены примеры запросов. Там есть экспорт в kml, geojson и другие форматы.
    Подрисовать что-то и наглядно поредактировать можно в онлайн-редакторе GeoJSON. Этот формат позволяет раскрашивать полигоны и линии, делать маркеры. Примеры гуглятся легко. Кроме того, geojson легко обрабатывать программно.
    Что-то более сложное имеет смысл делать в QGIS.
    Ответ написан
    Комментировать
  • Сервис для создания своих карт?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    В QGIS можно сделать самую обычную карту как с нуля, так и взяв куски из OSM.
    Ответ написан