Добавлено: 7:48 PM - авг 04, 2012
kg_vista
isu писал(а):В Gpsmapedit вид карты совершенно кошерный, а в навигаторе местами полигоны типа 1 перекрывают постройки и водоемы.
В Польском формате, IMG, RUS, NM2 и т.д. взаимный порядок отрисовки полигонов не определён, поэтому перекрытий полигонов надо всячески избегать. В данном случае - строения должны быть "врезаны" во внешний полигон типа 0x01.
а почему в gpsmapedit все хорошо? там применены какие-то правила приоритета полигонов?
Во время загрузки карты делается сортировка полигонов по площади. Более крупные отрисовываются первыми.

Почему нельзя сделать то же в навигаторе?
1. Автонарезка карты при её сохранении в конечный формат изменяет соотношения площадей частей полигонов, поэтому критерий площади перестаёт работать.
2. Сортировка "на ходу" сильно ухудшает скорость отрисовки. Разумнее заранее подготовить данные в таком виде, чтобы во время просмотра не надо было тратить время на сортировку.

Есть и другие причины:
3. Наличие перекрывающихся полигонов означает, что пикселы перекрывающихся мест заполняются дважды (если не больше). Это опять-таки ухудшает скорость. А отрисовка полигонов - самая долгая. В GPSMapEdit на ПК это терпимо, а на КПК с его "куриными мозгами" - зачастую критично.
4. Наконец, перекрывающиеся полигоны затрудняют работу всплывающих подсказок: при тапе по месту перекрытия выдаётся сразу несколько подсказок. Взаимный порядок опять-таки не определён, то есть первой может быть подсказка по полигону города, а не здания. Это сбивает с толку пользователя.

Запрет на перекрывающиеся полигоны - это не изобретение Навител. Аналогично устроены практически все форматы навигационных карт, в том числе Garmin IMG - исходя из тех же самых соображений.
Дома, в таком варианте, отрисовать можно, а если большой квартал, то отрисовывать сперва дырки и полный квартал, а потом дома в этих дырках, мягко говоря будет за%^&сто - в общем можно устать быстро :) :(
Я лично придерживаюсь точки зрения, что полигоны домов и полигоны кварталов должны быть на разных уровнях детелизации.
как проделать в полигоне территории города сотню тысяч отверстий для врезки полигонов зданий?
Как вариант, рецепт от Lango':
1. выделить все дома в квартале.
2. скопировать в буфер обмена
3. выделить полигон квартала, затем дома.
4. в контекстном меню выделенного выбрать пункт 'Соединить объекты'
5. вставить из буфера обмена

Добавлено: 2:03 AM - июн 30, 2015
And_REW
ДН ! Как тогда быть с популярным нынче форматом OSM - там сплошь наложение полигонов ? И ещё : если при "вырезании" возникают настолько сложно сконфигурированные полигоны, то это по идее должно приводить к увеличению объема файла карты + дублируется инфа потом за счет полигонов зданий (палка-то о двух концах как ни крути). Дыркам от зданий почтовые адреса не присвоить :)
Параллельный вопрос по нарезанию карты (для экспериментов по минимизации ошибок в приоритете наложения полигонов) : при экспорте в NM2 происходит нарезка с какими параметрами (сколько градусов по сетке) ? С какими-то типовыми (0,004 град.) ? Или с теми которые задавались ранее через >Инструменты>Нарезать все объекты ... ?
Насколько я понял, чтобы меньше было "разночтений" с OSMовским вариантом (в полише) надо резать крупнее ? Или есть какие-то другие критерии (причем скорость отрисовки для меня уже менее приоритетна в данном случае)?

Добавлено: 2:16 AM - июн 30, 2015
And_REW
Как вариант, рецепт от Lango':
1. выделить все дома в квартале.
2. скопировать в буфер обмена
3. выделить полигон квартала, затем дома.
4. в контекстном меню выделенного выбрать пункт 'Соединить объекты'
5. вставить из буфера обмена
Взял с navitel.osm.rambler.ru в полише карту ярославской области (около 100 Мб) попытался соединить несколько сотен тысяч полигонов зданий с несколькими тысячами полигонов "сельской застройки" - как и ожидалось GME "немного призадумался". Он отвиснет или не стоит ждать :D ?

Добавлено: 2:50 AM - июн 30, 2015
And_REW
Поэкспериментировав с нарезкой в полише и последующей конвертацией в NM2 , пришел к выводу , что порядок/приоритет наложения полигонов связан с чем-то иным, нежели с якобы изменившимися площадями полигонов после нарезки. Особо четко это как раз и отслеживается при отображении зданий на полигонах сельской/городской застройки (нарезка их почти не затрагивает). Дома пропадают по каким-то ведомым только им законам ;) . Хотелось бы до конца понять how it works (?)

Добавлено: 7:09 AM - июн 30, 2015
kg_vista
And_REW писал(а):ДН ! Как тогда быть с популярным нынче форматом OSM - там сплошь наложение полигонов ?
Это ответственность конвертора OSM в MP.
Дыркам от зданий почтовые адреса не присвоить :)
А зачем адрес дыркам?
при экспорте в NM2 происходит нарезка с какими параметрами (сколько градусов по сетке) ?
Шаг нарезки при экспорте в NM2 определяется битностью, на каждом уровне карты шаг нарезки свой.
Поэкспериментировав с нарезкой в полише и последующей конвертацией в NM2 , пришел к выводу , что порядок/приоритет наложения полигонов связан с чем-то иным, нежели с якобы изменившимися площадями полигонов после нарезки. Особо четко это как раз и отслеживается при отображении зданий на полигонах сельской/городской застройки (нарезка их почти не затрагивает). Дома пропадают по каким-то ведомым только им законам . Хотелось бы до конца понять how it works (?)
Фактически случайно (то есть неуправляемо со стороны картографа), поскольку нарезка приводит к неконтролируемому изменению взаимного порядка получающихся кусков полигонов. Первоначальный порядок сортировки (по площадям) нарушается.

Добавлено: 1:35 PM - июн 30, 2015
And_REW
при экспорте в NM2 происходит нарезка с какими параметрами (сколько градусов по сетке) ?
Шаг нарезки при экспорте в NM2 определяется битностью, на каждом уровне карты шаг нарезки свой.
Т.е. , я правильно понимаю, что никаким образом (даже самым извращенным) принудительно выставить шаг нарезки по сетке в процессе конвертации в NM2 нельзя ??? Было б здорово , если б можно было бы
(расширение функциональности добавляет число последователей в пастве) :!:
... Дома пропадают по каким-то ведомым только им законам . Хотелось бы до конца понять how it works (?)
Фактически случайно (то есть неуправляемо со стороны картографа), поскольку нарезка приводит к неконтролируемому изменению взаимного порядка получающихся кусков полигонов. Первоначальный порядок сортировки (по площадям) нарушается.
Хорошо, но тогда я не совсем понимаю - почему после нарезки в ГМЕ порядок отображения полигонов не меняется ? Все куски полигонов остаются на своих местах. Их перетусовывает сам конвертер в NM2 ?
Если нельзя установить порядок полигонов принудительно при конвертации, то может можно как-то сделать этот процесс более предсказуемым/прогнозируемым. Т.е. , я имею ввиду , чтобы раположение полигонов менялось тогда уже сразу же после нарезки непосредственно в ГМЕ :?:
Хотя , тогда надо будет прорабатывать вопрос подсчета статистики по количеству испорченных объектов - нет , это как-то криво :? .
Эту проблему надо решать либо , действительно , как Вы сказали , со стороны конвертера из OSM в .mp (попробуем и здесь приложить усилия :) ), либо жесткими настройками порядка наложения полигонов в конвертере в NM2 (тут надеемся на Ваzz :!: ). Вам , Константин, вообще , эта проблематика интересна ? Мне кажется , что таких как я далеко не единицы потенциально может быть. OSM же достаточно популярен . Как Вы считаете , можно нам юзерам чем-то помочь ?

Добавлено: 4:30 PM - июл 01, 2015
kg_vista
And_REW, на форуме не поощрается уход от первоначальной темы обсуждения (оффтопики). В данной теме обсуждается порядок отображения полигонов. Формат NM2, нарезка и тд. - это совершенно другие вопросы.