Код: Выделить всё
gdalwarp -cutline mask??.shp raster??.tif raster_warped??.tif
Геоинформационные системы (ГИС) и Дистанционное зондирование Земли
Код: Выделить всё
gdalwarp -cutline mask??.shp raster??.tif raster_warped??.tif
Код: Выделить всё
for i in $(seq -w 01 10); do gdalwarp -cutline mask$i.shp raster$i.tif raster_warped$i.tif; done
Код: Выделить всё
for i in $(seq -w 0 1); do gdalwarp P-43-$(i*2+1),$(i*2+2).tif P43-$(i*2+1),$(i*2+2)_warped.jpg; done
Посмотрите в сторону связки GDAL+Python (вводная статья). В принципе, можно размеры растра и на bash получить, только муторно.mak-vas писал(а):Меня интересует копирование разрешения файла по x и y с помощью gdalinfo.
Есть ли альтернатива этому методу, которую можно было бы автоматизировать (как в вашем цикле выше)?
Код: Выделить всё
:~$ gdalinfo raster.jpg | grep "Size is" | cut -d" " -f3,4 | sed -e 's/,//'
1000 1500
Код: Выделить всё
:~$ gdalinfo raster.jpg | grep "Size is" | tr -d 'Size is' | tr ',' ' '
1000 1500
Код: Выделить всё
size=$(gdalinfo raster.jpg | grep "Size is" | cut -d" " -f3,4 | sed -e 's/,//')
Да я собственно и не спорю, что на bash тоже можно и ничего сложного там нет (не windows же). Просто явно размеры нужны не просто так, возможно, и другие параметры понадобятся и хитрая обработка. Потому и предложилamuriy писал(а):Каждый питон.. тьфу, каждый кулик своё болото хвалит.
<------------------------- skip ---------------------------------------->
Честно, не вижу, что здесь муторного. Фильтруем вывод gdalinfo (grep), разделяем на части и выводим только 3-ю и 4-ю (cut), убираем запятую (sed). Всё в одну строку.
А как же bash и «свое болото»?amuriy писал(а):Можно увидеть такой же вывод размера на питоне? Статью читал, но прошу понимающих помочь (надо учиться).
Код: Выделить всё
from osgeo import gdal
ds = gdal.Open( "/path/to/raster.tiff" )
print "Raster size", ds.RasterXSize, "x", ds.RasterYSize
Код: Выделить всё
Raster size 8251 x 7501
"Подрихтовать" у топокарт информацию о СК и обрезать по вектору -- это явно не тот случай. Вот когда несколько каналов и т.п. -- то да, питон + GDAL.Voltron писал(а):Просто явно размеры нужны не просто так, возможно, и другие параметры понадобятся и хитрая обработка.
Надо учиться питону, он сейчас везде + всё-таки полноценный ЯП. А от баша никуда не деться (ну разве что только пересесть на zsh).Voltron писал(а): А как же bash и «свое болото»?
Отлично, а как получить чистые размеры "8251 7501" ?Voltron писал(а): РезультатКод: Выделить всё
Raster size 8251 x 7501
Туплю чего-то.. Конечно же:amuriy писал(а): ..а как получить чистые размеры "8251 7501" ?
Код: Выделить всё
# -*- coding: utf-8 -*-
#!/usr/bin/env python
from osgeo import gdal
ds = gdal.Open( "/path/to/raster.tif" )
print ds.RasterXSize, ds.RasterYSize
Код: Выделить всё
X="100k--p42-107_108
100k--p42-119_120"
for x in $X
do
gdalwarp -s_srs EPSG:2502 -t_srs EPSG:28413 -dstalpha -cutline $x'.shp' -of GTiff -co "COMPRESS=LZW" $x'.tif' $x'_tr.tif'
done
Ну да, типа GPL и всё такое.mak-vas писал(а): Потом подразберусь с башем и вмонтирую это в сценарий amuriy (надеюсь он по открытой лицензии распространяется? ):
А зачем точно указывать исходную проекцию? gdalwarp читает входную проекцию из файла (если она не пропущена там), можно указывать только выходную.mak-vas писал(а): Как вытащить из геотифа информацию о коде EPSG?[/b] Какая строка какой команды содержит его в себе? Я хочу, чтобы в вышеприведённом цикле проекция источника назначалась сама, без моего участия. gdalinfo не даёт этой информации в явном виде (или я не прав?).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 28 гостей
© GIS-Lab и авторы, 2002-2017. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).