Скрипты Grass применительно к Landsat

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Скрипты Grass применительно к Landsat

Сообщение KolesovDmitry » 18 фев 2011, 08:08

kryl, покажите, пожалуйста, как вы вызываете скрипт импорта. Есть подозрение, что вы создаете новый mapset в который и импортируете ваши ландсаты....

alexkarta
Участник
Сообщения: 91
Зарегистрирован: 27 янв 2009, 00:22
Репутация: 0

Re: Скрипты Grass применительно к Landsat

Сообщение alexkarta » 18 фев 2011, 08:52

[quote="amuriy"]

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

CFLAGS="-g -Wall" ./configure \


что делает флаг CFLAGS="-g -Wall"?

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

Re: Скрипты Grass применительно к Landsat

Сообщение kryl » 18 фев 2011, 09:45

amuriy писал(а):озвучьте уже наконец вашу прекрасную систему-незнакомку :)
Ubuntu 10.10

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

Re: Скрипты Grass применительно к Landsat

Сообщение kryl » 18 фев 2011, 09:50

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

--prefix=/home/user/bin/grass-6.4.0RC6/grass-6.4.0
- это то откуда ставится GRASS или то куда он ставится?

alexkarta
Участник
Сообщения: 91
Зарегистрирован: 27 янв 2009, 00:22
Репутация: 0

Re: Скрипты Grass применительно к Landsat

Сообщение alexkarta » 18 фев 2011, 10:00

это куда все будет ставится.

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

Re: Скрипты Grass применительно к Landsat

Сообщение kryl » 18 фев 2011, 10:02

KolesovDmitry писал(а):kryl, покажите, пожалуйста, как вы вызываете скрипт импорта. Есть подозрение, что вы создаете новый mapset в который и импортируете ваши ландсаты....
Зашел в грасс, создал location по кадру landsat (из GUI) перешел в папку с landsat запустил ./import.py

alexkarta
Участник
Сообщения: 91
Зарегистрирован: 27 янв 2009, 00:22
Репутация: 0

Re: Скрипты Grass применительно к Landsat

Сообщение alexkarta » 18 фев 2011, 10:24

странный у вас получается растр B10@L7116601901919990815.


name = os.path.splitext(file)[0].split('_')[-1]
grass.run_command('r.in.gdal',input = ffile, output = name, quiet = True, overwrite = True,title = 'kanal %d' % kanal)

Если понимаю верно, по задумке авторов скрипта, выходной растр должен иметь такое же иля как последний элемент имени tif файла, разбитого по "_", а у вас имя растра B10 в L7116601901919990815 мапсете - очень странно. Как называются tif-ы, приведите пример, лень качать landsat?

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

Re: Скрипты Grass применительно к Landsat

Сообщение Александр Мурый » 18 фев 2011, 10:59

alexkarta писал(а): что делает флаг CFLAGS="-g -Wall"?
Эти флаги были изначально взяты со этой страницы GRASS-Wiki, вот я их и использую везде..
Вроде бы, так: -g включает "отладку" (debugging); -Wall отвечает за формат системных сообщений.

===============================
KolesovDmitry писал(а):kryl, покажите, пожалуйста, как вы вызываете скрипт импорта. Есть подозрение, что вы создаете новый mapset в который и импортируете ваши ландсаты....
Там на вики-странице так и сказано: For each image creates its own mapset and imports bands as B<id>, e.g. B10, B20, ..., B80.

Мне кажется, что проблема здесь в исходных именах файлов, надо их посмотреть..
Редактор материалов, модератор форума

Григорий
Активный участник
Сообщения: 148
Зарегистрирован: 27 окт 2003, 12:39
Репутация: 2
Откуда: Москва
Контактная информация:

Re: Скрипты Grass применительно к Landsat

Сообщение Григорий » 18 фев 2011, 11:29

Стандартные файлы Landsat называются примерно так: L71091016_01619990902_B10.tif, L71091016_01619990902_B20.tif и т.д. В этой записи последние 4 знака указывают на спектральную зону.

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

Re: Скрипты Grass применительно к Landsat

Сообщение Александр Мурый » 18 фев 2011, 15:25

Ещё мысль по сборке из исходников:

Перед сборкой войти в установленную из бинарников версию GRASS, набрать в ком. строке "g.version -b"
-- появится информация о конфигурации типа

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

# ./configure  --host=i486-linux-gnu --build=i486-linux-gnu --prefix=/usr/lib...
Так можно посмотреть пути к компонентам, нужным для установки.
Редактор материалов, модератор форума

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Скрипты Grass применительно к Landsat

Сообщение KolesovDmitry » 18 фев 2011, 19:39

alexkarta писал(а):странный у вас получается растр B10@L7116601901919990815.
Вот это название и наталкивает на мысль, что они импортировались в mapset под названием L7116601901919990815.

kryl, напишите, пожалуйста, результат вывода команды:

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

g.mlist rast
Тогда по крайней мере будет понятно так ли это или нет.

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

Re: Скрипты Grass применительно к Landsat

Сообщение kryl » 19 фев 2011, 11:05

--with-lapack-includes=/usr/lib/grass64/include/grass/ \ Папка должна существовать или он ее создаст и что то туда положит?

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

Re: Скрипты Grass применительно к Landsat

Сообщение kryl » 19 фев 2011, 11:09

попробовал

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

CFLAGS="-g -Wall" ./configure \
--prefix=/home/kryl/grass641 \
--enable-largefile --enable-shared --with-readline --with-cairo \
--with-sqlite --with-postgres \
--with-postgres-includes=/usr/include/postgresql/ --with-freetype \
--with-freetype-includes=/usr/include/freetype2 --with-cxx \
--with-tcltk --with-tcltk-includes=/usr/include/ \
--with-python=/usr/bin/python2.6-config \
--with-wxwidgets=/usr/bin/wx-config --with-proj-share=/usr/share/proj \
--with-mysql --with-mysql-includes=/usr/include/mysql --with-odbc \
--with-blas --with-blas-includes=/usr/lib/grass64/include/grass/ \
--with-blas-libs=/usr/lib/ --with-lapack \
--with-lapack-includes=/usr/lib/grass64/include/grass/ \
--with-lapack-libs=/usr/lib/
получил

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

checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler (gcc -g -Wall ) works... yes
checking whether the C compiler (gcc -g -Wall ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for executable suffix... no
checking for full floating-point support... yes
checking for pwd... /bin/pwd
checking for source directory... /home/kryl/grass-6.4.1RC1
checking for build directory... /home/kryl/grass-6.4.1RC1
checking for MacOSX App... no
checking for MacOSX architectures... no
checking for MacOSX SDK... no
checking how to build libraries... shared
checking for ranlib... ranlib
checking how to run the C preprocessor... gcc -E
checking if 64bit support is requested... no
checking if 64bit Sparc VIS support is requested... no
checking system version (for dynamic loading)... Linux-2.6.35-25-generic-pae
checking for dlopen in -ldl... yes
checking for ar... ar
checking for additional include dirs... 
checking for additional library dirs... 
checking for a BSD compatible install... /usr/bin/install -c
checking for flex... flex
checking for yywrap in -lfl... yes
checking for bison... bison -y
checking for ranlib... ranlib
checking for ar... ar
checking for env... env
checking for perl... /usr/bin/perl
checking for ANSI C header files... yes
checking for limits.h... yes
checking for termio.h... yes
checking for termios.h... yes
checking for unistd.h... yes
checking for values.h... yes
checking for f2c.h... no
checking for g2c.h... no
checking for sys/ioctl.h... yes
checking for sys/mtio.h... yes
checking for sys/resource.h... yes
checking for sys/time.h... yes
checking for sys/timeb.h... yes
checking for sys/types.h... yes
checking for sys/utsname.h... yes
checking for libintl.h... yes
checking for iconv.h... yes
checking for langinfo.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking for off_t... yes
checking for uid_t in sys/types.h... yes
checking return type of signal handlers... void
checking for Cygwin environment... no
checking for ftime... yes
checking for gethostname... yes
checking for gettimeofday... yes
checking for lseek... yes
checking for nice... yes
checking for time... yes
checking for uname... yes
checking for seteuid... yes
checking for setpriority... yes
checking for setreuid... yes
checking for setruid... no
checking for drand48... yes
checking for putenv... yes
checking for setenv... yes
checking for nanosleep... yes
checking whether setpgrp takes no argument... yes
checking for long long int... yes
checking for W11... no
checking for X... libraries , headers 
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether to use Curses... yes
checking for curses.h... yes
checking curses.h WINDOW structure component... _maxy
checking for initscr in -lncurses... yes
checking for keypad in -lncurses... yes
checking for gtty in -lcompat... no
checking for gtty in -lbsd-compat... yes
checking for library containing cuserid... none required
checking for xdrmem_create... yes
checking for asprintf... yes
checking for atan... no
checking for atan in -lm... yes
checking for dlsym... no
checking for dlsym in -ldl... yes
checking for iconv... yes
checking for socket... yes
checking for location of zlib includes... 
checking for zlib.h... yes
checking for location of zlib library... 
checking for deflate in -lz... yes
checking for location of External PROJ.4 includes... 
checking for proj_api.h... no
configure: error: *** Unable to locate External PROJ.4 includes.
Критична ли ошибка с PROJ.4?

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

Re: Скрипты Grass применительно к Landsat

Сообщение Александр Мурый » 19 фев 2011, 11:17

kryl писал(а):--with-lapack-includes=/usr/lib/grass64/include/grass/ \ Папка должна существовать или он ее создаст и что то туда положит?
Все директории, которые указываются, должны уже существовать. Из них скрипт-конфигуратор берёт нужные файлы.
kryl писал(а):Критична ли ошибка с PROJ.4?
Ещё как, что за ГИС без координатных преобразований? :) Без proj4 просто не соберётся.
Выполните в командной строке следующее:

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

locate proj_api.h
Должно получиться что-то вроде

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

/usr/include/proj_api.h

Вот этот путь и введите: --with-proj-includes=/usr/include

===================================================================================
Как видите, действовать нужно методом "проб и ошибок" и несколько раз проверять / конфигурировать.
Очень помогают команды locate нужный_файл, whereis нужный_файл

Посмотрел ещё, у меня, например, так:

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

--with-lapack-includes=/usr/include/grass/
--with-blas-includes=/usr/include/grass/
Редактор материалов, модератор форума

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

Re: Скрипты Grass применительно к Landsat

Сообщение kryl » 19 фев 2011, 11:48

proj доставил.
теперь не хватает
--with-lapack-includes=/usr/lib/grass64/include/grass/ \
--with-blas --with-blas-includes=/usr/lib/grass64/include/grass/ \
оно нужно?
если нужно то где его искать\докачивать?

Ответить

Вернуться в «GRASS»

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

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