Рендеринг дорожных знаков?

Собственно, вопрос - он есть где-нибудь? Хотелось бы видеть осм.орг полноценным дорожным атласом, а сейчас даже обозначенные рестрикшены поворотов не видны, какой от них толк тогда.

Лол. Рестрикшены применяются для роутинга - прокладки маршрутов навигаторами и другими полезными штуками.

В чём тут лол-то? Рестрикшен отражает существующие знаки. Наличие рендерера, который бы рисовал знаки по рестрикшенам, не помешало бы (Hint: пользоваться данными из OSM могут не только обладатели навигаторов и других полезных штук).

Я тоже за то, чтобы рисовались знаки! :slight_smile: Понимаю, что это трудно, и не всем нужно (хотя всем нужно разное) но приятнее видеть отдачу от того, что делаешь. Те элементы, которые не рендерятся, рисовать не интересно :slight_smile:

Рад, что меня поняли.

Интересно, откуда картинки из статьи в вики? Эта функция когда-то была, но теперь убрана?

В порядке мечтаний добавлю, что полезно было бы сделать знаки (а также светофоры, паркинги, заправки и пр.) векторными объектами с возможностью управлять их отображением, в частности заправок не видно, пока в упор не приблизишь карту - неудобно.

Mikado,
в редакторе Merkaator можно настроить очень красивые стили по своему усмотрению

Необязательно. Например, на дороге есть разделитель. В каком-то месте в этом разделителе разрыв, возле него знак “движение только прямо”, но на карте мы просто не рисуем там место для разворота.

Хм. Почему не рисуем? Я лично в таких ситуациях до сих пор рисовал и ставил рестрикшен. Разрыв-то (дорога, проезд) на местности есть - он должен быть нарисован на карте. Откуда вы знаете, может картой будут пользоваться водители дорожной техники (с жёлтыми мигалками которая :)), которым, как известно, можно отступать от ряда требований правил дорожного движения.

Действительно. Спасибо. Но это немного не то, редакторы крайне неудобны для просмотра.

да и josm рисует отношения запретов. (точнее, отношения разрешений))), не только Меркаатор.

Mikado, это должен быть какой-то энтузиаст с рендерером – те же CloudMade, или CycleMap – активисты рисования с мощностями. Да и рисовать их придётся наверно на уровне 18, не меньше.

Кстати, насчёт ограничений - в wiki написано, что для знаков 3.2-3.8 нужно использовать =no. Но по нашим ПДД вроде как больше подходит =destination.

Кстати, частенько на трёхсторонних перекрёстках, вместо only_right_turn ставят no_left_turn, понятно, при отсутствии червёртого луча “прямо” роутинг туда не возможен, и навигационные программы всё правильно делают, но в жосме бредово смотрится иконка на таких перекрёстках “прямо и направо” при отсутствии направления “прямо”.

Стоит ли переправлять такое?

А no_left_turn запрещает разворот?!? Ой-ой-ой.

Ну у нас в России не запрещает. А какой роутинг запрещает?

Вроде нашёл то, что надо: OpenLayers Dynamic POI. Суть вкратце - на готовые тайлы mapnik накладывать маркеры-POI. Остаётся вопрос рендера маркеров под углом (перпендикулярно вею/рубашкой к перекрёстку), но это, кажется, решаемо прямо в браузере при помощи CSS (-moz-transform, DXImageTransform).

Есть у кого-нибудь желание разобраться?

В Фаерфоксе. А как же остальные браузеры? Для кроссбраузерности все же прийдется JS пользовать.

До кроссбраузерности не хватает только оперы, все остальные поддерживают transform в какой-либо форме. Но это неважно пока.

Дёрнул сейчас рестрикшены из родного городка через XAPI:
http://www.informationfreeway.org/api/0.6/relation[type=restriction][bbox=30.56,59.75,30.62,59.73]
Сыплется довольно много мусора - сломанные релейшены с несоединёнными частями, отсутствующими ролями и т.п.

Но по сути стало понятно, что можно даже обойтись без своей кэш-базы, а прямо javascript-ом искать знаки на просматриваемой области и отрисовывать.

Если есть возможность легко вычислить на сервере необходимый угол поворота - лучше вместо marker-ов использовать vector features, там это легко задать параметрами отображения. Вот пример:

http://dev.openlayers.org/releases/OpenLayers-2.8/examples/styles-rotation.html

Сергей, спасибо за инфу.

Кстати, появились мысли о недостаточности типов рестрикшенов. Всё-таки no_left_turn должен быть отличим от only_straight_or_right, которого как бы нет. Разумеется, если использовать свой визуализатор, то можно игнорировать документацию и создавать любые теги, но по хорошему надо бы это в proposed features.

Недостаточно не типов рестрикшенов (их всего два - no_* и only_*), а значков.
Имхо, если бы была возможность указать тип значка (a или b из примеров в вики), это полностью покрыло бы потребности в картографировании.