Проблема с построением ЦМР после импорта из MAPInfo

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

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

Я тут подумал.. На самом деле, пример "v.to.rast in=isolines out=isolines_raster use=cat" не подходит для этого случая (создание маски по границам изолиний). Т.к. при задании маски по растеризованным изолиниям все промежутки между ними не будут иметь значений (т.е. null) и будут игнорироваться при растровых операциях.

Надо либо оцифровать границу вручную, как было написано выше, либо:
-- сделать так называемую "выпуклую оболочку" (или "конвексную" оболочку) с пом. модуля v.hull

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

v.hull input=isolines output=isolines_hull
, которая и будет границей изолиний;
-- вектор в растр (используем use=cat)

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

v.to.rast in=isolines_hull out=isolines_hull_rast use=cat

-- задаем маску по этому растру

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

r.mask input=isolines_hull_rast
Редактор материалов, модератор форума

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

Сообщение eucrariano » 01 мар 2011, 11:54

Вот еще вопрос возник.
"d.profile rast=chern_11_elev_0.001@PERMANENT

Use mouse to choose action
No socket to connect to for monitor <x1>.
ERROR: No graphics device selected
(Tue Mar 1 10:49:41 2011) Command finished (0 sec) "

Вот такая ошибка постоянно. Проблема с моей стороны, или это глюк. В документации утверждается, что BUGS None known. Не могу понять что делать?

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

Сообщение Александр Мурый » 01 мар 2011, 12:19

eucrariano писал(а):Вот еще вопрос возник.
"d.profile rast=chern_11_elev_0.001@PERMANENT

Use mouse to choose action
No socket to connect to for monitor <x1>.
ERROR: No graphics device selected
Для работы модуля d.profile надо запустить вначале т.н. "графический монитор" (d.mon x0).
Можно проводить профили в wxGUI (которым, как я понял, вы пользуетесь) -- ищите спец.иконку (ниже на скриншоте), а также в Tcl/Tk
wxGUI_profile.png
wxGUI_profile.png (13.09 КБ) 7968 просмотров
Редактор материалов, модератор форума

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

Сообщение eucrariano » 01 мар 2011, 12:44

Спасибо! Все получилось. А ведь настолько очевидно !!! С v.hull также разобрался. Много лучше уже. Хотя конечно, чтобы идеально обрисовать контур территории, надо поработать немного руками. Спасибо еще раз за помощь.

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

Сообщение eucrariano » 01 мар 2011, 13:07

Уфф. Маски работают просто замечательно. Спасибо

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

Сообщение eucrariano » 01 мар 2011, 17:40

Еще вот вопрос: можно ли преобразовать замкнутый сложный контур в центроид или ареал штатными средствами GRASS?
Спасибо.

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

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

eucrariano писал(а):Еще вот вопрос: можно ли преобразовать замкнутый сложный контур в центроид или ареал штатными средствами GRASS?
В грасс полигон (area) = граница (boundary) + центроид (точка внутри границы, к которой относится информация о полигоне). Линия -- не граница, это отдельный векторный тип. Итак, нужно сделать из линии полигон?
Поехали:
-- модуль v.type переводит линию в границу

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

v.type input=object_line output=object_boundary type=line,boundary

-- далее либо вручную (v.digit / wxGUI), либо с помощью модуля v.category добавляем центроид внутрь нашей границы

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

v.category input=object_boundary output=object_boundary_cats option=add

Все, полигон готов.
Последний раз редактировалось Александр Мурый 01 мар 2011, 18:30, всего редактировалось 1 раз.
Редактор материалов, модератор форума

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

Сообщение eucrariano » 01 мар 2011, 18:26

Как всё-таки был прав В.И.Ленин: учится, учится и еще раз учится :D .
Спасибо.

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

Re: Проблема с построением ЦМР после импорта из MAPInfo

Сообщение eucrariano » 01 мар 2011, 22:39

amuriy писал(а):
eucrariano писал(а):Еще вот вопрос: можно ли преобразовать замкнутый сложный контур в центроид или ареал штатными средствами GRASS?
В грасс полигон (area) = граница (boundary) + центроид (точка внутри границы, к которой относится информация о полигоне). Линия -- не граница, это отдельный векторный тип. Итак, нужно сделать из линии полигон?
Поехали:
-- модуль v.type переводит линию в границу

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

v.type input=object_line output=object_boundary type=line,boundary

-- далее либо вручную (v.digit / wxGUI), либо с помощью модуля v.category добавляем центроид внутрь нашей границы

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

v.category input=object_boundary output=object_boundary_cats option=add

Все, полигон готов.
Получилось сделать задом наперед: внутри контура был создан центроид, я же вначале сам пробовал решить проблему, а когда запустил v.type input=object_line output=object_boundary type=line,boundary, то сразу создался центроид и залился серым цветом.

Ответить

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

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

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