Обсуждение Beta версий (тестирование, баги, замечания)

Полноценный картографический редактор, предназначенный для создания векторных карт и картографических планов местности в открытом картографическом формате (*.PFM - Map Polish Format) с последующей компиляцией в различные (обменные, закрытые) картографические форматы, для использования в различных навигационных программах и приложениях.

Модераторы: Fencer_Silver, Admin, Alex

dr.b
Бета тестер
Бета тестер
Сообщения: 145
Зарегистрирован: 16 дек 2012, 19:17
Россия

Re: Beta тестирование (обсуждение функционала beta версий)

Сообщение dr.b »

"Кореловское" клонирование копированием сопровождается предупреждением "карта содержит вставляемый объект", что не соответствует действительности. Клоны имеют разные координаты, а в крайних версиях могут иметь ещё и разный адрес.
WinXP SP3
Аватара пользователя
warpig
Наш человек
Наш человек
Сообщения: 91
Зарегистрирован: 08 фев 2012, 09:09
Контактная информация:
Украина

Re: Beta тестирование (обсуждение функционала beta версий)

Сообщение warpig »

Ёпстиль снять галку в настройках - Редактирование - Предупреждать об вставке дубликата объекта
Считаю что вы уж придираетесь :funny:
Бесплатные карты Украины от http://www.travelgps.com.ua
Lenovo SL500 CPU 2Ghz Ram 2gb - WinXP SP3
Dapeng A75 Android 4.0.3 RAM 512mb|CPU 1Ghz
Globway G228B RAM 64mb|Goway RAM 64mb
MaxBel
Бета тестер
Бета тестер
Сообщения: 563
Зарегистрирован: 08 фев 2012, 20:52
Откуда: Ярославль
Россия

Re: Beta тестирование (обсуждение функционала beta версий)

Сообщение MaxBel »

Нет ну если дубликат не создается, а окно выскакивает, то это не придирка а ошибка в программе !
Очень хочу отблагодарить разработчиков !!!!
Аватара пользователя
Fencer_Silver
Разработчик
Разработчик
Сообщения: 922
Зарегистрирован: 06 фев 2012, 16:00
Откуда: Украина
Настроение:
Контактная информация:
Украина

Re: Beta тестирование (обсуждение функционала beta версий)

Сообщение Fencer_Silver »

Да уж нет.... Сначала объект вставляется в его же место, а потом только перемещается. Поэтому при вставке - он является дубликатом. Пока он не вставлен - я не могу поменять его координаты (они зарыты в памяти). Потом, может поменяю, а пока останется так.
dr.b
Бета тестер
Бета тестер
Сообщения: 145
Зарегистрирован: 16 дек 2012, 19:17
Россия

Re: Beta тестирование (обсуждение функционала beta версий)

Сообщение dr.b »

Поковырял инструмет резки полигона по линии. Нашел знакоые ржавые грабли.
Holes.jpg
Глюкодром в польском в придачу.
Line_cut.rar
(2.05 КБ) 457 скачиваний
верхний ряд:
1 - имеем полигон парка с subtract больничкой.
2 - по красным точкам проводим Резку полигона линией.
3 - Отодвигаем больничку и видим несуразную картину. Полигон рассечен надвое, как и задумано. Дырка, попавшая в разрез (бывшая составной частью полигона и прописанная в польском второй строкой Data0=)цела, принадлежит одной из полученных частей, несмотря на то, что торчит наружу наполовину и уже точно вложенным объектом не является. Вторая часть восстановлена до полного четырехугольника. Образовавшаяся грыжа имеет тип материнского полигона и цвет фона карты (Белый парк). После пересохранения и открытия в гюкодроме у вас он станет Зелёным парком. Свежую нарезку проводите сами. Там в нижнем ряду готовые жертвы...

Второй строкой на скрине показана та же операция с использованием вычитания из парка старообрядного "секущего полигона"(красный). Все чинно и корректно, значит вполне осуществимо. Один недостаток - многоходовость манипуляции и необходимость стягивать узлы по краям образовавшегося коридора. Даже больничку сдвигать не нужно.
В обоих случаях выделенный полигон делится надвое и одна из частей вычленяется. Однако в случае с линией "дырка" остается самостоятельным объектом, связанным с второй половиной (2 строки data0), а в случае с секущим полигоном корректно исчезает, а её контур становится частями внешнего контура новых половинок. Именно так и должен работать инструмент резки.
Все другие полигоны, лежащие поверх выбранного, (больничка)остаются целыми. И это правильно.

Свое мнение (и не я один) изложил 2 года назад.
http://forum.navitel.ru/index.php?showt ... ntry142227

http://forum.navitel.ru/index.php?showt ... ntry211240

Был "спасибозаписан" и плюнул. Ну всё... "Пожизненный цинк с гвоздями" за прямую ссылку на нецензурный сайт...
Во искупление готов десять раз ночью написать на стене вен.диспасера:

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


Все несуразности истекают из ошибочной концепции отношения к дыркам, как к самостоятельным полигонам. Отсюда и извлечение их в самостоятельные объекты при операциях Extract, весьма своеобразный вид (двойная внешняя граница) рассеченных дырок после нарезки полигона на более мелкие квадраты. Попробуйте сейчас рассечь линией сильно дырявый полигон леса и отодвинте его в сторону... Под ним увидите суть проблемы.

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

Провел мелкие практические изыскания. Два примера справа на скрине и в полише. В первом случае пытался вычесть из парка полигон с длинным классическим джиттером. Резка джиттером не удалась. Развел парные точки джиттера на единицу в шестом разряде координат ручками. Провел вычитание - получил два фрагмента с правильно обработанной дыркой. Вычленил. Осталось свести образовавшуюся щель. Сделать это можно без особых математических изысканий. Профильтровать все вновь полученные однотипные полигоны на предельно близко расположенные узлы и спарить их координаты (и не важно в какую сторону). Главное, чтоб они стали единообразны. Щель стянута. Вуаля.
То, что я сделал из джиттера, не что иное, как интрумент "Полоса". Только вторая точка задается программой по алгоритму Ш 0,00..+1;Д 0,00..+1 Третья-парная и последующие пары работают как и в "полосе", только очень тонкой. По нажатию ввода построение секущей "полосы" заканчивается, происходит её вычитание из целевого полигона и самоудаление. Далее автоматически следует разгруппировка половинок и сведение близких узлов.
Обратите внимание, в примере полигон разрезан уже по ломаной траектории. Остается проблема с кривой разгруппировкой сильнодырявых полигонов. Их ведь тоже будут разрезать. Но это уже другая тема, так же , как и нарезка на квадраты.
WinXP SP3
Аватара пользователя
Fencer_Silver
Разработчик
Разработчик
Сообщения: 922
Зарегистрирован: 06 фев 2012, 16:00
Откуда: Украина
Настроение:
Контактная информация:
Украина

Re: Beta тестирование (обсуждение функционала beta версий)

Сообщение Fencer_Silver »

Согласен. С дырками - видел сразу и знаю, об этом моменте. Это - пока недоделка. Обучим работать с элементами.
dr.b
Бета тестер
Бета тестер
Сообщения: 145
Зарегистрирован: 16 дек 2012, 19:17
Россия

Re: Beta тестирование (обсуждение функционала beta версий)

Сообщение dr.b »

Резать нужно алгоритмом вычитания полигона. Все уже есть, но в разных углах...
WinXP SP3
Baikal
Зарегистрированный пользователь
Зарегистрированный пользователь
Сообщения: 65
Зарегистрирован: 07 фев 2012, 10:10
Россия

Re: Beta тестирование (тестирование, баги, замечания)

Сообщение Baikal »

Не отображается тип объекта Фон карты 0x004B
User_tester
Бета тестер
Бета тестер
Сообщения: 1149
Зарегистрирован: 23 апр 2012, 11:23
Беларусь

Re: Beta тестирование (тестирование, баги, замечания)

Сообщение User_tester »

Почему не отображается? Вот:

Скриншот.png
Аватара пользователя
_Michael_
Наш человек
Наш человек
Сообщения: 226
Зарегистрирован: 13 фев 2012, 16:29
Откуда: Кировоград
Контактная информация:
Украина

Re: Beta тестирование (тестирование, баги, замечания)

Сообщение _Michael_ »

иногда не отображается, обращал внимание, но закономерности не нашел..
-=Белый=-
Зарегистрированный пользователь
Зарегистрированный пользователь
Сообщения: 60
Зарегистрирован: 04 ноя 2012, 16:58
Откуда: Старый Оскол
Контактная информация:
Россия

Re: Beta тестирование (тестирование, баги, замечания)

Сообщение -=Белый=- »

:) Там есть в меню прикольная кнопонька - Вид карты-Область покрытия карты - активируешь и тыкаешь в любое свободное от художеств место и выделяется "Фон карты" - очень удобно!
dr.b
Бета тестер
Бета тестер
Сообщения: 145
Зарегистрирован: 16 дек 2012, 19:17
Россия

Re: Beta тестирование (тестирование, баги, замечания)

Сообщение dr.b »

В отличии от всех остальных инструментов при использовании инструмента полигон "полоса" фиксация результата через завершение контекстного меню или нажатие Enter происходит не на последней отфиксированной вершине (паре вершин), а на текущем положении курсора, с добавлением дополнительной вершины в этом месте. Подобный ход одно нажатие кнопки мыши конечно экономит, но как-то выпадает из общего стереотипа... Даже зная этот нюанс, периодически машинально щелкаешь кнопкой на предполагаемом месте завершения. После этого любое неверное движение чревато появлением лишних узлов и искажений в виде выбросов. Попробуйте чуть сдвинуть курсор против направления отрисовки...
Вложения
полоса.jpg
полоса.jpg (10.5 КБ) 10273 просмотра
WinXP SP3
-=Белый=-
Зарегистрированный пользователь
Зарегистрированный пользователь
Сообщения: 60
Зарегистрирован: 04 ноя 2012, 16:58
Откуда: Старый Оскол
Контактная информация:
Россия

Re: Beta тестирование (тестирование, баги, замечания)

Сообщение -=Белый=- »

Ну да - тоже немного напрягает это. Такие кракозябли иногда рисутся - у меня однажды вершина улетела в район Тихого океана. Долго пытался найти её - пока не удалил полностью полигон и нарисовал по новой. Мне кажется лучше б полигон "полоса" обрезался по последней точке после нажатия "энтер".
Аватара пользователя
Fencer_Silver
Разработчик
Разработчик
Сообщения: 922
Зарегистрирован: 06 фев 2012, 16:00
Откуда: Украина
Настроение:
Контактная информация:
Украина

Re: Beta тестирование (обсуждение функционала beta версий)

Сообщение Fencer_Silver »

dr.b писал(а):Резать нужно алгоритмом вычитания полигона. Все уже есть, но в разных углах...
Посмотрел. Есть существенный недостаток - между разрезанными полигонами - появляется "полоса" - даже, если резать классическим джиттером. Джиттером режет - надо просто создать три точки в линии, и преобразовать в полигон. Можно, как бы пожертвовать "нестыковкой" полигонов после разрезки, но считаю, что это неоправданно, особенно если полигон не имел дырки вообще. Лучше, научить хотя бы резать дырки, пусть без удаления их, но резать. ИМХО - лучше так. Какие мнения?
dr.b
Бета тестер
Бета тестер
Сообщения: 145
Зарегистрирован: 16 дек 2012, 19:17
Россия

Re: Beta тестирование (тестирование, баги, замечания)

Сообщение dr.b »

Классический джиттер имеет три точки, первая и третья из которых имеют совершенно одинаковые координаты. Можно сказать, что это сдвоенная линия, не имеющая площади. Все остальное - полигоны, хоть и предельно тонкие. Так вот, классическим джиттером ОНО резать отказалось (а я так надеялся... :no: ), а когда я вручную изменил коодинаты 1 точки основания на единицу в 6-ом разряде, вычитание произвелось отлично.
Поскольку при вычитании координаты узлов тушки по ширине ножа почти совпадают, разница между ними и будет равняться единице, максимум двум в шестом знаке по широте или (и) долготе.
То есть мы будем иметь в двух половинках парные узлы, различающиеся на на 1-2 единицы в крайнем разряде. Отыскать их возможно поиском в массиве по допуску. Их всего 4 пары. Я искал глазами в полише... Не долго... Найденные пары привести к единообразию. Даже просто не мудря второй вершине из пары присвоить координаты. первой. Погрешность будет минимальна. ТАКИМ ОБРАЗОМ СТЫКОВОЧНАЯ ПОЛОСА БУДЕТ ЗАТЯНУТА. А затянута она должна быть обязательно, иначе после привязки к сетке можно получить наложение полигонов. Глюкодромчик сваять?
Лучше, научить хотя бы резать дырки, пусть без удаления их, но резать.
Ересь. Придам анафеме и прокляну... :P Нельзя поделить дырку от бублика и разрезать воздушный шар! :no:
WinXP SP3
Ответить