Парсер OSM в MySQL (заказ)

Доброе время суток.
Нужно написать под заказ парсер OSM → MySQL по не совсем обычным требованиям:

Нужно получить таблицу со следующими данными:

id - автоинкримент
type - тип объекта (дом, улица, река). Область, район и т.п. не нужно, нужны именно объекты (здания, дороги, реки и т.п.)
name - имя объекта. Буть то улица, название улицы, проезда, просека… Если дом, то номер дома
lat - координаты Y
lon - координаты X

Координаты дома - центр дома, координаты улицы - центр улицы. У меня не получилось узнать центр дома-улицы, я брал просто максимальную точку улицы или дома, если же центр найти нельзя - значит записывать max точку

О цене договоримся, пишите в ЛС или оставьте свои контакты.

Огласите бюджет. А то может у вас бюджет 5 баксов… Это как бы совсем не интересно. Вообще есть парсер у меня один на гитхабе его можно вьюхами допилить если совсем денег нет

Планировал около 1000р + -.
Есть парсер, качал с гитхаба, import_from_osm_stable.sh
пытался сам допилить, но просто не укладываются у меня в голове эти Node, way и т.д.
С учетом библиотеки, я думаю работа для знающего человека не составит особого труда, или нет?

Ну хорошо, за пол цены даю вам шаблон как получить CSV, дальше уже дело техники куда это загнать, хоть в sql, хоть в excel


osmfilter.exe uly_obl.o5m --keep="waterway=river =stream" --drop-author --drop-version -o=river.o5m
osmconvert.exe river.o5m --drop-nodes --all-to-nodes -o=river.csv --csv-headline --csv="@lat @lon waterway name gvr:code"

На выходе получаем


@lat	        @lon	        waterway	name	     gvr:code
53.9653772	48.0159006	river	Свияга	08010400512112100001977
54.2311128	48.2730030	river	Свияга	08010400512112100001977
54.5191633	46.7781947	river	Сура	08010500112110000035062
54.2899170	46.6784785	river	Сура	08010500112110000035062
54.0733212	45.9206320	river	Сура	08010500112110000035062
54.2024239	46.3101475	river	Сура	08010500112110000035062
53.2851834	46.7554203	river	Сура	08010500112110000035062
54.8263314	47.5511665	stream	Большие Карлы	
54.7603611	47.5349377	river	Пакерлы	
54.3994447	47.9432442	stream	Сухой Бирюч	08010400512212100002285

Ну а за оставшиеся 500 рублей могу предложить решение как склеить разбитые на сегменты реки :wink:

Понятно я когда это написал, странно там алгоритмы довольно не страшные, а даже пытался приличный код изобразить :slight_smile:

Проблема в том тип который нужен кодируется название тега и его значением. Есть почти готовый список https://github.com/ErshKUS/Catalog-OSM/blob/master/catalog/catalog.json.

Центр полигона по тупому считается как простое средние значение точки, для большенства домов вполне сойдет, а у дорог можно просто брать точку из середины

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

В личку мыло скинул , пиши

отписал

актуально до сих пор
Saint_Byte что то не отвечает (