Получение значений растра по точечным профилям

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

Получение значений растра по точечным профилям

Сообщение updates-bot » 28 июл 2011, 17:31

Обсуждение статьи "Получение значений растра по точечным профилям"

В статье приводится описание программы на Python использующей GDAL/OGR для эффективного извлечения данных из серий растров по наборам точек.

Здесь обсуждается статья и этот инструмент.

http://gis-lab.info/qa/extract-values-rasters.html

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение kryl » 09 авг 2011, 08:22

W7 x64 qgis trank библиотеки по умолчанию
Ошибку выдает

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

D:\arcwork\krasnodar\regr>extract_values.py -c -r statistika.shp 2010-07-15t090717_re2_1b-nac_373899
8_87493__37.tif
Traceback (most recent call last):
  File "D:\arcwork\krasnodar\regr\extract_values.py", line 34, in <module>
    import gdal, ogr, osr
  File "C:\OSGeo4W\apps\Python25\lib\site-packages\gdal.py", line 2, in <module>
    from osgeo.gdal import deprecation_warn
  File "C:\OSGeo4W\apps\Python25\lib\site-packages\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\OSGeo4W\apps\Python25\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helpe
r
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: Module use of python25.dll conflicts with this version of Python.
D:\arcwork\krasnodar\regr>

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Статьи: 31
Проекты: 4/1
Репутация: 32
Откуда: Ukraine

Re: Получение значений растра по точечным профилям

Сообщение Voltron » 09 авг 2011, 09:44

А если запускать так

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

python extract_values.py -c -r statistika.shp 2010-07-15t090717_re2_1b-nac_3738998_87493__37.tif

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение kryl » 09 авг 2011, 12:36

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

D:\arcwork\krasnodar\regr>python extract_values.py -c -r statistika.shp 2010-07-15t090717_re2_1b-nac
_3738998_87493__37.tif
Found GDAL version: 1.8.0

ERROR 4: `statistika.shp' not recognised as a supported file format.

ERROR 4: `2010-07-15t090717_re2_1b-nac_3738998_87493__37.tif' does not exist in the file system,
and is not recognised as a supported dataset name.

[

Completed in 0.0639998912811 sec.

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение kryl » 09 авг 2011, 12:41

Растр 16-битный 5 канальный Rapid EYE, в вектор с 30 колонками атрибутов

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение kryl » 09 авг 2011, 12:48

так у растре видимо ему не нравилось длинное имя, в шейпе то что он был полигональный
переделал
теперь так

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

D:\arcwork\krasnodar\regr>python extract_values.py -c -r sh2.shp r1.tif
Found GDAL version: 1.8.0

ERROR 4: `sh2.shp' not recognised as a supported file format.

[ ----------------------------------------------------------------- ] / 100.0%Traceback (most recent
 call last):
  File "extract_values.py", line 495, in <module>
    row += ( col[ i ], )
IndexError: list index out of range

D:\arcwork\krasnodar\regr>

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение kryl » 09 авг 2011, 14:49

Ругаться ругается, а файлик тем не менее пишет

Whiplash--
Новоприбывший
Сообщения: 5
Зарегистрирован: 02 апр 2013, 09:33
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение Whiplash-- » 02 апр 2013, 09:38

Добрый день!
Запустил скрипт, но результат неудачный. Выдает следующую ошибку:

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

C:\samotlor>python extract_values.py -c -r k40.shp k40_1.tif
Traceback (most recent call last):
  File "extract_values.py", line 34, in <module>
    import gdal, ogr, osr
  File "C:\OSGeo4W\apps\Python27\lib\site-packages\gdal.py", line 2, in <module>

    from osgeo.gdal import deprecation_warn
  File "C:\OSGeo4W\apps\Python27\lib\site-packages\osgeo\__init__.py", line 21,
in <module>
    _gdal = swig_import_helper()
  File "C:\OSGeo4W\apps\Python27\lib\site-packages\osgeo\__init__.py", line 17,
in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: DLL load failed: ═х эрщфхэ єърчрээ√щ ьюфєы№.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8910
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 644
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Получение значений растра по точечным профилям

Сообщение Максим Дубинин » 02 апр 2013, 12:41

а попробуйте не скрипт, а просто gdal_merge например сказать, тоже ругнется?
пристегивайтесь, турбулентность прямо по курсу

Whiplash--
Новоприбывший
Сообщения: 5
Зарегистрирован: 02 апр 2013, 09:33
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение Whiplash-- » 02 апр 2013, 18:36

да-да, аналогичную ошибку выдает

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 8910
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 644
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Получение значений растра по точечным профилям

Сообщение Максим Дубинин » 02 апр 2013, 19:37

значит проблема не в этом скрипте, windows 64битная?
пристегивайтесь, турбулентность прямо по курсу

Whiplash--
Новоприбывший
Сообщения: 5
Зарегистрирован: 02 апр 2013, 09:33
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение Whiplash-- » 02 апр 2013, 20:39

нет, XP 32-битная

Whiplash--
Новоприбывший
Сообщения: 5
Зарегистрирован: 02 апр 2013, 09:33
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение Whiplash-- » 02 апр 2013, 20:40

возможно у меня проблемы с QGIS. Сейчас переустанавливаю весь комплекс программ. После попробую и сообщу результат.

Whiplash--
Новоприбывший
Сообщения: 5
Зарегистрирован: 02 апр 2013, 09:33
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение Whiplash-- » 03 апр 2013, 06:56

проблемы решились сами собой после переустановки QGIS со всем причитающимся.
Огромное спасибо за скрипт!!!

lpalao
Новоприбывший
Сообщения: 1
Зарегистрирован: 05 июн 2014, 05:54
Репутация: 0

Re: Получение значений растра по точечным профилям

Сообщение lpalao » 05 июн 2014, 06:11

Hi Users,

Could you help me run the Etract Values at raster script. I was exploring it since yesterday but it throws error or gives me NULL values. Can somebody from this forum assist me.

Thanks,
-Leo

Here is the argument that I am trying to execute in OSGeo4W shell:

1. It cannot handle the flag -c I do not know why it does not accept but it is in the tutorial

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

E:\Test_modis>python extract_values.py -c pts.shp 2013041 2013049 2013057 201306
5 2013073
Found GDAL version: 1.10.1

ERROR 4: `pts.shp' not recognised as a supported file format.

Unable to open shapefile -c
2. this argument gives me result but the values are all NULL.

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

E:\Test_modis>python extract_values.py pts.shp 2013041 2013049 2013057 2013065 2
013073
Found GDAL version: 1.10.1

[                                                                   ] \   0.1%Tr
aceback (most recent call last):
  File "extract_values.py", line 411, in <module>
    inFeat.SetField( shortName, value )
  File "C:\OSGeo4W\apps\Python27\lib\site-packages\osgeo\ogr.py", line 2572, in
SetField
    return _ogr.Feature_SetField(self, *args)
NotImplementedError: Wrong number of arguments for overloaded function 'Feature_
SetField'.
  Possible C/C++ prototypes are:
    SetField(OGRFeatureShadow *,int,char const *)
    SetField(OGRFeatureShadow *,char const *,char const *)
    SetField(OGRFeatureShadow *,int,int)
    SetField(OGRFeatureShadow *,char const *,int)
    SetField(OGRFeatureShadow *,int,double)
    SetField(OGRFeatureShadow *,char const *,double)
    SetField(OGRFeatureShadow *,int,int,int,int,int,int,int,int)
    SetField(OGRFeatureShadow *,char const *,int,int,int,int,int,int,int)

Ответить

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