OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2009-06-12 09:53:36

alexsaf
Member
From: SPB
Registered: 2009-05-16
Posts: 125

Рендеринг в малонаселенных районах

Очень характерная для России ситуация - хутор из нескольких домиков, очень плохая дорога, да еще тропы и просеки и все - на десятки (а где-нибудь на Алтае может быть и на сотни) километров вокруг больше ничего нет.

Если ставить теги как описано в Вики (place=hamlet, highway=track/path ) то на больших масштабах карта превращается в белое пятно. (ну или - в белое-зеленое - если лес прорисован smile )
Хуторов или турбаз совсем не видно, а пешеходную тропу целиком не рассмотреть.

Все способы искусственного поднятия уровня обьекта ( когда козьей тропе ставят highway=unclassified, а охотничьей избушке place=town smile ) - по сути неправильны.


Вопрос - возможно было бы разумным ввести специальный тэг заставляющий рендерер поднять на определенное количество ступеней отрисовку всех обьектов в заданном полигоне,
или для одиночного обьекта.


Что-то вроде render:escalation_level

что думаете - насколько это хорошее решение?

Offline

#2 2009-06-12 10:09:09

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

Re: Рендеринг в малонаселенных районах

имхо, рендерер должен бы сам повышать уровни объектов в разреженных областях

Offline

#3 2009-06-12 10:57:42

alexsaf
Member
From: SPB
Registered: 2009-05-16
Posts: 125

Re: Рендеринг в малонаселенных районах

liosha wrote:

имхо, рендерер должен бы сам повышать уровни объектов в разреженных областях

Хорошо бы так!

Но судя по тому, что ни один из известных мне рендереров этого не делает (и Garmin в том числе) - видимо это не так легко реализовать.

Offline

#4 2009-06-12 15:29:07

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

Re: Рендеринг в малонаселенных районах

В режиме карты вверху справа "моёимя|домой|входящие(0)|выход", а в потлатче "моёимя|home|входящие(0)|выход". Недоперевод?

Offline

#5 2009-06-12 20:26:58

coolkaas
Member
From: RU, Penza
Registered: 2009-05-28
Posts: 2,294

Re: Рендеринг в малонаселенных районах

Ilis, оффтоп это называется:) самый махровый.
С одной стороны, сам рендерер не верю, что когда-то будет так глобально смотреть на карту и поднимать приоритет прорисовки мелких объектов. С другой стороны, любые теги элитарности будут соблазнять отдельных представителей общественности возможностью утяжелить общие масштабы своими местечковыми подробностями. Или это должен делать совет доверенных модераторов. Скажем, одобрять или отклонять такие теги, проставленные осмерами.
Хотя, вот как по мне, масштабы от 5 до 8-9 представлены крайне скудно. Сравнить можно, да хоть с той же гугль-картой. Там масштабы 6-8 весьма юзабельны, у нас же полный бланк. Только по Москве да транкам и прикидываешь, где нужный город, для дальнейшего укрупнения.

Offline

#6 2009-06-12 21:18:51

zgremlin
Member
Registered: 2008-07-31
Posts: 332

Re: Рендеринг в малонаселенных районах

coolkaas wrote:

Ilis, оффтоп это называется:) самый махровый.

Он просто ошибся темой. Т.к. это замечание к  Перевод сайта OpenStreetMap.org... т.е. да, самый, что ни на есть, классический оффтоп wink

coolkaas wrote:

С одной стороны, сам рендерер не верю, что когда-то будет так глобально смотреть на карту и поднимать приоритет прорисовки мелких объектов. С другой стороны, любые теги элитарности будут соблазнять отдельных представителей общественности возможностью утяжелить общие масштабы своими местечковыми подробностями. Или это должен делать совет доверенных модераторов. Скажем, одобрять или отклонять такие теги, проставленные осмерами.

Во первых есть кое-что, что мог бы и рендерер (или конвертор) продумать - например смотреть на масштабы полигонов и по ним выбирать максимальный уровень. А то уровень на котором виден водоем один и для пруда в десятки м^2 и для озера в сотни км^2.  Кстати, можно и "разреженность" предусмотреть (хоть это и потребует серьезных вычислительных затрат на поиск) - так для населенных пунктов можно задавать (для типа в конверторе) в какой радиусе не должно быть таких-же или более значимых н/п, чтобы на данном масштабе его отобразить. Ну и задавать и учитывать admin_level: может хутор из трех дворов - райцентр, тогда его можно на уровень/другой приподнять.
Во вторых хинтинги предпочтительного масштаба могут быть как в явном виде (например число метров на точку или дюйм), что действительно чревато (хоть и очень соблазнительно), так и менее явные. К примеру хочется иметь возможность для остановок (а особенно выходов из метро) задавать некое множество точек по которому считать (можно и с весами) среднюю точку,  которую и показывать на некотором уровне, когда не отображается вся стая. Еще можно придумать для объектов признак значимости (к примеру двор/квартал/микрорайон/городской район/.../международный)... тогда можно отображать межобластные зимники на севере (не знаю гипербола это или реальность) на уровне, на котором Московские secondary давно скрыты.

coolkaas wrote:

Хотя, вот как по мне, масштабы от 5 до 8-9 представлены крайне скудно. Сравнить можно, да хоть с той же гугль-картой. Там масштабы 6-8 весьма юзабельны, у нас же полный бланк. Только по Москве да транкам и прикидываешь, где нужный город, для дальнейшего укрупнения.

Кстати, если я на ошибаюсь, то начиная с какого-то уровня в мапнике используются шейпы с грубой картой (очень хорошо видно, как при очередном уменьшении масштаба? появляют полигоны населенных пунктов? не имеющие ничего общего с более подробными.

Offline

#7 2009-06-12 21:34:51

Upliner
Member
From: Kyiv
Registered: 2008-09-18
Posts: 844

Re: Рендеринг в малонаселенных районах

А то уровень на котором виден водоем один и для пруда в десятки м^2 и для озера в сотни км^2.

Да, ещё меня раздражает, что waterway=riverbank ну рендерится на мелких масштабах и получается вообще бред: цепь мелких озёр в пойме реки видна, а сама река -- нет. Поэтому для крупных рек(Волга, Ока) я всегда использую комбинацию natural=water waterway=riverbank. Да и думаю уровень waterway=river можно было бы и повыше сделать... что же наши разработчики так реки-то не любят? Даже ирригационные каналы шире рек рендерятся...

Last edited by Upliner (2009-06-12 21:40:48)


Big cat is watching you

Offline

#8 2009-06-12 21:37:28

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

Re: Рендеринг в малонаселенных районах

zgremlin wrote:

продумать - например смотреть на масштабы полигонов и по ним выбирать максимальный уровень. А то уровень на котором виден водоем один и для пруда в десятки м^2 и для озера в сотни км^2

опять же вопрос: по каким правилам распределять?

Offline

#9 2009-06-13 01:36:29

alexsaf
Member
From: SPB
Registered: 2009-05-16
Posts: 125

Re: Рендеринг в малонаселенных районах

liosha wrote:
zgremlin wrote:

продумать - например смотреть на масштабы полигонов и по ним выбирать максимальный уровень. А то уровень на котором виден водоем один и для пруда в десятки м^2 и для озера в сотни км^2

опять же вопрос: по каким правилам распределять?

Можно конечно и правила для рендерера придумать - скажем взять за основу площадь обьекта в процентах от квадрата отрисовки. Скажем если > 5% - рисуем.
Но только все это приведет к дополнительным затратам - на каждом уровне для каждого обьекта посчитать площадь , учесть тип объекта и принять решение рисовать - или нет.

Или придется где-то хранить таблицу со списком отрисовываемых объектов для каждого квадрата на каждом уровне, и как-то ее обновлять.


Но с точечными объектами  не имеющими площади так не поступишь, тут придется считать расстояния между ними при отрисовке и как-то решать, что добавить а что - нет.

PS Кстати - с водой osmarender похоже работает грамотнее чем mapnik.

Last edited by alexsaf (2009-06-13 02:02:39)

Offline

#10 2009-06-13 05:54:33

zgremlin
Member
Registered: 2008-07-31
Posts: 332

Re: Рендеринг в малонаселенных районах

liosha wrote:
zgremlin wrote:

продумать - например смотреть на масштабы полигонов и по ним выбирать максимальный уровень. А то уровень на котором виден водоем один и для пруда в десятки м^2 и для озера в сотни км^2

опять же вопрос: по каким правилам распределять?

Просто прописать в конфиги конвертора, мол от такой до такой площади озера -- рисовать до такого-уровня.
А далее дело настройки, как правильно задать ... да вообще будет как в армии: хоть безобразно, зато однообразно wink

alexsaf wrote:

Можно конечно и правила для рендерера придумать - скажем взять за основу площадь обьекта в процентах от квадрата отрисовки. Скажем если > 5% - рисуем.
Но только все это приведет к дополнительным затратам - на каждом уровне для каждого обьекта посчитать площадь , учесть тип объекта и принять решение рисовать - или нет.

Так какая разница, 0.1 или 0.5 сек/тайл потратит мапник.

alexsaf wrote:

Или придется где-то хранить таблицу со списком отрисовываемых объектов для каждого квадрата на каждом уровне, и как-то ее обновлять.

Можно и так, а можно и вообще в основную базу заносить..
Но, все равно для офф-лайнового рендерера не столь критична трудоемкость, а любой он-лайновый сперва преобразует xml во что-то более подходящее, на этом этапе и стоит све распределения по слоям делать.

alexsaf wrote:

Но с точечными объектами  не имеющими площади так не поступишь, тут придется считать расстояния между ними при отрисовке и как-то решать, что добавить а что - нет.

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

Offline

#11 2010-09-13 11:43:58

osmisto
Member
Registered: 2010-06-16
Posts: 633
Website

Re: Рендеринг в малонаселенных районах

Я уже представил это в работе, когда на больших масштабах в левой части РФ будет Москва, Питер, Новосибирск и магистрали M-XY, а справа х. Нижний, х. Правый и пунктирные "транки" smile

Last edited by osmisto (2010-09-13 11:45:00)

Offline

#12 2010-09-13 12:26:41

siberiano
Moderator
From: Novosibirsk
Registered: 2010-02-25
Posts: 1,003
Website

Re: Рендеринг в малонаселенных районах

osmisto, На картах СССР были такие посёлки как Диксон, Дудинка, Анадырь и Уэлен, потому что на Таймыре и Чукотке они - одни на сотни км. Всё правильно.

Я когда-то делал карту аэронавигации на SVG, там просто в густо заселённых районах уменьшал пороговые масштабы на какие-то коэффициенты. А чтобы системно это делать - надо фильтровать все объекты по их размерам при помощи алгоритма Рамера-Дугласа (что сжалось в точку - отбрасывать), а человеческое, то есть не природное - показывать сколько влезает в карту в масштабе. То есть на тайл не более N объектов.

Собственно, по такому принципу моя карта и работала, только без Рамер-Дугласовского алгоритма: у слоёв были приоритеты, и пока не достигнут предел кол-ва точек на единицу площади, они добавлялись в карту.

Last edited by siberiano (2010-09-13 16:33:23)

Offline

#13 2010-09-13 12:37:02

gps-Max
Member
Registered: 2010-01-12
Posts: 736

Re: Рендеринг в малонаселенных районах

Опечатку в названии темы поправьте, плиз - "рендеринг".

Offline

#14 2010-09-13 12:57:13

Zkir
Member
From: Хрустальная Москва
Registered: 2009-02-21
Posts: 6,092

Re: Рендеринг в малонаселенных районах

gps-Max wrote:

Опечатку в названии темы поправьте, плиз - "рендеринг".

Грамар-наци атакуют!


Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.

Offline

#15 2010-09-13 13:07:18

gps-Max
Member
Registered: 2010-01-12
Posts: 736

Re: Рендеринг в малонаселенных районах

Граммар с двумя м :-))

Offline

#16 2010-09-13 13:30:44

one_half_3544
Member
Registered: 2009-02-24
Posts: 771

Re: Рендеринг в малонаселенных районах

siberiano wrote:

osmisto, На картах СССР были такие посёлки как Диксон, Дудинка, Анадырь и Уэлен, потому что на Таймыре они - одни на сотни км. Всё правильно.

Они и сейчас так отображаются. По крайней мере я вижу их на современной карте масштаба 1:5 500 000.

Offline

#17 2010-09-13 23:33:26

gps-Max
Member
Registered: 2010-01-12
Posts: 736

Re: Рендеринг в малонаселенных районах

Когда на карте нет объектов, можно поднять снизу менее важные и интересные вещи, лишь бы белые пятна закрыть.
http://www.openstreetmap.org/?lat=59.03 … 8&layers=M
От конвертера, конечно, требуется интеллектуальность в этом вопросе. Мапник худо-бедно пока справляется, хотя научить его(и не только его) поднимать одинокие северные поселки было бы тоже неплохо.

Offline

#18 2010-09-14 06:32:25

gogast
Member
From: Москва, Черёмушки
Registered: 2010-08-16
Posts: 74

Re: Рендеринг в малонаселенных районах

вообще дорога до посёлка - unclassified независимо от качества покрытия... и будет отображаться на более менее больших масштабах
http://www.openstreetmap.org/?lat=55.25 … 0&layers=M

а вообще это mapnik должен смотреть много ли на полигоне объектов или мало и рендерить всё или часть... вопрос насколько это сложно реализовать

Offline

Board footer

Powered by FluxBB