Страница 217 из 272
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 21:12
dr.b
Сколько букв...

ИМХО реализованный контекстный функционал направлен на удаление "белых" узлов, возникших после объединения двух и более роутовых полилиний. Либо удаления одной из линий на не резанном перекрестке.
Справедливости ради, нужно заметить, что такие "белые" узлы при объединении линий должны удаляться автоматически в момент объединения. Это баг, ставший традицией, повторяемый в разных редакторах. А новая функция - костыль для его исправления.
Костыль нужный.
"Белый" узел(ы), который эта функция удаляет, это узел лежащий
в середине полилинии. Если он лежит в конце, то служит стыком двух роутовых линий, переходящих из одной в другую, но по некоторым причинам объединять в одну их нельзя (разная скорость, название, тип итд). Если эти "правильные узлы" разъединить, получим два синих в единых координатах. Разъединить "неправильные" нельзя, - только резать.
Их костылик и сносит. Точнее должен только их.
Объединять(слить) линии - идея автора. Вариантов здесь масса, и, как уже заметили, спокойней этот процесс не автоматизировать.
Таким образом пользователь сначала производит слияние, затем подчищает "плохие белые" узлы.(Если их таки не будут подчищать автоматом.) Или подчищает их за кем-то... И незачем городить себе загон.
Пошёл тестить. Косяки уже вижу.

Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 21:31
User_tester
dr.b писал(а):"белые" узлы при объединении линий должны удаляться автоматически в момент объединения
Вот об этом я тоже хотел написать! Два действия (объединение дорог и подчистка узлов) сольются в одно. Получится объединение с
одновременным удалением признаков "белых" нодов.
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 21:37
MaxBel
Вот собственно и я о том же !!!
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 21:56
dr.b
1. Контекст функции доступен при множественном выделении нескольких линий, что вызвало у MaxBel ошибочную интерпретацию. Лучше множественное выделение не поддерживать, а при необходимости работать через F4.
2. Поддержка множественного выделения приводит к удалению и правильных(концевых) "белых узлов", что является ошибкой. Это ведет к потере роута на всей линии и является частным случаем удаления узлов дорожного графа. Тогда уж они должны разъединяться до синих... Сначала объедини - получишь доступ к контексту - потом подчищайся.
Нужно заметить, что при выделении одной из нескольких последовательных линий их концевые белые остаются не тронутыми, Удаляются только срединные, и это правильно.
3. название изменить: "удалить не значимые белые ноды" или "лишние", чтоб пользователь не путал понятия.
А объединение линий - уже другая песня, которая и ведет к появлению нештатных узлов и необходимости использовать костыли. Опять же эти ошибки делает и "другой"

редактор, и запас в исходнике их большой уже имеется. Так что костылик пригодится... Даже если MGE завтра будет объединять линии без лишних узлов...

Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 22:00
Fencer_Silver
. Поддержка множественного выделения приводит к удалению и правильных(концевых) "белых узлов", что является ошибкой.
Это не ошибка. Концевые ноды удаляются только в случае, если следующая линия имеет АБСОЛЮТНО одинаковые параметры. Т.е. эти линии - можно объединить. Если линии имеют разные параметры - НОД не удалиться (равно, как и не отыщется проверкой) - так как он является ОБЯЗАТЕЛЬНЫМ.
Поэтому весь сыр-бор.
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 22:02
User_tester
Я исхожу из того, что картограф знает заведомо, что именно он объединяет.
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 22:19
dr.b
Зачем смешивать икру с морошкой? Объединение линий - одно. Удаление, уже имеющихся, лишних узлов - другое. Удаление узлов без слияния линии и перед ним, как-то не логично... Объединяй, потом удаляй. А что и зачем объединить - забота автора.
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 22:21
Fencer_Silver
Предлагаю следующее:
1. При объединении доработать и удалять только серединные ноды.
2. При работе инструмента "Удалить 'белые' - удалять то же только серединные.
3. В проверках оставить - все варианты (т.е. отыскиваться будут и концевые на одинаковых дорогах).
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 22:27
User_tester
Fencer_Silver писал(а):1. При объединении доработать и удалять только серединные ноды.
Если я правильно понял, то в типичной ситуации:
рисуем одну дорогу полилинией - в концу её приделываем дорогу от инструмента "кривая Безье" - опять полилиния - опять дуга - опять полилиния - и т.д. Все эти куски заведомо одного типа и одинаковых скоростей/класса. Потом все куски выделяем и объединяем.
И ничего из белых нодов что ли при этом не удалится??? Ведь серединных нодов изначально ни в одном куске не было. Были только концевые белые, по которым стыковались отрезки.
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 22:37
MaxBel
Fencer_Silver писал(а):Предлагаю следующее:
1. При объединении доработать и удалять только серединные ноды.
2. При работе инструмента "Удалить 'белые' - удалять то же только серединные.
3. В проверках оставить - все варианты (т.е. отыскиваться будут и концевые на одинаковых дорогах).
Плюсую. Надо конечно еще посмотреть, как будет в работе, но вроде все верно !
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 22:43
User_tester
Я бы доработал так:
1. в выделенной одной дороге, которая концом пристыкована к другой дороге - удалял только серединные белые ноды, если таковые имеются.
2. в нескольких выделенных дорогах, состыкованных концами - удалял только серединные белые ноды, если таковые имеются. Места стыка - не трогать!
3.
при объединении нескольких выделенных дорог одновременно подчищал бы все белые узлы. Если по концам общей дороги тоже есть белые узлы (стык с другими дорогами) - их не трогал.
Картограф знает, что именно он объединяет: разнотипные дороги или однотипные, с одинаковыми атрибутами или разными! И это его проблема.
А функция должна выполнять своё предназначение. Поскольку при слиянии дорог
обязательно приходится вычищать признак белых нодов в местах слияния, то многие тут и предлагают выполнять объединение и чистку
одновременно.
Добавлено спустя 4 минуты 18 секунд:
MaxBel писал(а):Плюсую. Надо конечно еще посмотреть, как будет в работе, но вроде все верно !
А у меня возникли сомнения по отдельным пунктам!
http://micro-gis.com/forum/viewtopic.ph ... 3240#p4963
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 18 апр 2013, 22:54
MaxBel
Мне не пощупав не понять )
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 19 апр 2013, 01:10
DarkDiver
Alex писал(а):DarkDiver писал(а):Просто коментарий - это пространство для хранения различных не стандартизованных записей и коль уж программа его использует, то существующие данные разрушаться ни как не должны. Как именно это реализовать - по большому счету все равно.
Пора бы от этого отвыкнуть. Пользовательский ключ - вот пространство для хранения различных не стандартизованных записей. Почему бы не пользоваться? А комментарий - пусть несёт функцию согласно своему названию.
Ну можно тогда и дату редактирования запихнуть в новый ключ вместо коментария

Коментарии и несут функцию согласно своему названию - всякие записи наподобии "я тут пиво пил" и т.п. И придуманы они были до того, как вами было придумано записывать туда дату изменения, и потому не правильно говорить , что вот мы придумали этому полю свое применение, а все что там было раньше - в топку.
Кроме того, к сожалению, есть ситуации когда удобнее использовать именно коментарии для хранения каких-то записей, а не пользовательские ключи.
Да и сложностей в том, чтобы вместо удаления имеющейся строки коментария, добавить в ее начало запись с датой последнего редактирования, я не вижу...
Добавлено спустя 17 минут 27 секунд:
User_tester писал(а):Поясню для остальных, кто может не в курсе, как ей пользоваться: цельную карту хотите разрезать, скажем, на 10 независимых карт, чтобы компилировать их в одном атласе. Рисуете поверх 10 состыкованных полигонов покрытий. Делаете затем 10 копий этого исходника. И в каждой копии на полигоне покрытия производите последовательно: "отсечь объекты снаружи" и "создать вершины по внешним НОДам". И всё готово!
Добавлю, что правильнее было бы реализовать в редакторе автоматическую нарезку карты на куски. Тогда не надо будет делать по десять копий, в каждой карте тыкать по 10 раз "отсечь снаружи", затем создать "вершины по внешним нодам". Это хорошо если кусков всего лишь десять, а если пара сотен?
Правильнее было бы так:
1. Есть большая карта с полигоном покрытия.
2. Тыкаем функцию "нарезать карту" - задаем шаг, допустим - 1град. x 1град. или по номенклатуре. И редактор сам нарезает карту на куски, создавая внешние ноды и узлы в полигонах покрытия совпадающие с нодами.
3. Экспортируем каждый кусок в шейпы
4. Компилируем.
User_tester писал(а):
Небольшое замечание: имеет смысл согласовывать с дорогами только полигоны покрытий (DATA_BOUNDS). Остальные полигоны - вовсе необязательно. Новая функция в программе доступна и им.

Ну и пусть будет доступна для всех полигонов - не мешает же, а для каких полигонов ее использовать, для каких нет - на усмотрение картографа...
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 19 апр 2013, 05:52
dr.b
User_tester писал(а):Если я правильно понял, то в типичной ситуации:рисуем одну дорогу полилинией - в концу её приделываем дорогу от инструмента "кривая Безье" - опять полилиния - опять дуга - опять полилиния - и т.д. Все эти куски заведомо одного типа и одинаковых скоростей/класса. Потом все куски выделяем и объединяем.
Ключевое слово "
Объединяем"! И согласно доработке по пункту 1 от Fencer_Silver белые срединные узлы при объединении будут самоудаляются автоматически.
По большому счету всё, что перечислил User_tester - расширенное описание первых двух пунктов от Fencer_Silver.
И третий пункт по проверкам весьма уместен. А уж исправлять или оставить - пусть пользователь решит.
Re: Beta тестирование (тестирование, баги, замечания)
Добавлено: 19 апр 2013, 07:56
DarkDiver
Весьма странно себя ведет функция Select Intersecting Objects для полигона.
Имеется один большой полигон. Внутри него куча мелких (около 180). Выбираем большой полигон, жмем на нем Select Intersecting Objects.
Мало того, что функция выбирает не все лежащие внутри мелкие полигоны, так еще и результат выборки разный в зависимости от текущего масштаба.
Т.е. если карту приблизить, то выбираются почти все объекты, если отдалить, то треть объектов просто не выбирается...
Пример постараюсь выложить чуть позже..
Добавлено спустя 35 минут 10 секунд:
Инструмент выбора по типу и пересечению для этих же полигонов делает выборку правильно.