Помогите с установкой gdal-calculations

Кроме QGIS
Ответить
Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Помогите с установкой gdal-calculations

Сообщение Boris » 29 май 2015, 20:01

Мне понадобился потоковый обработчик растров командной для простейших операций. Суть задачи такая:
Есть много растров покромсанных на почти стандартные планшеты 1:10000. Надо убедится, что растры верно привязаны и граница растра совпадает с границей векторной планшета. Растры "тяжелые" и их много, просмотр глазами без минимальной автоматизации занимает много времени и нетехнологичен.
В одном из шагов понадобился gdal_calc, что бы каждый растр превратить в бинарный - маска/немаска, что бы потом его потоком отвекторизовать. Выкидываем мелкие пятна, что совпадают с "маской" из вектора (не знаю почему, но всегда есть на сниках, которые приходят со стороны) и получаем границы значимого расторового поля. Натравив на полученные растро-планшеты анализ их соотносимости с обычными планшетами, получаем набор мест, где надо проверить глазами.
И тут с gdal_calc возникают проблемы. Во-первых, не любит русских букв, и в отличии от остальных скриптов из набора GDAL, обрабатывает входные параметры - иначе (поэтому это вопрос и не в разделе GDAL/OGR). Во-вторых, каждые 2 и 3 запусков, заканчиваются ошибкой gdal_cal ошибка python (winx64)? (на нее никто не ответил, так что надежду разобраться, что к чему в этом скрипте я уже похоронил). А вот в сети я нашел другую версию калькулятора командной строки - gdal-calculations. Я запускаю установку, а она ругается, что нет python'a у регистре. Странно, т.к. python'ов на машине как минимум два. Но не спорю, может обе установки с gdal (OSgeo4W и Next-QGIS) себя не регистрируют. Поставил для этого случая отдельно python 2.7. Запустил инсталляцию. Программа отработала, но установленная программа исчезла.
Собственно вопросов два:
1. как запустить это установленный скрипт
2. можно ли егот добавить в папку \bin\ к остальным скриптам GDAL и как заставить его работать там?
PS
Хотя есть и третий вопрос - а может есть другой геокалькулятор командной строки, который отработает и без всех этих излишних мучений с соотнесение python'ов между собой?

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Помогите с установкой gdal-calculations

Сообщение Ariki » 29 май 2015, 22:23

Несколько питонов на одной машине - это источник постоянных неудобств. Но интерпретаторы, что идут в поставке различных программ, обычно не добавляют себя в PYTHONPATH и PYTHONHOME на постоянной основе, так что не мешают другим. Исключение - ArcGIS :evil:

Системная переменная PYTHONPATH указывает на каталоги, в которых Python ищет модули. В вашем случае, скорее всего, она не задана, потому инсталлятор модуля не находит Python. Подробнее здесь.

Вы можете установить значение этой переменной, чтобы она указывала на каталоги одной из ваших инсталляций, либо установить свежий Python с официального сайта. Но тогда все используемые модули, включая привязки GDAL, придётся установить в каталог нового интерпретатора. Кстати, что значит "установленная программа исчезла"?

Существует инструмент для управления изолированными окружениями Python - virtualenv, - но это скорее для опытных пользователей.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Помогите с установкой gdal-calculations

Сообщение Boris » 30 май 2015, 00:46

Ariki писал(а):Кстати, что значит "установленная программа исчезла"?
Значит, что инсталятор отработал. Ругнулся на отсутствие питона. Я его поставил - 2.7... с официального сайта. Т.е. уже 3-й Python на машине (как минимум).
Поставил еще раз - инсталятор отработал. Куда делся скрипт и как его вызвать - не нахожу.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Помогите с установкой gdal-calculations

Сообщение Boris » 30 май 2015, 00:49

Спасибо за наводку! :)
Зашел я в каталог инсталлированного питона. Как оказалось он себя в реестре прописал, а путей не установил.( Может так и надо :shock: ). Но у меня уже есть два настроенных окружения для GDal - QGIS и OSGeo
Я поиском нашел, все что содержало в названии gdal-calculations и скопировал в аналогичные каталоги для QGIS Python.
Сам скрипт оказался спрятан в "C:\Python27\Lib\site-packages\gdal_calculations".
А файл gdal_calculate без расширения лежал в "C:\Python27\Scripts"

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

python -m gdal_calculations "$@"
И gdal-calculations-wininst.log в "C:\Python27\"
Спойлер
*** Installation started 2015/05/28 01:55 ***
Source: Y:\MO\gdal-calculations-1.1.win-amd64.exe
999 Root Key: HKEY_CURRENT_USER
020 Reg DB Key: [Software\Microsoft\Windows\CurrentVersion\Uninstall]gdal-calculations-py2.7
040 Reg DB Value: [Software\Microsoft\Windows\CurrentVersion\Uninstall\gdal-calculations-py2.7]DisplayName=Python 2.7 gdal-calculations-1.1
040 Reg DB Value: [Software\Microsoft\Windows\CurrentVersion\Uninstall\gdal-calculations-py2.7]UninstallString="C:\Python27\Removegdal-calculations.exe" -u "C:\Python27\gdal-calculations-wininst.log"
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations-1.1.egg-info
100 Made Dir: C:\Python27\Lib\site-packages\gdal_calculations
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\conversions.py
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\geometry.py
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\gdal_dataset.py
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\__init__.py
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\__main__.py
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\environment.py
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\gdal_calculate.py
200 File Copy: C:\Python27\Scripts\gdal_calculate
200 File Copy: C:\Python27\README
200 File Copy: C:\Python27\COPYING
200 File Copy: C:\Python27\NEWS
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\gdal_calculate.pyc
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\environment.pyc
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\__main__.pyc
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\__init__.pyc
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\gdal_dataset.pyc
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\geometry.pyc
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\conversions.pyc
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\gdal_calculate.pyo
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\environment.pyo
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\__main__.pyo
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\__init__.pyo
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\gdal_dataset.pyo
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\geometry.pyo
200 File Copy: C:\Python27\Lib\site-packages\gdal_calculations\conversions.pyo
Я по примеру QGIS GDAL'а искал файл *.py в каталогах со скриптами.
Не понял, как запускают скрипт, но команда

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

python -m gdal_calculations -A "Y:\MO\OF-LZW\z1\8\50-45-79-Б.tif" --out="m1.tif" --calc="(A[0]>254)*A[0]" --co TFW=YES --creation-option COMPRESS=LZW --overwrite
из командной строки отработала как ожидалось. И без ругани на русские буквы в названии. Переменные окружения вот такие:

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

GDAL_DATA=C:\NextGIS_QGIS\\share\gdal
GDAL_DRIVER_PATH=C:\NextGIS_QGIS\\bin\gdalplugins
GDAL_FILENAME_IS_UTF8=NO
Path=C:\NextGIS_QGIS\\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\GnuWin32\bin\;C:\NextGIS.QGIS\bin\;C:\Program Files (x86)\WinRAR;C:\Utils;C:\Program Files\7-Zip;C:\NextGIS_QGIS\\apps\msys\bin;C:\NextGIS_QGIS\\apps\Python27\Scripts
PYTHONHOME=C:\NextGIS_QGIS\\apps\Python27
gdal_calculations.rar
Все, что нашлось поиском по "gdal_calc"
(90.25 КБ) 361 скачивание

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Помогите с установкой gdal-calculations

Сообщение Boris » 30 май 2015, 00:51

После указанных выше манипуляций, создался результат расчетов. И сжат был как хотелось. Единственное, что при завершении работы скрипта опять "упал" Phython. :evil: Что то в этих манипуляциях не нравится Windows. :cry:

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Помогите с установкой gdal-calculations

Сообщение Ariki » 31 май 2015, 01:31

Эта проблема не только у вас.

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

Re: Помогите с установкой gdal-calculations

Сообщение Александр Мурый » 03 июн 2015, 08:35

Как вариант, можно было бы попробовать GRASS 7 для "потокового обработчика растров":
- создать общую область/набор для растров с нужной СК и охватом;
- с помощью Питон-скрипта прогнать все растры по циклу (r.external - ссылка на растр; r.mapcalc - создание маски; r.to.vect - векторизация маски; далее можно получить пересечения линий, если надо; и т.д.)
Редактор материалов, модератор форума

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

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

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