извлечение информации из файла с помощью GDAL

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Niklin
Новоприбывший
Сообщения: 8
Зарегистрирован: 22 май 2020, 12:51
Репутация: 0
Откуда: Новосибирск

извлечение информации из файла с помощью GDAL

Сообщение Niklin »

В прикрепленном коде я обращаюсь к файлу и могу извлечь часть его значений, в том числе и координаты углов изображения, но проблема в том что я не могу извлечь остальные значения, к тому же у каждого значения есть значение высоты, которое тоже надо получить, можете подсказать как это сделать
Вложения
mtw.py
(3.41 КБ) 392 скачивания
Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

Re: извлечение информации из файла с помощью GDAL

Сообщение Эдуард Казаков »

Что за растр у вас? Как понять "у каждого значения есть значение высоты" - многоканальный растр, где в одном из каналов высота?

Действительно ли нужно считывать кусками:
line = gdalBand.ReadAsArray( 0, 0, 1781, 1994 )
?

Считывайте матрицу нужного канала целиком:
a = dataset.GetRasterBand(1).ReadAsArray()
И работайте с ней как с numpy array.
Niklin
Новоприбывший
Сообщения: 8
Зарегистрирован: 22 май 2020, 12:51
Репутация: 0
Откуда: Новосибирск

Re: извлечение информации из файла с помощью GDAL

Сообщение Niklin »

Эдуард Казаков писал(а): 23 май 2020, 14:32Что за растр у вас?
вот ссылка на мой файл https://mega.nz/file/HaQhFYRT#r0Wrb5Sl9 ... u6gAVlTaS4
У каждого значения есть высота, значит что для каждой пары координат X Y есть высота Z
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: извлечение информации из файла с помощью GDAL

Сообщение gamm »

Niklin писал(а): 24 май 2020, 08:01каждого значения есть высота
у вас вместо нормальных растровых данных панорамовская mtw, для нее любые чудеса возможны. Конвертируйте данные в GeoTIFF, и не мучайтесь, примеры выше для нормального формата написаны.
tikhpetr
Гуру
Сообщения: 1153
Зарегистрирован: 30 окт 2014, 16:33
Репутация: -248090239
Откуда: г. Жуковский МО

Re: извлечение информации из файла с помощью GDAL

Сообщение tikhpetr »

gamm, Вы (правда уважаемый) уверены картинка при переводе в другой формат оставит место для вычислений?
tikhpetr
Гуру
Сообщения: 1153
Зарегистрирован: 30 окт 2014, 16:33
Репутация: -248090239
Откуда: г. Жуковский МО

Re: извлечение информации из файла с помощью GDAL

Сообщение tikhpetr »

что. Забыл.))
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: извлечение информации из файла с помощью GDAL

Сообщение gamm »

tikhpetr писал(а): 24 май 2020, 10:38картинка
я уверен, что с картинками нужно работать в фотошопе. GDAL предназначен для работы с данными. Возможно, у вас превратное представление о формате GeoTIFF, про него можно прочитать RTFM
tikhpetr
Гуру
Сообщения: 1153
Зарегистрирован: 30 окт 2014, 16:33
Репутация: -248090239
Откуда: г. Жуковский МО

Re: извлечение информации из файла с помощью GDAL

Сообщение tikhpetr »

Я, малек, про другое. Пачку "Беломора" нельзя превратить в в калькулируемый растр.
tikhpetr
Гуру
Сообщения: 1153
Зарегистрирован: 30 окт 2014, 16:33
Репутация: -248090239
Откуда: г. Жуковский МО

Re: извлечение информации из файла с помощью GDAL

Сообщение tikhpetr »

Я опять забыл, ИМХО.
Niklin
Новоприбывший
Сообщения: 8
Зарегистрирован: 22 май 2020, 12:51
Репутация: 0
Откуда: Новосибирск

Re: извлечение информации из файла с помощью GDAL

Сообщение Niklin »

gamm писал(а): 24 май 2020, 08:19Конвертируйте данные в GeoTIFF
Как это можно сделать с помощью gdal в питон? и как потом получить все координаты с высотами?
Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

Re: извлечение информации из файла с помощью GDAL

Сообщение Эдуард Казаков »

Когда вы считываете массив значений
a = dataset.GetRasterBand(1).ReadAsArray()
Это уже и есть матрица с высотами
a[0,0] - значение высоты в ячейке в первой строке, первом столбце матрицы.
a[100,50] - значение высоты в ячейке в 100 строке, 50 столбце матрицы.
Географические координаты напрямую для каждой ячейки не хранятся. Но их легко добыть.
Когда вы выполняете
gt = dataset.GetGeoTransform()
в переменной gt описано географическое положение верхнего левого угла матрицы, её разворот и размер каждой ячейки. Зная это, можно для конкретной интересующей ячейки вычислить географическую координату (вы знаете количество шагов от известного угла и размер шага).
Все координаты - в СК описанной в
dataset.GetProjection()
lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: извлечение информации из файла с помощью GDAL

Сообщение lam »

BBC
Вложения
BBC.7z
(834.57 КБ) 365 скачиваний
Niklin
Новоприбывший
Сообщения: 8
Зарегистрирован: 22 май 2020, 12:51
Репутация: 0
Откуда: Новосибирск

Re: извлечение информации из файла с помощью GDAL

Сообщение Niklin »

Эдуард Казаков писал(а): 24 май 2020, 14:39значение высоты в ячейке в первой строке, первом столбце матрицы
На скриншоте, то о чем вы говорите? это результат выполнения a = dataset.GetRasterBand(1).ReadAsArray()
Последний раз редактировалось Niklin 30 май 2020, 10:54, всего редактировалось 1 раз.
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: извлечение информации из файла с помощью GDAL

Сообщение gamm »

Niklin писал(а): 24 май 2020, 14:00Как это можно сделать с помощью gdal в питон?
запустите командную строку, и для начала gdalinfo, посмотрите, что у вас в этом чуде панорамовском лежит. А потом командной строкой конвертируйте в GeoTIFF. RTFM

Если очень хочется делать это из питона, запишите командный файл, и запустите изнутри. И работайте потом с нормальными данными. Панорамовское чудо неподвластно никаким стандартам западным, драйвер писали энтузиасты, написали, как смогли, в мире он никому не нужен, значит никто его допиливать и чистить не будет.
Niklin
Новоприбывший
Сообщения: 8
Зарегистрирован: 22 май 2020, 12:51
Репутация: 0
Откуда: Новосибирск

Re: извлечение информации из файла с помощью GDAL

Сообщение Niklin »

А что вообще показывают эти значение -2147483648, потому что если строить изображение про тем высотам то все испортится из-за этих значений, можно ли их как-то убрать?
Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость