Работа с растрами при помощи GDAL и Python

Обсуждение материалов сайта: вопросы, замечания, предложения
updates-bot
Bot
Сообщения: 276
Зарегистрирован: 03 фев 2008, 23:13
Репутация: 3

Работа с растрами при помощи GDAL и Python

Сообщение updates-bot »

Обсуждение статьи "Работа с растрами при помощи GDAL и Python"

http://gis-lab.info/qa/gdal-python.html
Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Работа с растрами при помощи GDAL и Python

Сообщение Aleksander »

Есть ли в составе gdal функции для уменьшения разрешения растра (не передискретизации с изменением разрешения, а именно уменьшения разрешения путем усреднения в пределах квадратов пикселей, например, 4*4) ?
Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Работа с растрами при помощи GDAL и Python

Сообщение Дмитрий Барышников »

В самом GDAL в чистом виде нет.
Можно посмотреть http://www.gdal.org/gdal__alg_8h.html#4 ... 009078426f но цель его другая - апроксимация для уменьшения кол-ва вычислений.
И еще в Google нашел http://www.jenningsplanet.com/fileadmin ... lter3x3.py
Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Работа с растрами при помощи GDAL и Python

Сообщение Aleksander »

Спасибо!
Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Работа с растрами при помощи GDAL и Python

Сообщение Aleksander »

Нашел данную функцию в R (пакет raster, функция aggregate)
ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с растрами при помощи GDAL и Python

Сообщение ilmir35 »

Всем привет. Я импортирую модули:

Код: Выделить всё

import gdal
import _gdal
from gdalconst import *
from _gdal import ptrcreate
Но питон ругается на ptrcreate:
AttributeError: 'module' object has no attribute 'ptrcreate'

Этот компонент нужно отдельно скачивать чтоли?
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Работа с растрами при помощи GDAL и Python

Сообщение Александр Мурый »

ilmir35 писал(а):...питон ругается на ptrcreate:
AttributeError: 'module' object has no attribute 'ptrcreate'
Откуда вы взяли "_gdal" и "ptrcreate"? В API такого не находится.
Редактор материалов, модератор форума
ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с растрами при помощи GDAL и Python

Сообщение ilmir35 »

Я много где видел использование _gdal, например, http://svn.osgeo.org/gdal/tags/gdal_1_2_0/pymod/gdal.py
И у меня его питон принимает.
ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с растрами при помощи GDAL и Python

Сообщение ilmir35 »

И в вашей ссылке он есть. Если нажать на osgeo.gdal и прокрутить вниз.
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Работа с растрами при помощи GDAL и Python

Сообщение Александр Мурый »

ilmir35 писал(а):Я много где видел использование _gdal, например, http://svn.osgeo.org/gdal/tags/gdal_1_2_0/pymod/gdal.py
И у меня его питон принимает.
А у меня не понимает.Вы видели дату последнего изменения в указанном вами скрипте?
# Revision 1.58 2004/02/25 09:04:33
Что-то мне кажется, что с 2004 года много воды утекло :)
Редактор материалов, модератор форума
ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с растрами при помощи GDAL и Python

Сообщение ilmir35 »

У меня есть источник 2009 года, но там работают через FWTools. Возможно что эти компоненты туда встроены. Но я сомневаюсь что их нет в osgeo4w.
ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с растрами при помощи GDAL и Python

Сообщение ilmir35 »

Вообще мне нужно реализовать вот эту функцию:
def GetBlockSize(band):
x = _gdal.ptrcreate('int', 0, 2)
_gdal.GDALGetBlockSize(band._o, x, _gdal.ptradd(x, 1))
result = (_gdal.ptrvalue(x, 0), _gdal.ptrvalue(x, 1))
_gdal.ptrfree(x)
return result
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Работа с растрами при помощи GDAL и Python

Сообщение Александр Мурый »

ilmir35 писал(а):У меня есть источник 2009 года, но там работают через FWTools. Возможно что эти компоненты туда встроены. Но я сомневаюсь что их нет в osgeo4w.
Надо посмотреть, что запаковано в OSGeo4W. У меня GDAL 1.9.0 на Linux, там никаких "ptrcreate" нет.
Но "_gdal" импортируется, да.
Редактор материалов, модератор форума
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Работа с растрами при помощи GDAL и Python

Сообщение Александр Мурый »

ilmir35 писал(а):Вообще мне нужно реализовать вот эту функцию:
def GetBlockSize(band):
Такая функция уже есть. Вам надо переписать её заново "с нуля"? В чём состоит задача?
Редактор материалов, модератор форума
ilmir35
Интересующийся
Сообщения: 26
Зарегистрирован: 18 апр 2013, 11:24
Репутация: 0

Re: Работа с растрами при помощи GDAL и Python

Сообщение ilmir35 »

Переписывать не надо. Она мне нужна для считывание полей из .img файла (get the band and block sizes).
Ответить

Вернуться в «Материалы сайта»

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

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