Страница 1 из 1
извлечение информации из файла с помощью GDAL
Добавлено: 22 май 2020, 12:55
Niklin
В прикрепленном коде я обращаюсь к файлу и могу извлечь часть его значений, в том числе и координаты углов изображения, но проблема в том что я не могу извлечь остальные значения, к тому же у каждого значения есть значение высоты, которое тоже надо получить, можете подсказать как это сделать
Re: извлечение информации из файла с помощью GDAL
Добавлено: 23 май 2020, 14:32
Эдуард Казаков
Что за растр у вас? Как понять "у каждого значения есть значение высоты" - многоканальный растр, где в одном из каналов высота?
Действительно ли нужно считывать кусками:
line = gdalBand.ReadAsArray( 0, 0, 1781, 1994 )
?
Считывайте матрицу нужного канала целиком:
a = dataset.GetRasterBand(1).ReadAsArray()
И работайте с ней как с numpy array.
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 08:01
Niklin
Эдуард Казаков писал(а): ↑23 май 2020, 14:32Что за растр у вас?
вот ссылка на мой файл
https://mega.nz/file/HaQhFYRT#r0Wrb5Sl9 ... u6gAVlTaS4
У каждого значения есть высота, значит что для каждой пары координат X Y есть высота Z
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 08:19
gamm
Niklin писал(а): ↑24 май 2020, 08:01каждого значения есть высота
у вас вместо нормальных растровых данных панорамовская mtw, для нее любые чудеса возможны. Конвертируйте данные в GeoTIFF, и не мучайтесь, примеры выше для нормального формата написаны.
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 10:38
tikhpetr
gamm, Вы (правда уважаемый) уверены картинка при переводе в другой формат оставит место для вычислений?
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 10:39
tikhpetr
что. Забыл.))
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 10:55
gamm
tikhpetr писал(а): ↑24 май 2020, 10:38картинка
я уверен, что с картинками нужно работать в фотошопе. GDAL предназначен для работы с данными. Возможно, у вас превратное представление о формате GeoTIFF, про него можно прочитать
RTFM
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 11:09
tikhpetr
Я, малек, про другое. Пачку "Беломора" нельзя превратить в в калькулируемый растр.
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 11:11
tikhpetr
Я опять забыл, ИМХО.
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 14:00
Niklin
gamm писал(а): ↑24 май 2020, 08:19Конвертируйте данные в GeoTIFF
Как это можно сделать с помощью gdal в питон? и как потом получить все координаты с высотами?
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 14:39
Эдуард Казаков
Когда вы считываете массив значений
a = dataset.GetRasterBand(1).ReadAsArray()
Это уже и есть матрица с высотами
a[0,0] - значение высоты в ячейке в первой строке, первом столбце матрицы.
a[100,50] - значение высоты в ячейке в 100 строке, 50 столбце матрицы.
Географические координаты напрямую для каждой ячейки не хранятся. Но их легко добыть.
Когда вы выполняете
gt = dataset.GetGeoTransform()
в переменной gt описано географическое положение верхнего левого угла матрицы, её разворот и размер каждой ячейки. Зная это, можно для конкретной интересующей ячейки вычислить географическую координату (вы знаете количество шагов от известного угла и размер шага).
Все координаты - в СК описанной в
dataset.GetProjection()
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 16:29
lam
BBC
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 20:11
Niklin
Эдуард Казаков писал(а): ↑24 май 2020, 14:39значение высоты в ячейке в первой строке, первом столбце матрицы
На скриншоте, то о чем вы говорите? это результат выполнения a = dataset.GetRasterBand(1).ReadAsArray()
Re: извлечение информации из файла с помощью GDAL
Добавлено: 24 май 2020, 20:22
gamm
Niklin писал(а): ↑24 май 2020, 14:00Как это можно сделать с помощью gdal в питон?
запустите командную строку, и для начала gdalinfo, посмотрите, что у вас в этом чуде панорамовском лежит. А потом командной строкой конвертируйте в GeoTIFF.
RTFM
Если очень хочется делать это из питона, запишите командный файл, и запустите изнутри. И работайте потом с нормальными данными. Панорамовское чудо неподвластно никаким стандартам западным, драйвер писали энтузиасты, написали, как смогли, в мире он никому не нужен, значит никто его допиливать и чистить не будет.
Re: извлечение информации из файла с помощью GDAL
Добавлено: 26 май 2020, 09:38
Niklin
А что вообще показывают эти значение -2147483648, потому что если строить изображение про тем высотам то все испортится из-за этих значений, можно ли их как-то убрать?