Иван Бирюков
Заказчик Иван Бирюков Pilos | FL.RU

Иван Бирюков

На сайте 17 лет и 8 месяцев (заходил 1 год 7 месяцев 22 дня назад)
6
1085.55
Рейтинг
1085.55
Все (1)       Заказы (1)        Вакансии (0)       Конкурсы (0)
Разместить заказ
12 Ноября 2021
Есть OpenSource-скрипт osm2geojson-lite ( github.com/tibetty/osm2ge... ) – он сейчас написан на JavaScript (TypeScript).

Данный скрипт производит конвертацию JSON-объекта OpenStreetMap Element в формат GeoJSON (географический полигон).

Вкратце логика работы: скрипт проходится по всем линиям (members type=way) в исходном объекте, находит линии с совпадающими координатами начала и конца, замыкает их, далее ищет замкнутые круги и объединяет их в полигон (MultiPolygon), добавляет туда точки (members type=node) и оформляет это в формат GeoJSON.

Нужно взять уже реализованную логику работы этого скрипта и переписать её
на языке PHP либо аналогичным образом как в JS либо более оптимальным алгоритмом.

Необходимо реализовать обработку входящих данных только в формате JSON, поэтому функцию analyzeFeaturesFromXml (90 строк) и код из файла "xmlparser" (180 строк) можно не переписывать вообще, итого остаётся около 700 строк.

Входящие данные для обработки – это json_decode ответа сервиса Overpass (overpass-turbo.eu/) с элементами карты OpenStreetMap. На выходе нужно получить PHP-объект в формате GeoJSON.

Проверить итоговый GeoJSON с валидацией можно тут: geojsonlint.com/

Также можно просто построчно сравнить результат обработки JS-версии и PHP-версии, они должны совпадать.

Есть ещё один аналогичный скрипт github.com/tyrasd/osmtoge... но он работает в разы медленнее и код менее читаемый, так что лучше базироваться на osm2geojson-lite.

Более подробная информация – в приложенном PDF-файле с техническим заданием.

Прошло времени с момента публикации: 4 года 7 месяцев 2 дня 10 часов 54 минуты
Раздел: Сайты / Веб-программирование
Рейтинг: 17285.6 Исполнитель определен:
Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».