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

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

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

Сообщение Niklin » 22 май 2020, 12:55

В прикрепленном коде я обращаюсь к файлу и могу извлечь часть его значений, в том числе и координаты углов изображения, но проблема в том что я не могу извлечь остальные значения, к тому же у каждого значения есть значение высоты, которое тоже надо получить, можете подсказать как это сделать
Вложения
mtw.py
(3.41 КБ) 10 скачиваний

Аватара пользователя
Эдуард Казаков
Завсегдатай
Сообщения: 459
Зарегистрирован: 23 апр 2014, 17:11
Статьи: 3
Репутация: 446
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение Эдуард Казаков » 23 май 2020, 14:32

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

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

Считывайте матрицу нужного канала целиком:
a = dataset.GetRasterBand(1).ReadAsArray()
И работайте с ней как с numpy array.

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

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

Сообщение Niklin » 24 май 2020, 08:01

Эдуард Казаков писал(а):
23 май 2020, 14:32
Что за растр у вас?
вот ссылка на мой файл https://mega.nz/file/HaQhFYRT#r0Wrb5Sl9 ... u6gAVlTaS4
У каждого значения есть высота, значит что для каждой пары координат X Y есть высота Z

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

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

Сообщение gamm » 24 май 2020, 08:19

Niklin писал(а):
24 май 2020, 08:01
каждого значения есть высота
у вас вместо нормальных растровых данных панорамовская mtw, для нее любые чудеса возможны. Конвертируйте данные в GeoTIFF, и не мучайтесь, примеры выше для нормального формата написаны.

tikhpetr
Завсегдатай
Сообщения: 455
Зарегистрирован: 30 окт 2014, 16:33
Репутация: 51
Откуда: г. Жуковский МО

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

Сообщение tikhpetr » 24 май 2020, 10:38

gamm, Вы (правда уважаемый) уверены картинка при переводе в другой формат оставит место для вычислений?

tikhpetr
Завсегдатай
Сообщения: 455
Зарегистрирован: 30 окт 2014, 16:33
Репутация: 51
Откуда: г. Жуковский МО

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

Сообщение tikhpetr » 24 май 2020, 10:39

что. Забыл.))

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

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

Сообщение gamm » 24 май 2020, 10:55

tikhpetr писал(а):
24 май 2020, 10:38
картинка
я уверен, что с картинками нужно работать в фотошопе. GDAL предназначен для работы с данными. Возможно, у вас превратное представление о формате GeoTIFF, про него можно прочитать RTFM

tikhpetr
Завсегдатай
Сообщения: 455
Зарегистрирован: 30 окт 2014, 16:33
Репутация: 51
Откуда: г. Жуковский МО

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

Сообщение tikhpetr » 24 май 2020, 11:09

Я, малек, про другое. Пачку "Беломора" нельзя превратить в в калькулируемый растр.

tikhpetr
Завсегдатай
Сообщения: 455
Зарегистрирован: 30 окт 2014, 16:33
Репутация: 51
Откуда: г. Жуковский МО

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

Сообщение tikhpetr » 24 май 2020, 11:11

Я опять забыл, ИМХО.

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

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

Сообщение Niklin » 24 май 2020, 14:00

gamm писал(а):
24 май 2020, 08:19
Конвертируйте данные в GeoTIFF
Как это можно сделать с помощью gdal в питон? и как потом получить все координаты с высотами?

Аватара пользователя
Эдуард Казаков
Завсегдатай
Сообщения: 459
Зарегистрирован: 23 апр 2014, 17:11
Статьи: 3
Репутация: 446
Откуда: Санкт-Петербург
Контактная информация:

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()

lam
Гуру
Сообщения: 881
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 208

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

Сообщение lam » 24 май 2020, 16:29

BBC
Вложения
BBC.7z
(834.57 КБ) 4 скачивания

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

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

Сообщение Niklin » 24 май 2020, 20:11

Эдуард Казаков писал(а):
24 май 2020, 14:39
значение высоты в ячейке в первой строке, первом столбце матрицы
На скриншоте, то о чем вы говорите? это результат выполнения a = dataset.GetRasterBand(1).ReadAsArray()
Вложения
Снимок.PNG
Снимок.PNG (7.71 КБ) 69 просмотров

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

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

Сообщение gamm » 24 май 2020, 20:22

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

Если очень хочется делать это из питона, запишите командный файл, и запустите изнутри. И работайте потом с нормальными данными. Панорамовское чудо неподвластно никаким стандартам западным, драйвер писали энтузиасты, написали, как смогли, в мире он никому не нужен, значит никто его допиливать и чистить не будет.

Ответить

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

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

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