Страница 1 из 1

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 КБ) 10322 просмотра