Восстановление векторных данных после глюка в GRASS

Ответить
Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Восстановление векторных данных после глюка в GRASS

Сообщение eucrariano » 08 окт 2011, 16:59

Здравствуйте! Несколько недель работал в собранном из исходников GRASS 7.0.svn48476 (2011) (WxPython). Все работало и очень даже хорошо. На мелкие глючки можно было не обращать внимания. А вот сегодня во время оцифровки случился казус: захотел подвинуть небольшой контур на пару пикселей - подвинув, обнаружил, что сам он при сдвиге продублировался, а все оцифрованные с большим трудом горизонтали пропали. Осталось каких-то пару огрызков. За последние несколько ночей много работал, оцифровал примерно четверть от предыдущего об’ема работ (набор Permanent - предыдущий набор, мапсет squeeze_27_09_11 - текущий), в совокупности это составило 376 линий (состоящих из ~37000 точек). Поскольку исходная карта - при нормальном увеличении для оцифровки - просто россыпь пикселов, то откат на предыдущую фазу в перманент (~26000 точек), - просто приговор моим глазам. На первый взгляд признаки возможности восстановления есть. В атрибутивной таблице пока-что сохранены все 376 записей с z-координатой. Но все это не отображается ;(. Все мои манипуляции и танцы с бубном ни к чему не привели. Может кто подскажет, что можно сделать. Спасибо.

P.S. Прилагаю проект без растровой карты, поскольку сегодняшние мои 115 кбит слишком "задумчивы".
Вложения
Kolomna.tar.bz2
(3.69 МБ) 440 скачиваний

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Восстановление векторных данных после глюка в GRASS

Сообщение Александр Мурый » 08 окт 2011, 17:51

Скачал, посмотрел.

У векторов в обоих наборах оказалась повреждена топология. При попытке получить информацию командой типа v.info vector_name вылезла такая ошибка:
ERROR: Topology format version 5.1 is not supported by this release. Try to rebuild topology or upgrade GRASS.
Я перестроил топологию векторов командой типа v.build vector_name, теперь данные распознаются, атрибуты читаются. Не уверен насчёт количества линий, у меня в вект. карте "kolomna" их получилось 228.

Советы, если можно:
-- делать бэкапы со сделанной работой (любым удобным методом, я обычно просто сохраняю области целиком или отдельные наборы в *.tar.gz)
-- НЕ пользоваться для оцифровки нестабильной седьмой версией + нестабильным wxPython, 6.4.* + v.digit вполне справится с обычными задачами оцифровки. Или оцифровывать в QGIS, например, а уже для обработки перебрасывать в GRASS.

Прикладываю архив назад:
Kolomna_edit.tar.gz
(3.15 МБ) 795 скачиваний
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Восстановление векторных данных после глюка в GRASS

Сообщение eucrariano » 08 окт 2011, 18:21

Спасибо amuriy за Вашу оперативность. К сожалению, данные с Permanent устаревшие ;(. А "подбились" данные именно в наборе squeeze_27_09_11 - карта kolomna_trunk - на дисплее только несколько "осколков" линий, хотя в таблице присутствуют все 376 записей. Вот с восстановлением именно этой карты проблемы (хотя да - при импорте в 7 грасс и назад ребилд приходится делать). Ну и основная причина работы в 7 грассе - это реально работающая 3d визуализация прямо из грасса, минуя nviz - мне важно именно быстро показать то что надо, без дополнительных манипуляций через nviz хотя, конечно, для более "навороченных" визуализаций" он функциональнее.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Восстановление векторных данных после глюка в GRASS

Сообщение Александр Мурый » 08 окт 2011, 20:48

Так, по очереди.

-- Т.к. редактировать можно вектора только из текущего набора, то в результате ошибки данные из набора PERMANENT пострадать не могли
--
На первый взгляд признаки возможности восстановления есть. В атрибутивной таблице пока-что сохранены все 376 записей с z-координатой.
Как известно, сами вектора и их атрибуты в GRASS разнесены -- геометрия хранится в спец. двоичных файлах, атрибуты либо в DBF, либо в нормальных БД. Наличие атрибутивной таблицы, даже поключённой к вектору, абсолютно не значит, что геометрия целая.

А вот размер данных настораживает -- файл, содержащий координаты вектора (squeeze_27_09_11/vector/kolomna_trunk/coor), весит (это при 3-х линиях!) аж 4.2М. Но он бинарный, и как вытащить оттуда координаты, я не знаю.
--
основная причина работы в 7 грассе - это реально работающая 3d визуализация прямо из грасса, минуя nviz - мне важно именно быстро показать то что надо, без дополнительных манипуляций через nviz хотя, конечно, для более "навороченных" визуализаций" он функциональнее.
Имеется в виду WxNviz? Так это просто попытка замены старого NVIZ в wxGUI, не более того. В окне Tcl/Tk есть кнопочка, при нажатии которой запускается NVIZ со всеми активными слоями. По-любому, визуализация в GRASS "минуя NVIZ" происходить никак не может (WxNviz просто другой интерфейс).

-- для более "навороченных" визуализаций" -- однозначно Paraview, VisIt и прочие там VTK.
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Восстановление векторных данных после глюка в GRASS

Сообщение eucrariano » 08 окт 2011, 22:29

Самое печальное, что файл данных есть, а доступа нет. При экспорте и других манипуляциях эти три линии только и остаются ;(.
Жаль, много работы, много времени...
Спасибо за участие, буду переделывать, как соберусь с мыслями.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Восстановление векторных данных после глюка в GRASS

Сообщение Александр Мурый » 08 окт 2011, 22:41

Покопался ещё. Большой "coor"-файл без наличия соотв-х ему файлов "cidx" и "topo" (индексы и топология) бесполезен. А эти файлы весят слишком мало для такого "coor".
Так что, увы, сделать действ-но ничего нельзя.

P.S. для GRASS такие глюки --- это очень странное поведение, объяснимое только ошибками wxGUI.

P.P.S. а почему бы не исп-ть для векторизации EasyTrace 7.99 ? Низкое качество растра?
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Восстановление векторных данных после глюка в GRASS

Сообщение eucrariano » 08 окт 2011, 23:57

Да, грешу на wxGUI. Вероятно он "виноват" и в случайном смещении целых линий по одной из координат при достаточно больших об’емах векторов (при ~более 20 тыс. точек такое наблюдаю часто) на 2-3 пикселя. Кстати такое вот безобразие и решил подправить. Что из этого вышло - вот и решаем сейчас. Бывает, глупость сделаешь и возврат не помогает. Тогда просто выходишь из режима редактирования без подтверждения сохранения - и возвращаешься таким образом в работе на пару минут назад. Так было и в этот раз: подвинул контур на пару пикселов, а тут смотрю, он то подвинулся, а дубликат остался на месте, при этом все остальные линии пропали. Нажатие кнопки возврата не помогло. Вышел без сохранения, перезагрузил Грасс - а на дисплее только пара линий. Вышел из грасса, сделал страховую копию набора, потанцевал с бубном, ну, как обычно; решил обратится за помощью. Обидно, что так вышло. Однозначно глюк wxpythona. А ведь зарекался уже ;(.

Растр действительно плох. Фрагмент во вложении. А вот в других работах использую Изитрейс, и очень даже неплохо получается иногда, смотря какой исходный растр.
Вложения
primer.tif
primer.tif (216.98 КБ) 9925 просмотров

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Восстановление векторных данных после глюка в GRASS

Сообщение Александр Мурый » 09 окт 2011, 09:30

Картинки не видно, видимо, не присоединилась нормально. Какие-нибудь методы улучшения растра пробовались? В ET или без него (типа размытие с повышением контрастности и т.п.)
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Восстановление векторных данных после глюка в GRASS

Сообщение eucrariano » 09 окт 2011, 10:47

«Не было бы счастья, да несчастье помогло…»
Поскольку проект начинался больше года назад, тогдашние пробы с Easytrace'ом были неудачными, умения не хватало. И вот теперь, после Вашего высказывания, подумал: почему бы и нет - и результат радует. Пробежавшись по-быстрому по фрагменту растра в изитрейсе, удалось "вытащить" большинство изолиний, чего достаточно для полуавтомата (что уже само по себе большой позитив), а немного поигравшись (увеличив размер растра и т.д.), думаю можно будет добиться успехов и в автовекторизации. Результат во вложении.
Вложения
kolomna_2_BW.tif
kolomna_2_BW.tif (2.73 КБ) 9913 просмотров
primer.tif
primer.tif (194.87 КБ) 9913 просмотров

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Восстановление векторных данных после глюка в GRASS

Сообщение Александр Мурый » 09 окт 2011, 11:09

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

Прикреплённые тифы опять не видны. Странно, обычно с приложенными PNG или JPEG такого не случается.

P.S. пож-та, не надо со мной на "Вы", меня это слегка смущает :roll: (нормально воспринимается только в официальной до ужаса переписке, при упоминаниях клиента в рекламе с целью повысить его безнадёжно низкое ЧСВ и фразах типа "Вы свинья, батенька" :) ) А здесь вроде все свои..
Редактор материалов, модератор форума

Аватара пользователя
eucrariano
Активный участник
Сообщения: 104
Зарегистрирован: 26 авг 2009, 12:09
Репутация: 0
Откуда: Ukraine, Chernivtsy

Re: Восстановление векторных данных после глюка в GRASS

Сообщение eucrariano » 09 окт 2011, 11:35

Действительно странно получается с тифками. Причем "приготовлены" они были один в ЕТ, другой в фотошопе, а самые первые варианты в гимпе. Прикрепляю jpg.

Ну а по поводу "Вы" - ты: непривычно, конечно. Ну давайТе на "ты", так лучше будет. тем более разрыв в годах небольшой, люди одного поколения вроде-бы. Договорились?
Вложения
kolomna_2_BW.jpg
kolomna_2_BW.jpg (19.41 КБ) 9908 просмотров
primer.jpg
primer.jpg (29.13 КБ) 9908 просмотров

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Восстановление векторных данных после глюка в GRASS

Сообщение Александр Мурый » 09 окт 2011, 12:10

eucrariano писал(а):Ну давайТе на "ты", так лучше будет. Договорились?
Ок :)
Попробовал поприсоединять в сообщение разные тифы --- никакие не хотят показываться.. Форум их не переваривает.
Редактор материалов, модератор форума

Ответить

Вернуться в «GRASS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 23 гостя