GRASS: как разрезать растр на части линиями

Решенные задачи, первая запись - описание решения.
Ответить
Александр Мурый
Гуру
Сообщения: 5065
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 721
Ваше звание: званий не имею
Откуда: Москва

GRASS: как разрезать растр на части линиями

Сообщение Александр Мурый » 22 авг 2012, 17:06

Иногда стоит задача разрезать растр на части произвольной линией, пересекающей его (или несколькими линиями).

Для решения задачи был написан модуль GRASS r.split.line в виде шелл-скрипта (работает в GRASS 6.4.*).

Опции:

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

GRASS 6.4.2svn (spearfish60):~ > ./r.split.line -help

Description:
 Split raster into parts with vector line(s). Lines MUST intersect the whole raster map.

Keywords:
 raster,vector

Usage:
 r.split.line raster=name line=name [--verbose] [--quiet]

Flags:
 --v   Verbose module output
 --q   Quiet module output

Parameters:
  raster   Name of input raster map
    line   Name of vector map with line(s)

На входе скрипту задаётся исходный растр для "нарезки" и векторная карта с линиями (нужны именно линии, границы не обрабатываются). Главное условие -- чтобы линии пересекали ВЕСЬ растр, немного выходя за его границы. На выходе -- растры с именами типа имя_исходного_растра.part{номер}.

Пример разбиения растра (набор данных "Spearfish", растр <elevation.10m>) с анимацией в GIF.
r_split_line_sm.gif
r_split_line_sm.gif (776.34 КБ) 2063 просмотра
Редактор материалов, модератор форума

Ответить

Вернуться в «Рецепты»