You are not logged in.

#326 2021-02-01 20:34:50

literan
Member
Registered: 2012-11-06
Posts: 3,517
Website

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Miroff wrote:

Ограничения скорости в навигаторах работают именно по этому принципу и в подавляющем большинстве случаев работают достаточно хорошо.

в навигаторах? а в каких? В Османде и мопсе, например, это не работает.

Offline

#327 2021-02-01 20:44:24

Miroff
Member
Registered: 2010-01-26
Posts: 169

Re: opentopomap.ru – топографические карты opentopomap для наших условий

karnavalny wrote:

Одни только операции по объединению смежных полигонов леса и воды, чтобы были красивые границы, по статистике занимают около 40% по загрузке процессора от всех выборок, несмотря на то, что работают только начиная с 14-го зума. Если ещё пытаться тут же определять входжения, то сервером можно будет отлично отапливать помещение, но не рендерить в реальном времени.

У вас что-ли в реальном времени все это рендерится? Вообще без препроцессинга и генерализации? O_o

Offline

#328 2021-02-01 21:05:00

karnavalny
Member
Registered: 2019-12-24
Posts: 102

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Miroff wrote:

У вас что-ли в реальном времени все это рендерится? Вообще без препроцессинга и генерализации? O_o

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

Offline

#329 2021-02-01 23:02:13

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 8,281

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Надо полагать, что 90% дорог вне НП и отрабатываться должна в момент. А уж дорог выходящих из НП и которые надо порезать, можно посчитать по пальца.

Offline

#330 2021-02-02 14:05:30

karnavalny
Member
Registered: 2019-12-24
Posts: 102

Re: opentopomap.ru – топографические карты opentopomap для наших условий

freeExec wrote:

Надо полагать, что 90% дорог вне НП и отрабатываться должна в момент. А уж дорог выходящих из НП и которые надо порезать, можно посчитать по пальца.

Нагрузку можно прикинуть на практике. Возьмём прямоугольную область, например, на северо-западе Московской области и посмотрим, сколько времени нужно на обработку запросов по поиску участков дорог внутри полигонов place=* и вне их, и сравним с операцией, по которой уже есть общая статистика загрузки, применив её к той же площади.

Фильтрацию возьмём простейшую, на каждом этапе не будем обрабатывать только highway=track.
Сначала выберем все дороги, не проходящие через place=*, а также типа highway=track.

explain (analyze) select planet_osm_line.way from planet_osm_line, planet_osm_polygon where planet_osm_polygon.place is not null
 and planet_osm_polygon.way && st_transform(ST_SetSRID(box2d(ST_GeomFromText('LINESTRING(36.464133 56.080593, 37.224936 55.694698)',4326)),
 4326), 3857) and planet_osm_line.highway is not null and planet_osm_line.way &&
 st_transform(ST_SetSRID(box2d(ST_GeomFromText('LINESTRING(36.464133 56.080593, 37.224936 55.694698)',4326)), 4326), 3857) and ( not
 st_intersects(planet_osm_line.way, planet_osm_polygon.way) or planet_osm_line.highway = 'track');
[skip]
 Planning Time: 7.783 ms
 Execution Time: 9868.915 ms
(20 строк)

Потом выберем все части дорог внутри полигонов place=*.

opentopomap=# explain (analyze) select st_intersection(planet_osm_line.way, planet_osm_polygon.way) from planet_osm_line, planet_osm_polygon
 where planet_osm_polygon.place is not null and planet_osm_polygon.way && st_transform(ST_SetSRID(box2d(ST_GeomFromText('LINESTRING(36.464133
 56.080593, 37.224936 55.694698)',4326)), 4326), 3857) and planet_osm_line.highway != 'track' and planet_osm_line.way &&
 st_transform(ST_SetSRID(box2d(ST_GeomFromText('LINESTRING(36.464133 56.080593, 37.224936 55.694698)',4326)), 4326), 3857) and
 st_intersects(planet_osm_line.way, planet_osm_polygon.way);
[skip]
 Planning Time: 5.914 ms
 Execution Time: 8477.381 ms
(17 строк)

И в конце выберем отрезки дорог, "торчащие" из населённых пунктов:

opentopomap=# explain (analyze) select st_difference(planet_osm_line.way, planet_osm_polygon.way) from planet_osm_line, planet_osm_polygon
 where planet_osm_polygon.place is not null and planet_osm_polygon.way && st_transform(ST_SetSRID(box2d(ST_GeomFromText('LINESTRING(36.464133 
56.080593, 37.224936 55.694698)',4326)), 4326), 3857) and planet_osm_line.highway != 'track' and planet_osm_line.way && 
st_transform(ST_SetSRID(box2d(ST_GeomFromText('LINESTRING(36.464133 56.080593, 37.224936 55.694698)',4326)), 4326), 3857) and
 st_intersects(planet_osm_line.way, planet_osm_polygon.way);
[skip]
Planning Time: 8.060 ms
 Execution Time: 8801.962 ms
(17 строк)

И теперь сравним это, например, одной из операций объединения полигонов леса на той же области:

opentopomap=# explain (analyze) select ST_Union("way") as "way","natural",landuse,leaf_type from (SELECT "way","natural",landuse,leaf_type FROM
 planet_osm_polygon WHERE "natural" = 'wood' or landuse IN ('wood', 'forest')) AS landuse where way && 
st_transform(ST_SetSRID(box2d(ST_GeomFromText('LINESTRING(36.464133 56.080593, 37.224936 55.694698)',4326)), 4326), 3857) group by 
"natural",leaf_type,landuse;
[skip]
 Planning Time: 0.464 ms
 Execution Time: 12697.379 ms
(14 строк)

Про последнюю операцию по статистике известно, что она занимает около 11% процессорного времени от всех других операций.
Операции выборки дорог в сумме заняли чуть больше 27 секунд, сшивка полигонов - около 13. То есть первые операции длились более чем в два раза дольше одной из самых ресурсоёмких операций при рендеринге, при том, что была применена только простейшая фильтрация.
Но полигоны сшивать необходимо, так как иначе в лесу появляются артефакты, дезориентирующие пользователя, чего не скажешь о дорогах.

Но, изучив подробнее ситуацию с дорогами, я понял, что можно доработать существующую цветовую схему маркировки дорог без ущерба для общего дизайна карты и лёгкости её прочтения, при том, что будет более полно учитываться тип покрытия и не будет сильно загружаться база. Для этого для дорог типа tertiary и secondary нужно сделать заливку цветом в зависимости от типа покрытия, как это уже сделано для дорог типа unclassified, но с небольшим отличием - если вообще нет тега surface,  то оптимистично заливать дорогу жёлтым, а не белым. Тогда за пределами населённых пунктов, если все теги проставлены правильно, можно будет точно сказать, что "жёлтые дороги" - с твёрдым покрытием, "белые" - нет. Твёрдым считается покрытие, когда surface = 'paved' , 'asphalt', 'concrete' , 'paving_stones', 'sett', 'cobblestone', 'metal'.
Через некоторое время я добавлю эту схему.

Offline

#331 2021-02-04 07:36:41

40°
Member
From: Minsk
Registered: 2011-06-10
Posts: 159

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Внимательно прочитал ваш научный спор.
Ничего не понял. :-)
Но хочу возразить. :-)
Вот здесь "http://brouter.de/brouter-web/#map=15/5 … e=shortest" так же видны "гравейки".

Работает быстро. (Только надо карту "cyclosm" вручную включить в настройках, ее нет по умолчанию)

Кстати opentopomap там тоже есть и даже по умолчанию в списке карт. :-)

Offline

#332 2021-02-04 08:35:41

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 8,281

Re: opentopomap.ru – топографические карты opentopomap для наших условий

40° wrote:

Только надо карту "cyclosm"

Так там просто показывается внесённый surface, без эвристики где она в городе или в лесу.

Offline

#333 2021-02-05 13:49:15

karnavalny
Member
Registered: 2019-12-24
Posts: 102

Re: opentopomap.ru – топографические карты opentopomap для наших условий

karnavalny wrote:

Для этого для дорог типа tertiary и secondary нужно сделать заливку цветом в зависимости от типа покрытия, как это уже сделано для дорог типа unclassified, но с небольшим отличием - если вообще нет тега surface,  то оптимистично заливать дорогу жёлтым, а не белым. Тогда за пределами населённых пунктов, если все теги проставлены правильно, можно будет точно сказать, что "жёлтые дороги" - с твёрдым покрытием, "белые" - нет. Твёрдым считается покрытие, когда surface = 'paved' , 'asphalt', 'concrete' , 'paving_stones', 'sett', 'cobblestone', 'metal'.
Через некоторое время я добавлю эту схему.

Сделал, начиная с 14-го зума.

Также, сделал рендеринг разрушенных зданий с тегами abandoned=yes, ruins=yes, abandoned:building, ruined:building, ruins:building. Рисуются и подписываются с 16-го зума, стиль приближен к Генштабу.

vonrockos wrote:

Есть предложение как-то обозначать детские площадки, хотя бы контур.

Появились на 18 зуме.

Offline

#334 2021-02-05 14:02:26

vonrockos
Member
From: Санкт-Петербург, Россия
Registered: 2020-08-19
Posts: 163

Re: opentopomap.ru – топографические карты opentopomap для наших условий

karnavalny wrote:

Также, сделал рендеринг разрушенных зданий с тегами abandoned=yes, ruins=yes, abandoned:building, ruined:building, ruins:building. Рисуются и подписываются с 16-го зума, стиль приближен к Генштабу.

vonrockos wrote:

Есть предложение как-то обозначать детские площадки, хотя бы контур.

Появились на 18 зуме.

Огромное спасибо, отлично получилось!
Хотел еще заметить, что на building name отображается, но если name поставлен на полигоне amenity (например как это принято для школ) то он не отображается.

Offline

#335 2021-02-05 18:45:18

karnavalny
Member
Registered: 2019-12-24
Posts: 102

Re: opentopomap.ru – топографические карты opentopomap для наших условий

vonrockos wrote:

Огромное спасибо, отлично получилось!

Пожалуйста. Вам тоже спасибо за идею.

vonrockos wrote:

Хотел еще заметить, что на building name отображается, но если name поставлен на полигоне amenity (например как это принято для школ) то он не отображается.

Я не очень понял, в чём проблема. Если есть тег building на полигоне, то name подписывается, если площадь полигона больше 1000 кв.м. Если проблема в другом, то приведите пожалуйста её пример.

Offline

#336 2021-02-05 19:48:51

vonrockos
Member
From: Санкт-Петербург, Россия
Registered: 2020-08-19
Posts: 163

Re: opentopomap.ru – топографические карты opentopomap для наших условий

karnavalny wrote:

Я не очень понял, в чём проблема. Если есть тег building на полигоне, то name подписывается, если площадь полигона больше 1000 кв.м. Если проблема в другом, то приведите пожалуйста её пример.

Вот школа https://www.openstreetmap.org/relation/10985709 - названия на opentopomap нет на любых масштабах. Тоже самое - пожарная часть https://www.openstreetmap.org/relation/12267901, детский сад - https://www.openstreetmap.org/relation/11048498 и т.д.
Но вот поликлиника - https://www.openstreetmap.org/way/91887427 или другая школа - https://www.openstreetmap.org/way/137119504 - название есть. То ли дело в мультиполигонах, то ли еще в чем-то, но поведение не совсем ожидаемое.

Offline

#337 2021-02-05 21:08:45

karnavalny
Member
Registered: 2019-12-24
Posts: 102

Re: opentopomap.ru – топографические карты opentopomap для наших условий

vonrockos wrote:

То ли дело в мультиполигонах, то ли еще в чем-то, но поведение не совсем ожидаемое.

Если на building нет name, то, соответственно, ничего и не подписывается. Из amenity без building подписываются только больницы, укрытия от дождя, церкви, и, возможно, ещё что-то. Какие amenity из площадных, как вы считаете, нужно ещё подписывать?

Last edited by karnavalny (2021-02-05 21:09:28)

Offline

#338 2021-02-05 22:47:51

vonrockos
Member
From: Санкт-Петербург, Россия
Registered: 2020-08-19
Posts: 163

Re: opentopomap.ru – топографические карты opentopomap для наших условий

karnavalny wrote:

Из amenity без building подписываются только больницы, укрытия от дождя, церкви, и, возможно, ещё что-то. Какие amenity из площадных, как вы считаете, нужно ещё подписывать?

На мой взгляд стоит подписывать следующие площадные объекты, если у них есть name
Образование:
amenity    kindergarten   
amenity    college   
amenity    school   
amenity    university
amenity    library   
Медицина:
amenity    hospital
amenity    clinic   
amenity    doctors   
amenity    social_facility   
Крупные объекты культуры
amenity    arts_centre
amenity    community_centre
amenity    social_centre
Экстренные службы:
amenity    fire_station
amenity    police
Разное:
amenity    embassy
amenity    marketplace
amenity    monastery
amenity    prison
Ну может быть еще amenity=fuel

Из landuse
landuse cemetery
landuse industrial
landuse construction
landuse religious

Из leisure
leisure nature_reserve
leisure park
leisure stadium
leisure sports_centre
leisure sports_hall
leisure water_park

Offline

#339 2021-02-06 10:36:29

literan
Member
Registered: 2012-11-06
Posts: 3,517
Website

Re: opentopomap.ru – топографические карты opentopomap для наших условий

но это будет уже не топографическая карта

Offline

#340 2021-02-06 11:24:55

vonrockos
Member
From: Санкт-Петербург, Россия
Registered: 2020-08-19
Posts: 163

Re: opentopomap.ru – топографические карты opentopomap для наших условий

literan wrote:

но это будет уже не топографическая карта

Но сейчас же большинство из этих объектов подписывается, если name стоит на building. И не вызывает вроде как вопросов. Я только за единый подход. Если подписываем название школы проставленное на building, то надо подписывать и площадной объект (что кстати для школ более правильный по вики вариант). Ну или уж тогда не подписывать школы вообще.

Offline

#341 2021-02-08 07:22:32

40°
Member
From: Minsk
Registered: 2011-06-10
Posts: 159

Re: opentopomap.ru – топографические карты opentopomap для наших условий

karnavalny wrote:

Сделал, начиная с 14-го зума.

О. Супер. Спасибо. Работает. :-)

Помасштабировал знакомые куски местности... мне кажется можно и с 12го зума делать такую заливку цветом. :-)

Offline

#342 2021-02-08 15:32:31

karnavalny
Member
Registered: 2019-12-24
Posts: 102

Re: opentopomap.ru – топографические карты opentopomap для наших условий

vonrockos wrote:

Но сейчас же большинство из этих объектов подписывается, если name стоит на building. И не вызывает вроде как вопросов. Я только за единый подход.

Подход и сейчас единый и логичный - подписываются все buildnig более 1000 квадратов (если меньше, то надписей становится слишком много + не умещаются), у которых есть name, плюс площадные, важные в экстренных ситуациях объекты hospital. Таким образом топокарта не запруживается излишней информацией. А уж что там за buildnig, и почему у него есть или нет name, это дело второе.
По поводу подхода я согласен с literan, но спасибо вам за список, я буду иметь ввиду.


40° wrote:

Помасштабировал знакомые куски местности... мне кажется можно и с 12го зума делать такую заливку цветом. :-)

До 14-го зума цвет нужен в большей степени, чтобы хорошо отличать более главные/менее главные дороги, что логично для обзорных масштабов.

Offline

#343 2021-02-09 09:22:57

40°
Member
From: Minsk
Registered: 2011-06-10
Posts: 159

Re: opentopomap.ru – топографические карты opentopomap для наших условий

karnavalny wrote:

До 14-го зума цвет нужен в большей степени, чтобы хорошо отличать более главные/менее главные дороги, что логично для обзорных масштабов.

Так мое предложение не противоречит. Начиная с 12го масштаба не исключая 13, 14 и т.д

Для моих зимних велозабав например, когда я пытаюсь найти место в радиусе 100-150км от города, где бы найти связку гравейных дорог общей длиной километров 50 с минимум асфальта на связки  на субботнюю покатушку, 12-й масштаб гораздо более обзорный.

Вдруг это не противоречит каким то другим "условиям" отображения карт. :-)

Offline

#344 2021-02-11 05:04:25

Stranger_I
Member
Registered: 2012-10-20
Posts: 28

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Хорошо бы отображать территории заповедников, национальных парков и прочих ООПТ на малых зумах. Если уж на 8 просто картинка физической карты, то хотя бы с 9 до 12 сплошной заливкой, а с 13 и ниже контурной, но явственнее. Например, здесь https://en.mapy.cz/turisticka?x=59.9975 … 03684&z=10 красиво сделано. Не скажу, что полностью нравится тот рендер, но многие моменты привлекают. Не стоит, наверно, приводить рендер к единому назначению, т.е. быть чисто "топографическим". На тех же генштабовских картах подписывались дома отдыха и , пионерлагери и пр.. На 17, 18 зуме подписывать здания и территории школ и прочего было бы удобным. Приведённый выше список весьма удачный.

Offline

#345 2021-02-11 06:10:54

Paravoz
Member
From: Ярославль
Registered: 2009-12-01
Posts: 715

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Всем доброго дня.
Прочитав последние "хотелки" очень начал беспокоится, что изначально прекрасно задуманный "топографический" рендер "генштаб-стайл" которой многие туристы-поисковики-джиперы ждали, имеет шанс превратится во "всё для всех". А "всё для всех", это всегда плохо.
Сугубо ИМХО - не надо стремиться сделать универсальный рендер под все задачи, каждый рендер должен иметь строго свою цель. В данном случае - это отображение OSM-карты в привычном для множества людей "генштаб-стиле". Ранее общаясь с теми же спасателями и говоря про OSM они отмечали, что Mapnik и подобное для них просто невосприимчиво. С появлением  opentopomap.ru - ситуация начала меняться, и не зря на основном ресурсе "спасов" https://gis.extremum.org этот стиль стоит приоритетным, так как в "генштабности" ему попросту нет равных.

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

Offline

#346 2021-02-11 12:04:10

Stranger_I
Member
Registered: 2012-10-20
Posts: 28

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Paravoz wrote:

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

Как раз поисковикам, туристам и джиперам было бы хорошо видеть на карте, если этот рендер будет в в навигаторе или на распечатке, куда нельзя соваться без разрешения. Вход в заповедники и нац. парки недоступен мимо проходящему туристу. Их границы необходимо видеть. Сейчас контуры тусклые и при совмещении с адм. границами теряются. Названий ООПТ на границах нет. Неясно с какой стороны от границы территория ООПТ. На малых зумах территории вообще не видно, так как она не отображается. Заливку же я предлагал на зумах с 8 по 12. На таких никто не смотрит детали местности, потому что они ещё не отображаются. highway=track видно только с 14. Ниже переходить с заливки на более видимую границу. Почти как сейчас.
Насчёт великолепности я бы поспорил. Те же highway=track я предлагал поднять с 14 до 13 зума. На что был дан ответ "нельзя ибо джиперам сильно жирно будет". Хотя для туриста планировать маршрут, видеть тропы и полевые дороги на 13 зуме было бы удобнее. У меня на мониторе по горизонтали от края до края на 14 зуме видно только 10 км. а на 12 уже 20 км. А маршруты иногда строятся на 100 км. Где удобство и великолепие? Уменьшаешь зум, чтоб обозреть большую площадь, пропадают дороги, реки, заповедники. Один рельеф, города, жд дороги и шоссе. Карта пустеет, ориентироваться невозможно.
Да, на базе OSM данных нет ни одного совершенного рендера. Этот действительно, наиболее приятен для туриста. Но нет предела совершенству, есть куда рендер улучшать.
Касательно отображения мелких объектов, типа родников и точек обзора, 12 зуме, то за это просто огромное спасибо автору. Ни один рендер не делает это в таком качестве.

Last edited by Stranger_I (2021-02-11 12:08:43)

Offline

#347 2021-02-11 16:43:14

Stratula
Member
Registered: 2020-10-06
Posts: 22

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Stranger_I wrote:

Насчёт великолепности я бы поспорил. Те же highway=track я предлагал поднять с 14 до 13 зума. На что был дан ответ "нельзя ибо джиперам сильно жирно будет". Хотя для туриста планировать маршрут, видеть тропы и полевые дороги на 13 зуме было бы удобнее. У меня на мониторе по горизонтали от края до края на 14 зуме видно только 10 км. а на 12 уже 20 км. А маршруты иногда строятся на 100 км. Где удобство и великолепие? Уменьшаешь зум, чтоб обозреть большую площадь, пропадают дороги, реки, заповедники. Один рельеф, города, жд дороги и шоссе. Карта пустеет, ориентироваться невозможно.

Я для этой цели уменьшаю масштаб страницы в браузере при неизменном уровне зума на карте. Не идеал, но ориентироваться проще.

Offline

#348 2021-02-12 21:25:42

Stranger_I
Member
Registered: 2012-10-20
Posts: 28

Re: opentopomap.ru – топографические карты opentopomap для наших условий

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

Offline

#349 2021-02-16 08:21:14

Stratula
Member
Registered: 2020-10-06
Posts: 22

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Отрисовывал ВЛ 10 кВ и заметил особенность.
До меня был нарисован небольшой кусок, на нём тег power=minor_line. Данная линия отрисовывалась начиная с 14 зума.
Я проставлял теги power=minor_line и  voltage=10000. Теперь эта линия не отрисовывается вообще.

Offline

#350 2021-02-16 16:55:44

qiriner
Member
Registered: 2012-05-17
Posts: 49

Re: opentopomap.ru – топографические карты opentopomap для наших условий

Инициатива по отображению survey_point так и не нашла поддержки? На карте не отображается. Или нужен какой-то дополнительный тег?

Offline

Board footer

Powered by FluxBB