Векторизация изолиний

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

Векторизация изолиний

Сообщение eucrariano » 29 июн 2010, 11:19

Помогите пожалуйста решить такие вопросы:
1. Начал использовать GRASS и на первых шагах столкнулся с такой проблемой: при векторизации изолиний их пересекают разные обрывы - как это векторизировать?
2. При векторизации часто получается, что соединяются две полилинии, на стыке ставится зеленая точка, и далее они (эти линии) так идут под разными номерами в базе. Нужно ли для каждой из них вводить значение про высоте, или оно автоматом будет определять при анализе.
3. На векторизируемой карте часто попадаются промежуточные горизонтали, как нужно их вводить?
4. На карте, с которой велась работа (М 1:25000) ну просто огромное количество этих самых горизонталей. Потратил 3 суток чистого времени, еще немного и рука от мышки бы отвалилась :) . Порекомендуйте полуавтоматический векторизатор под лицензией GPL для ускорения работ.

Спасибо

платформа AMD64 - Debian (Squeeze) - GRASS GIS 6.4

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Векторизация изолиний

Сообщение Mavka » 29 июн 2010, 11:26

Попробуйте коммерческий Easy Trace Pro, есть бесплатная версия. Правда, под wine его не тестировали.
лангольеры под окном жрали время ом-ном-ном

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

Re: Векторизация изолиний

Сообщение Александр Мурый » 29 июн 2010, 14:21

Привет коллеге линуксоиду-грассоводу. На форуме уже были похожие темы, там кое-что упоминалось.
Для начала: напишите версию GRASS, интерфейс tcltk или wxPython?

1. На обрывах лично я бы прерывал изолинии (оставляя пустое место), т.к. для анализа они все равно ничего не дадут. Рисовать только "для красоты" смысла нет.

2. Как я понял -- это про продолжение рисовки полилинии, когда получаются много отрезков? Если да, то можно при оцифровке "продолжать" линию, а не делать новый отрезок. Либо вводить для каждого отрезка высоту и объединять потом с пом. v.edit

3. Зависит от того, насколько важна точность. И от задачи. Если надо будет строить ЦМР, то может получиться слишком "ребристая" модель

4. Простой векторизатор под GPL:
http://digitizer.sourceforge.net/
полуавтоматический векторизатор под лицензией GPL
-- пока мечты, дело будущего))

Бесплатный EasyTrace под Wine ставил -- работает, но с глюками.
Редактор материалов, модератор форума

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

Re: Векторизация изолиний

Сообщение Александр Мурый » 29 июн 2010, 14:23

Еще вот с GRASS-Wiki тема:
http://grass.osgeo.org/wiki/Trace_vecto ... canned_map
Редактор материалов, модератор форума

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Векторизация изолиний

Сообщение Григорий Степанов » 13 июл 2010, 10:58

Ещё пару слов о векторизации изолиний ( ну, что бы руки от мышки не отваливались :) )

Подробные примеры АВТОМАТИЧЕСКОЙ векторизации горизонталей на ПЛОХИХ растрах с помощью БЕСПЛАТНОЙ версии ET 7.99.

Посты:

Что делать если горизонтали сливаются?

Как в 7.99 выделить линии из растра (JPEG,сепия и т. д.)

Видео:

Видео: Оцифровка склеенных линий в Easy Trace 7.99

Видео: Выделение рельефа из JPG в Easy Trace 7.99

P.S. Извиняюсь за оффтоп. Но ведь главное это быстро и дёшево решить задачу, не так ли?

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

Re: Векторизация изолиний

Сообщение Александр Мурый » 13 июл 2010, 14:20

к вопросу о бесплатной версии ET 7.99:
HASP или какую там защиту сняли? я ставил. но работать нормально так и не хочет.
Редактор материалов, модератор форума

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Векторизация изолиний

Сообщение Григорий Степанов » 31 авг 2010, 08:41

В первом выложеном варианте дистрибутива действительно остались "обломки" снятой защиты. Кроме того был исправлен ряд ошибок (что не удивительно при таком массовом тестировании пакета - почти 7000 скачиваний только с нашего сайта). Версия 7.99 build 1049 нареканий у пользователей не вызывает. Брать её лучше с нашего сайта, так как номер версии после правки не менялся - изменён только номер билда.
http://www.easytrace.com/getfile.php?file=et799

P.S. А как это "работать нормально так и не хочет"?

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

Re: Векторизация изолиний

Сообщение Александр Мурый » 31 авг 2010, 08:57

Спасибо, попробуем эту версию.. "Нормально" -- это я хочу запустить сабж под Wine в линуксе )) Пока установка прерывалась..
Редактор материалов, модератор форума

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

Re: Векторизация изолиний

Сообщение Александр Мурый » 31 авг 2010, 16:24

Итак.. Установить ET на машину с Ubuntu 9.10 удалось. Но при запуске просто виснет намертво.

Григорий, вопрос к вам: какие Windows-специфичные вещи (библиотеки, версии установщика) должны быть обязательно для работы ET? Только не говорите, пож-та, что вся Windows))

Что-нибудь из нижеперечисленного надо ставить?

Код: Выделить всё

d3dx9         MS d3dx9_??.dll (from DirectX 9 user redistributable)
 d3dx9_28      MS d3dx9_28.dll
 d3dx9_36      MS d3dx9_36.dll
 d3dx10        MS d3dx10_??.dll (from DirectX user redistributable)
 d3dxof        MS d3dxof.dll (from DirectX user redistributable)
 dcom98        MS DCOM (ole32, oleaut32); requires Windows 98 license, but does not check for one
 dinput8       MS dinput8.dll (from DirectX 9 user redistributable)
 dirac0.8      the obsolete Dirac 0.8 directshow filter
 directmusic   MS DirectMusic (from DirectX 9 user redistributable)
 directplay    MS DirectPlay (from DirectX 9 user redistributable)
 directx9      MS DirectX 9 user redistributable (not recommended! use d3dx9 instead)
 directx9-beta MS DirectX 9 user redistributable - beta verb (not recommended! use d3dx9 instead)
 dotnet11      MS .NET 1.1 (requires Windows license, but does not check for one)
 dotnet20      MS .NET 2.0 (requires Windows license, but does not check for one)
 dotnet20sp2   MS .NET 2.0 sp2 (requires Windows license, but does not check for one)
 dotnet30      MS .NET 3.0 (requires Windows license, but does not check for one, might not work yet)
 fm20          MS Forms 2.0 Object Library
 gdiplus       MS gdiplus.dll
 gecko-dbg     The HTML rendering Engine (Mozilla), with debugging symbols
 gecko         The HTML rendering Engine (Mozilla)
 hosts         Adds empty C:\windows\system32\drivers\etc\{hosts,services} files
 ie6           Microsoft Internet Explorer 6.0
 ie7           Microsoft Internet Explorer 7.0
 jet40         MS Jet 4.0 Service Pack 8
 mdac25        MS MDAC 2.5: Microsoft ODBC drivers, etc.
 mdac27        MS MDAC 2.7
 mdac28        MS MDAC 2.8
 mfc40         MS mfc40 (Microsoft Foundation Classes from Visual C++ 4)
 mfc42         MS mfc42 (same as vcrun6 below)
 mshflxgd      MS Hierarchical Flex Grid Control
 msi2          MS Installer 2.0
 msls31        MS Line Services 3.1 (needed by native riched?)
 msmask        MS Masked Edit Control
 mspaint       MS Paint (gotta draw stick figures somehow...)
 msscript      MS Script Control
 msxml3        MS XML version 3
 msxml4        MS XML version 4
 msxml6        MS XML version 6
 ogg           ogg filters/codecs: flac, theora, speex, vorbis, schroedinger
 ole2          MS 16 bit OLE
 openwatcom    Open Watcom C/C++ compiler (can compile win16 code!)
 pdh           MS pdh.dll (Performance Data Helper)
 quartz        quartz.dll (from Directx 9 user redistributable)
 quicktime72   Apple Quicktime 7.2
 riched20      MS riched20 and riched32
 riched30      MS riched30
 richtx32      MS Rich TextBox Control 6.0
 urlmon        MS urlmon.dll
 usp10         MS usp10.dll (Uniscribe)
 vb2run        MS Visual Basic 2 runtime
 vb3run        MS Visual Basic 3 runtime
 vb4run        MS Visual Basic 4 runtime
 vb5run        MS Visual Basic 5 runtime
 vb6run        MS Visual Basic 6 Service Pack 6 runtime
 vc2005express MS Visual C++ 2005 Express
 vc2005expresssp1 MS Visual C++ 2005 Express SP1 (does not work yet)
 vc2005sp1     MS Visual C++ 2005 Service Pack 1 and ATL fix (install trial 1st)
 vc2005hotfix  MS Visual C++ 2005 hotfixes (install sp1 1st)
 vc2005trial   MS Visual C++ 2005 Trial
 vcrun2003     MS Visual C++ 2003 libraries (mfc71,msvcp71,msvcr71)
 vcrun2005     MS Visual C++ 2005 sp1 libraries (mfc80,msvcp80,msvcr80)
 vcrun2008     MS Visual C++ 2008 libraries (mfc90,msvcp90,msvcr90)
 vcrun6        MS Visual C++ 6 sp4 libraries (mfc42, msvcp60, msvcrt)
 vcrun6sp6     MS Visual C++ 6 sp6 libraries (mfc42, msvcp60, msvcrt; 64 MB download)
 vjrun20       MS Visual J# 2.0 SE libraries (requires dotnet20)
 wininet       MS wininet.dll (requires Windows license, but does not check for one)
 wme9          MS Windows Media Encoder 9 (requires Windows license, but does not check for one)
 wmp10         MS Windows Media Player 10 (requires Windows license, but does not check for one)
 wmp9          MS Windows Media Player 9 (requires Windows license, but does not check for one)
 wsh56js       MS Windows scripting 5.6, jscript only, no cscript
 wsh56         MS Windows Scripting Host 5.6
_______________________________
Заранее спасибо.
Редактор материалов, модератор форума

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Векторизация изолиний

Сообщение Григорий Степанов » 01 сен 2010, 12:35

Передал вопрос программистам - жду ответа

kostyanovskiy
Новоприбывший
Сообщения: 2
Зарегистрирован: 02 сен 2010, 12:33
Репутация: 0

Re: Векторизация изолиний

Сообщение kostyanovskiy » 03 сен 2010, 15:09

Версию EasyTrace 7.99 со снятой защитой можно установить на машину с Linux.

Для этого, как вариант, необходимо установить EasyTrace 7.99 под Wine и с помощью известного скрипта winetricks до установить некоторые системные компоненты:
gdiplus, ole2, vb6run, vcrun6 и allfonts (шрифты Windows).

Спасибо amuriy за содействие.

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

Re: Векторизация изолиний

Сообщение eucrariano » 22 ноя 2010, 14:55

Спасибо "amuriy" за советы.
В силу целого ряда причин вернулся к работе только теперь. Некоторые вопросы снялись сами-собой, некоторые - с помощью ваших ответов и чтения форумов/документации.
По поводу Ваших вопросов:
1. Система Linux Debian Squeeze 2.6.32-5-amd64 / GRASS 6.4.0+42329 (2010).
2. Интерфейс: был tcltk, сейчас wxPython - уже это сняло ряд вопросов.
3. На обрывах согласно Вашему совету изолинии прерываю (оставляя пустое место).
4. Для каждого отрезка вводил поначалу высоту, сейчас просто объединяю через доп. инструменты.
Других вопросов осталось еще очень много, но о них - буду спрашивать по ходу дела.

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

Re: Векторизация изолиний

Сообщение Александр Мурый » 22 ноя 2010, 15:52

eucrariano писал(а):Спасибо "amuriy" за советы.
Всегда пожалуйста. Пишите ещё, будем думать вместе.
eucrariano писал(а):На обрывах согласно Вашему совету изолинии прерываю (оставляя пустое место).
Не знаю, может быть, есть более продуктивный способ отрисовки обрывов..
Редактор материалов, модератор форума

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

Re: Векторизация изолиний

Сообщение eucrariano » 22 ноя 2010, 17:53

Еще вот вопрос. Сейчас занимаюсь поисками решения проблемы, поднятой в viewtopic.php?f=1&t=4579&p=20780#p20780. Как делалось это вручную, а делалось тяжело, долго и нудно, описано в http://delphis.roerich.com/Loshakova.PDF. Хотя это не первоисточник методики, но уже из него видно, что точки на изолиниях, выбираются в местах нулевой кривизны. Полагаю, что математически (я не математик, и это так сказать остатки знаний из университетского курса ВМ) это точки екстремумов функции. Если вторая производная равна 0, значит это точка перегиба, то-есть нулевой кривизны. Для решения поставленной проблемы нужно, во-первых, представить линию как функцию, сплайн (по-видимому, это верный путь - viewtopic.php?f=29&t=4461). Во-вторых, отыскать точки екстремумов, назначить им ранги (то-есть прописать им категории согласно методики выделения потоковых структур). В третьих, нарисовать карту ;). И все.
Вероятно, в GRASS в жизнь это никто еще не воплощал. Но даже самое поверхностное знакомство с этой гис дает надежду на то, что этот мощный инструмент решит поставленную задачу, как и множество других. Еще вот нашел такую ссылку: http://iflorinsky.narod.ru/Florinsky-1991d.pdf - тут п омодельной топографической поверхности написано немного, даже формулы есть, но как привязать это к решаемой проблеме, и надо ли привязывать - не знаю. Спасибо, буду благодарен за идеи и подсказки
Последний раз редактировалось eucrariano 26 окт 2011, 01:30, всего редактировалось 1 раз.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Векторизация изолиний

Сообщение KolesovDmitry » 22 ноя 2010, 21:24

eucrariano писал(а):<...> описано в http://delphis.roerich.com/Loshakova.PDF<...>
Скажите, что там со шрифтами? Ни одного слова прочитать не могу... Или это только на моем компьютере такие проблемы?

Ответить

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

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

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