Страница 1 из 4
Получение значений растра по точечным профилям
Добавлено: 28 июл 2011, 17:31
updates-bot
Обсуждение статьи
"Получение значений растра по точечным профилям"
В статье приводится описание программы на Python использующей GDAL/OGR для эффективного извлечения данных из серий растров по наборам точек.
Здесь обсуждается статья и этот инструмент.
http://gis-lab.info/qa/extract-values-rasters.html
Re: Получение значений растра по точечным профилям
Добавлено: 09 авг 2011, 08:22
kryl
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>
Re: Получение значений растра по точечным профилям
Добавлено: 09 авг 2011, 09:44
Voltron
А если запускать так
Код: Выделить всё
python extract_values.py -c -r statistika.shp 2010-07-15t090717_re2_1b-nac_3738998_87493__37.tif
Re: Получение значений растра по точечным профилям
Добавлено: 09 авг 2011, 12:36
kryl
Код: Выделить всё
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.
Re: Получение значений растра по точечным профилям
Добавлено: 09 авг 2011, 12:41
kryl
Растр 16-битный 5 канальный Rapid EYE, в вектор с 30 колонками атрибутов
Re: Получение значений растра по точечным профилям
Добавлено: 09 авг 2011, 12:48
kryl
так у растре видимо ему не нравилось длинное имя, в шейпе то что он был полигональный
переделал
теперь так
Код: Выделить всё
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>
Re: Получение значений растра по точечным профилям
Добавлено: 09 авг 2011, 14:49
kryl
Ругаться ругается, а файлик тем не менее пишет
Re: Получение значений растра по точечным профилям
Добавлено: 02 апр 2013, 09:38
Whiplash--
Добрый день!
Запустил скрипт, но результат неудачный. Выдает следующую ошибку:
Код: Выделить всё
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: ═х эрщфхэ єърчрээ√щ ьюфєы№.
Re: Получение значений растра по точечным профилям
Добавлено: 02 апр 2013, 12:41
Максим Дубинин
а попробуйте не скрипт, а просто gdal_merge например сказать, тоже ругнется?
Re: Получение значений растра по точечным профилям
Добавлено: 02 апр 2013, 18:36
Whiplash--
да-да, аналогичную ошибку выдает
Re: Получение значений растра по точечным профилям
Добавлено: 02 апр 2013, 19:37
Максим Дубинин
значит проблема не в этом скрипте, windows 64битная?
Re: Получение значений растра по точечным профилям
Добавлено: 02 апр 2013, 20:39
Whiplash--
нет, XP 32-битная
Re: Получение значений растра по точечным профилям
Добавлено: 02 апр 2013, 20:40
Whiplash--
возможно у меня проблемы с QGIS. Сейчас переустанавливаю весь комплекс программ. После попробую и сообщу результат.
Re: Получение значений растра по точечным профилям
Добавлено: 03 апр 2013, 06:56
Whiplash--
проблемы решились сами собой после переустановки QGIS со всем причитающимся.
Огромное спасибо за скрипт!!!
Re: Получение значений растра по точечным профилям
Добавлено: 05 июн 2014, 06:11
lpalao
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)