Наложение сетки (*.shp) на растр (geoTiff)
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Наложение сетки (*.shp) на растр (geoTiff)
Доброго времени суток!
Буду крайне признателен за советы по решению следующей задачи. У меня есть растровая карта в формате geoTiff и сетка в формате *.shp. Мне нужно наложить эту сетку на растр, а затем посчитать статистику для отдельных "клеток".
В QGIS сетка накладывается на растр автоматически и без проблем. В R я обнаруживаю следующее. Значения extent для растра (xmin, xmax, ymin, ymax): -180.0014, 179.9986, -64.99861, 90.00139. Здесь все понятно, растр охватывает почти всю планету и это координаты охвата по широте и долготе.
Для сетки, которая охватывает только европейскую часть России, значения extent: 4868503, 7630526, 2673137, 6869717 (xmin, xmax, ymin, ymax). Очевидно, это уже какой-то другой формат, потому что эти числа не могут быть значениями широты и долготы. Соответственно, попытки изобразить сетку и растр на одном графике ни к чему не приводят.
Вопрос: как переформатировать значения extent и привести их к единому виду? Какую функцию использовать для расчета статистики по клеткам сетки ИЛИ для извлечения координат "углов" сетки? Спасибо.
Буду крайне признателен за советы по решению следующей задачи. У меня есть растровая карта в формате geoTiff и сетка в формате *.shp. Мне нужно наложить эту сетку на растр, а затем посчитать статистику для отдельных "клеток".
В QGIS сетка накладывается на растр автоматически и без проблем. В R я обнаруживаю следующее. Значения extent для растра (xmin, xmax, ymin, ymax): -180.0014, 179.9986, -64.99861, 90.00139. Здесь все понятно, растр охватывает почти всю планету и это координаты охвата по широте и долготе.
Для сетки, которая охватывает только европейскую часть России, значения extent: 4868503, 7630526, 2673137, 6869717 (xmin, xmax, ymin, ymax). Очевидно, это уже какой-то другой формат, потому что эти числа не могут быть значениями широты и долготы. Соответственно, попытки изобразить сетку и растр на одном графике ни к чему не приводят.
Вопрос: как переформатировать значения extent и привести их к единому виду? Какую функцию использовать для расчета статистики по клеткам сетки ИЛИ для извлечения координат "углов" сетки? Спасибо.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
- nadiopt
- Гуру
- Сообщения: 4744
- Зарегистрирован: 29 янв 2009, 13:27
- Репутация: 495
- Ваше звание: хрюкало
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Наложение сетки (*.shp) на растр (geoTiff)
многациффр. у сетки и растра одинаковая система координат?
ин гроссен фамилен нихт клювен клац клац
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Наложение сетки (*.shp) на растр (geoTiff)
Изначально - нет, но я изменяю проекцию у растра с помощью функции projection() из пакета rastr. Значения extent при этом остаются прежними.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Наложение сетки (*.shp) на растр (geoTiff)
Код: Выделить всё
crs.1 <- vector@proj4string # СК сетки
crs.2 <- raster@crs # СК растра
vector.2 <- spTransform(vector, crs.2) # перепроецируем сетку в СК растра
raster.cr <- crop(raster, vector.2) # обрезаем по сетке
raster.1 <- projectRaster(raster.cr, crs.1) # перепроецируем обрезанный растр в СК сетки
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Наложение сетки (*.shp) на растр (geoTiff)
rhot писал(а):Код: Выделить всё
raster.cr <- crop(raster, vector.2) # обрезаем по сетке [/quote] В этом месте возникает заминка: [color=#FF0000]Error in .local(x, y, ...) : extents do not overlap[/color] Насколько я понимаю, это связано с тем, что extent двух файлов по-прежнему не совпадают.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Наложение сетки (*.shp) на растр (geoTiff)
а какой получается экстент у перепроицированной сетки?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Наложение сетки (*.shp) на растр (geoTiff)
Прошу прощения, нашел у себя ошибку, Ваш код работает! Большое спасибо! А можно ли как-то извлечь координаты узлов этой сетки, для подстановки в функцию crop() и расчета статистики по клеткам?
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Наложение сетки (*.shp) на растр (geoTiff)
Можно, но это уже будет новая тема. Одна тема - один вопрос.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 29 окт 2014, 17:48
- Репутация: 0
Re: Наложение сетки (*.shp) на растр (geoTiff)
ОК.
>>> Odd-Bird.do.am — Библиография научных работ о птицах России <<<
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 24 гостя