Подумываю о создании бота. Есть какие-нибудь материалы/примеры для ознакомления?
Хочу понять общие принципы работы - он просто по API дергает квадраты и вносит изменения или есть более хитрые и более правильные идеи?
Это зависит от того, ДЛЯ ЧЕГО этот бот
А самая правильная идея - обрабатывать диффы
да, мысль уже заработала дальше, видимо достаточно будет оффлайн обработки JOSM’ом и последующей заливки почищенного файла. Диффы возьму на карандаш
А нужно изрядно почистить дорожный граф.
Что он будет делать? И на чем Вы будете его писать? Могу помочь с С++ и php…
Вот уже выкладывал наработки: php и C++
Это исходнички, которые позволяют отправлять запросы на сервак из кода и получать ответы… возможно пригодятся.
Посмотрите, кстати, на пример встраивания питона, если интересно.
Пишется очень просто. Можно писать хардкорную часть на С++, а управлять ей скриптами на питоне… т.е. менять алгоритмы на лету без перекомпиляции программы. Правда, желательно чтобы часто вызываемый код был реализован на С++.
Можно “опитонивать” классы, функции и т.д. легким движением руки)
// например так приручаем С++ класс Way
py_namespace["Way"] = class_<Way>("Way")
.def_readwrite("id", &Way::id)
.def_readwrite("visible", &Way::visible)
.def_readwrite("user", &Way::user)
.def_readwrite("timestamp", &Way::timestamp)
.def_readwrite("closed", &Way::closed)
.def_readwrite("refIds", &Way::refIds)
.def_readwrite("tags", &Way::tags);
x10kHz, спасибо, наверняка пригодятся.
Задумал править дорожную сеть в Штатах. Там после Tiger’а сущий кошмар - наложение сегментов дорог и, самое распространенное, узлов пересекающихся дорог. Вот обдумываю наиболее простые подступы к решению задачи
В таком случае проще сносить (безграмотно) импортированные данные и перезаливать обработанные исходные шейпфайлы заново.
Не думаю. Там есть полезная особенность - все совпадающие узлы/дороги действительно строго совпадают. Насколько я понимаю, их удастся пофиксить на 98% в автоматическом режиме.
Вот такой вопрос родился: если из файла, сгенерированного JOSM’ом, вырезать все элементы, кроме помеченных “modify”, полученный файл можно будет заливать на сервер?
В конце этой страницы есть программа Merge
http://wiki.openstreetmap.org/wiki/WikiProject_Corine_Land_Cover/Corine_Data_Import
Если бы она была на с++, то ей даже можно было бы пользоваться