OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2011-03-11 12:55:19

denizzz
Member
Registered: 2011-03-09
Posts: 133

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

Удобно было бы чертить некоторые вещи.

(Если нужно для кривых второго порядка могу передать в public domain алгоритмы поиска пересечений на C++, хотя там ничего сложного, в общем то.)

Offline

#2 2011-03-11 13:10:45

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,446
Website

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

denizzz, где конкретно "в OSM" их не хватает?

Offline

#3 2011-03-11 13:16:57

VikDD
Member
From: RU, Moscow-Yaroslavl
Registered: 2010-04-21
Posts: 1,867

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

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

Last edited by VikDD (2011-03-11 13:17:17)

Offline

#4 2011-03-11 13:20:15

denizzz
Member
Registered: 2011-03-09
Posts: 133

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

liosha wrote:

denizzz, где конкретно "в OSM" их не хватает?

Ну вот нефтебазу рисовал только что: http://www.openstreetmap.org/?lat=56.09 … 8&layers=M

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

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

Offline

#5 2011-03-11 13:23:56

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,641
Website

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

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


ШТОСМ | josm.ru | обо мне | где господствует любовь, там отсутствует воля к власти

Offline

#6 2011-03-11 13:30:50

VikDD
Member
From: RU, Moscow-Yaroslavl
Registered: 2010-04-21
Posts: 1,867

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

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

Offline

#7 2011-03-11 13:37:47

denizzz
Member
Registered: 2011-03-09
Posts: 133

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

Zverik wrote:

при этом на порядок вырастет нагрузка на сервер

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

и сложность системы в целом.

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

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

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

Offline

#8 2011-03-11 13:46:47

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,690
Website

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

denizzz wrote:

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

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

Offline

#9 2011-03-11 14:04:01

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,641
Website

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

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


ШТОСМ | josm.ru | обо мне | где господствует любовь, там отсутствует воля к власти

Offline

#10 2011-03-11 14:40:28

denizzz
Member
Registered: 2011-03-09
Posts: 133

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

Zverik wrote:

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

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

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

Offline

#11 2011-03-11 14:46:11

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,690
Website

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

denizzz wrote:

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

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

Offline

#12 2011-03-11 14:49:48

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,949

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

denizzz wrote:

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

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

Last edited by Hind (2011-03-11 14:50:32)

Offline

#13 2011-03-11 14:53:47

denizzz
Member
Registered: 2011-03-09
Posts: 133

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

Hind wrote:
denizzz wrote:

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

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

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

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

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

Last edited by denizzz (2011-03-11 14:54:17)

Offline

#14 2011-03-11 14:57:52

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,641
Website

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

denizzz wrote:

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

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


ШТОСМ | josm.ru | обо мне | где господствует любовь, там отсутствует воля к власти

Offline

#15 2011-03-11 15:00:53

dkiselev
Member
Registered: 2010-02-09
Posts: 3,363

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

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


mail: dkiselev@osm.me      skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!

Offline

#16 2011-03-11 15:01:06

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

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

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

Offline

#17 2011-03-11 15:12:34

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,596

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

denizzz wrote:

Да точек же много потратится и навигатор будет тормозить.

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

Offline

#18 2011-03-11 15:38:41

denizzz
Member
Registered: 2011-03-09
Posts: 133

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

Sergey Astakhov wrote:
denizzz wrote:

Да точек же много потратится и навигатор будет тормозить.

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

Не факт.

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

Offline

#19 2011-03-11 17:08:33

andriano
Member
Registered: 2009-06-15
Posts: 1,667

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

denizzz wrote:
Sergey Astakhov wrote:

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

Не факт.

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

Offline

#20 2011-03-11 17:30:32

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,949

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

andriano wrote:

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

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

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

Offline

#21 2011-03-11 17:55:39

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,446
Website

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

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

Offline

#22 2011-03-11 18:13:10

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 8,323

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

liosha wrote:

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

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

Offline

#23 2011-03-11 19:46:49

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

как это нет? В OSM есть дуги, а вот прямых как раз и нет. Автора темы попрошу не забывать, что у нас вся геометрия на сфере и даже для прямые не так просто обрабатывать. Для начала попрошу написать, скажем, вычисление длины кривой второго порядка на сфере. Или расстояния между двумя кривыми. Попадания точки в многоугольник с кривыми ребрами.
И еще концепцию, как надо переводить кривую из одной системы координат в другую. Это самая прикольная часть.

Last edited by Alexey Guseynov (2011-03-11 19:49:42)

Offline

#24 2011-03-12 12:56:48

wildMan
Member
From: Minsk
Registered: 2008-03-05
Posts: 509

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

Alexey Guseynov wrote:

как это нет? В OSM есть дуги, а вот прямых как раз и нет. Автора темы попрошу не забывать, что у нас вся геометрия на сфере и даже для прямые не так просто обрабатывать. Для начала попрошу написать, скажем, вычисление длины кривой второго порядка на сфере. Или расстояния между двумя кривыми. Попадания точки в многоугольник с кривыми ребрами.
И еще концепцию, как надо переводить кривую из одной системы координат в другую. Это самая прикольная часть.

злые вы... я планировал это странице на третьей сказать smile такую тему прибили на взлёте smile


--
OSMF BY Team

Offline

#25 2011-03-13 09:14:34

Surly
Member
From: Екатеринбург
Registered: 2009-09-17
Posts: 819

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

denizzz wrote:

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

Я думаю, вам поможет это: proposal «Геометрия». С помощью этого отношения вы можете обозначить, что линия на самом деле является не замкнутой ломаной, а настоящей окружностю.

Offline

Board footer

Powered by FluxBB