Почему в OSM нет окружностей и кривых хотя бы второго порядка?

Рисование кругового движения, беговых дорожек (на стадионах которые), круглых зданий (труб на ТЭЦ), рисование некоторых развязок, скажем.

Ну вот нефтебазу рисовал только что: http://www.openstreetmap.org/?lat=56.098647&lon=94.566885&zoom=18&layers=M

Там на территории есть ёмкости круглые. Тратить 30 точек чтобы они действительно выглядели круглыми жалко. Да и придётся забыть о 3D-рендере типа как у знаменитых карт Шанхая. А вот координаты + радиус было бы замечательно.

Кривыми можно было бы изображать кривые дороги - алгоритмы приведения ломанной в кривую имеются. Точки будут экономиться при этом а качество изображения наоборот возрастёт.

при этом на порядок вырастет нагрузка на сервер и сложность системы в целом.
принудительным округлением дорог занимается слой osmarender — по твоей же ссылке можно переключиться и посмотреть

Он по трём точкам не в состоянии сделать окружность.

Не пофиг ли? Серверы в наше время дешевле картофеля :slight_smile:

Если использовать кривые 2 порядка то не особо - они не могут пересекать сами себя и места их пересечений легко находятся по простой формуле.

Про 3 порядок не знаю, но судя по тому что во всех программах векторной графики элемент “кривая” давно стал стандартом проблем с ними нет.

(я не настоящий сварщик, просто знания остались со времён когда делал 2D физический движок на кривых 2 порядка. Это чтобы фигуры были плавные а не ломанные как обычно)

Не путай сервер, который рисует 5-10 круглых труб, с сервером, который должен обслуживать миллиарды объектов для сотен тысяч пользователей.

я имею в виду сложность для пользователей: нарисовать отрезок сможет каждый, управиться с касательными кривых — нет.
и сложность структуры данных: вводится новый тип, который никто не поддерживает, необходимость которого спорна и алгоритмы использования сложны.

А OSM уже непрост для “простого пользователя”. Просто вы тут давно и не заметили этого. :slight_smile: Куча правил, тэгов, мультиполигоны разные там…

Хотя бы окружности бы…

У конкурирующих проектов нет окружностей. Наверное, это неслучайно…

Лучше поставьте к JOSM плагин СommandLine, там вам и окружности, и кривые Безье, и всё, что еще напишите.
Аппроксимированные до ломаных, конечно :3

(JOSM у меня в дебиане не заработал. Ни какая версия.)

Да точек же много потратится и навигатор будет тормозить. Так то эти бочки никому не нужны, просто для ориентира и на будущее для 3д карты :slight_smile: И хотелось бы чтобы было понятно что это бочки и они круглые.

Ответ на исходный вопрос понятен.

поставь сановскую джаву (и снеси openjdk, одни проблемы от неё).
правда, не знаю, в каком она репозитории.

Она на сайте оракла - там бинарники установщика емнимп.

Лично я за Безье на неопределённое (но не слишком далёкое) будущее. Там поди и процы в навигаторах подтянутся, смогут их живьём рисовать.

Если он от этого тормозит - то от введения кривых он станет тормозить тем более. :slight_smile:

Не факт.

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

Факт.
Вы знаете хоть один алгоритм быстрого рисования Безье?

Не, ну это несерьезно. Для навигаторов всё равно придется аппроксимировать до ломаных, а это делается в ходе конвертации. Да и времени занимает миллисекунды.

Что касается отрисовки во всевозможных движках, то вы, кажется, забыли, что, к примеру, любая надпись - это сотни и тысячи кривых Безье в шрифтах.

Hind, шрифты в реалтайме нигде не генерятся

Здрасьте! Ну а когда же?
В TTF как раз кривые лежат. Пока SelectObject в нужный hdc не случится, никакой растеризатор шевелиться не будет! Мало ли кто какого размера закажет буковки.
Я думаю, что нынче вообще всё отложено до TextOut, ибо букв в уникодовском шрифте больно много может оказаться чтобы все разом растеризовать.