Растр из текстовой матрицы
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Растр из текстовой матрицы
Можно ли в QGIS или напрямую в GDAL преобразовать матрицу с разделителями пробелами в tif? Может ее нужно перед импортом как-то специальным образом подготовить?
Последний раз редактировалось bolotoved 19 окт 2011, 08:02, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Растр из тектовой матрицы
txt --> CSV --> VRT --> gdal_rasterize
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Растр из тектовой матрицы
Что-то застрял на стадии CSV --> VRT
В приложении собственно матрица, разделители -- запятые. 360*180.
Прописал команду:
Спрашивает про параметры -l, -a, как их правильно указать?
В приложении собственно матрица, разделители -- запятые. 360*180.
Прописал команду:
Код: Выделить всё
gdal_rasterize -ts 360 180 matrix.csv matrix.vrt
Спрашивает про параметры -l, -a, как их правильно указать?
- Вложения
-
matrix.csv
- (126.56 КБ) 590 скачиваний
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Растр из тектовой матрицы
gdal_rasterize делает tif уже из готового vrt. Готовить VRT надо по этому рецепту.
Матрица довольно ужасная. Хотя нет, не матрица, а то, что это CSV.
Для перевода в VRT текст нужен в несколько полей, желательно XYZ, где Z -- значение, по к-й будем делать растр, а XY -- координаты точек.
Матрица довольно ужасная. Хотя нет, не матрица, а то, что это CSV.
Для перевода в VRT текст нужен в несколько полей, желательно XYZ, где Z -- значение, по к-й будем делать растр, а XY -- координаты точек.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Растр из тектовой матрицы
Да уж 
Полагаю, что должен быть какой-то иной способ преобразования матрицы m*n в растр, пусть и без привязки.

Полагаю, что должен быть какой-то иной способ преобразования матрицы m*n в растр, пусть и без привязки.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Растр из тектовой матрицы
Такой способ есть. Матрицу загоняем в массив NumPy, потом это безобразие сохраняется как канал растра. Все
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Растр из тектовой матрицы
или превратить матрицу в ASCII растр убрав все переводы строки и добавив минимальный заголовок
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Растр из тектовой матрицы
Подытожим.Максим Дубинин писал(а):или превратить матрицу в ASCII растр убрав все переводы строки и добавив минимальный заголовок
Чтобы преобразовать матрицу m*n в растр нужно:
1. Представить ее в виде массива где в качестве разделителя используется пробел.
2. Прописать заголовок файла в формате Arc/Info ASCII Grid, который понимает GDAL через драйвер AAIGrid. Для матрицы 360*180, (представляющий массив с разрешением 1 градус на весь мир) он будет выглядеть так:
Код: Выделить всё
ncols 360
nrows 180
xllcorner -180.000000000000
yllcorner -90.000000000000
cellsize 1.000000000000
nodata_value 0
ncols -- количество колонок матрицы
nrows -- количество строк матрицы
xllcorner -- координаты западной границы участка
yllcorner -- координаты южной границы участка
cellsize -- разрешение растра (в градусах?)
nodata_value -- значение "нет данных".
Примечание: координаты могут указываться в десятичных градусах или в формате DD:MM:SS
3. Поменять расширение текстового файла на asc.
4. Полученный файл можно открыть в QGIS и экспортировать в любой другой растровый формат.
Последний раз редактировалось bolotoved 19 окт 2011, 08:18, всего редактировалось 2 раза.
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Растр из тектовой матрицы
То есть, говоря русским языком, добавить заголовок в формате Arc/Info ASCII Grid, который понимает GDAL через драйвер AAIGrid. Там еще всякие параметры имеются.
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Растр из текстовой матрицы
Спасибо, поправил.
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Растр из текстовой матрицы
Есть "подводный камень".
Те параметры xllcorner, yllcorner, которые предложены, указывают на соответствующие края растра, если природа данных такова, что отсчеты находятся в центрах ячеек, и известны именно их координаты, то использовать надо параметры xllcenter, yllcenter
Те параметры xllcorner, yllcorner, которые предложены, указывают на соответствующие края растра, если природа данных такова, что отсчеты находятся в центрах ячеек, и известны именно их координаты, то использовать надо параметры xllcenter, yllcenter
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость