ERROR 6 in GRASS r.neightbors

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
OlegPrs
Интересующийся
Сообщения: 21
Зарегистрирован: 05 фев 2019, 05:17
Репутация: 1
Откуда: Украина

ERROR 6 in GRASS r.neightbors

Сообщение OlegPrs » 22 авг 2019, 17:00

Всем привет! Мучаюсь с проблемой в GRASSе, хотел применить фильтр для классифицированного снимка S2 - r.neightbors, причем классификацию проводил в SCP. Начал он мне ругаться

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

ERROR 6: SetColorTable() only supported for Byte or UInt16 bands in TIFF format.
Попробовал поменять формат в gdal_translate на Byte и UInt16, не помогло, пустой растр выходит.

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: ERROR 6 in GRASS r.neightbors

Сообщение gamm » 23 авг 2019, 06:51

все строки скрипта покажите, какой фильтр и на что SetColorTable() напускали, там случаем не результат усреднения после фильтра? Этот фильтр r.neighbors вроде вообще не для классификации

OlegPrs
Интересующийся
Сообщения: 21
Зарегистрирован: 05 фев 2019, 05:17
Репутация: 1
Откуда: Украина

Re: ERROR 6 in GRASS r.neightbors

Сообщение OlegPrs » 23 авг 2019, 07:21

Полный лог

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

Выполняется алгоритм…
Algorithm 'r.neighbors' starting…
Входные параметры:
{ '-a' : False, '-c' : False, 'GRASS_RASTER_FORMAT_META' : '', 'GRASS_RASTER_FORMAT_OPT' : '', 'GRASS_REGION_CELLSIZE_PARAMETER' : 0, 'GRASS_REGION_PARAMETER' : None, 'gauss' : 0, 'input' : 'C:/Users/BoR/Desktop/Chernobyl/Satellite/S2/EE/MultispecS2/ExtentChEZ/Result/Classification/Result/1MinDist.tif', 'method' : 2, 'output' : 'C:/Users/BoR/AppData/Local/Temp/processing_5f0f4ec965d9431fbc778094203c5ee1/11fada24e7944c1d8715a5c77b283361/output.tif', 'quantile' : '', 'selection' : None, 'size' : 7, 'weight' : '' }

g.proj -c proj4="+proj=utm +zone=35 +datum=WGS84 +units=m +no_defs"
r.external input="C:\Users\BoR\Desktop\Chernobyl\Satellite\S2\EE\MultispecS2\ExtentChEZ\Result\Classification\Result\1MinDist.tif" band=1 output="rast_5d5f699786dd02" --overwrite -o
g.region n=5714910.0 s=5661530.0 e=749310.0 w=657260.0 res=10.0
r.neighbors input=rast_5d5f699786dd02 method="mode" size=7 gauss=0 output=outpute7ef6ec9004c4f9abde083980912729e --overwrite
g.region raster=outpute7ef6ec9004c4f9abde083980912729e
r.out.gdal -t -m input="outpute7ef6ec9004c4f9abde083980912729e" output="C:\Users\BoR\AppData\Local\Temp\processing_5f0f4ec965d9431fbc778094203c5ee1\11fada24e7944c1d8715a5c77b283361\output.tif" format="GTiff" createopt="TFW=YES,COMPRESS=LZW" --overwrite
Starting GRASS GIS...
ПРЕДУПРЕЖДЕНИЕ: Concurrent mapset locking is not supported on Windows
Executing <C:\Users\BoR\AppData\Local\Temp\processing_5f0f4ec965d9431fbc778094203c5ee1\grassdata\grass_batch_job.cmd> ...
C:\Windows\System32>chcp 1251 1>NUL
C:\Windows\System32>g.proj -c proj4="+proj=utm +zone=35 +datum=WGS84 +units=m +no_defs"
Default region was updated to the new projection, but if you have multiple mapsets `g.region -d` should be run in each to update the region from the default
Projection information updated
C:\Windows\System32>r.external input="C:\Users\BoR\Desktop\Chernobyl\Satellite\S2\EE\MultispecS2\ExtentChEZ\Result\Classification\Result\1MinDist.tif" band=1 output="rast_5d5f699786dd02" --overwrite -o
Over-riding projection check
Reading band 1 of 1...
r.external завершен. Link to raster map <rast_5d5f699786dd02> created.
C:\Windows\System32>g.region n=5714910.0 s=5661530.0 e=749310.0 w=657260.0 res=10.0
C:\Windows\System32>r.neighbors input=rast_5d5f699786dd02 method="mode" size=7 gauss=0 output=outpute7ef6ec9004c4f9abde083980912729e --overwrite
0..3..6..9..12..15..18..21..24..27..30..33..36..39..42..45..48..51..54..57..60..63..66..69..72..75..78..81..84..87..90..93..96..99..100
C:\Windows\System32>g.region raster=outpute7ef6ec9004c4f9abde083980912729e
C:\Windows\System32>r.out.gdal -t -m input="outpute7ef6ec9004c4f9abde083980912729e" output="C:\Users\BoR\AppData\Local\Temp\processing_5f0f4ec965d9431fbc778094203c5ee1\11fada24e7944c1d8715a5c77b283361\output.tif" format="GTiff" createopt="TFW=YES,COMPRESS=LZW" --overwrite
ERROR 6: SetColorTable() only supported for Byte or UInt16 bands in TIFF format.
Checking GDAL data type and nodata value...
2..5..8..11..14..17..20..23..26..29..32..35..38..41..44..47..50..53..56..59..62..65..68..71..74..77..80..83..86..89..92..95..98..100
Using GDAL data type <Int32>
Input raster map contains cells with NULL-value (no-data). The value -2147483648 will be used to represent no-data values in the input map. You can specify a nodata value with the nodata option.
Exporting raster data to GTiff format...
2..5..8..11..14..17..20..23..26..29..32..35..38..41..44..47..50..53..56..59..62..65..68..71..74..77..80..83..86..89..92..95..98..100
r.out.gdal завершен. File <C:\Users\BoR\AppData\Local\Temp\processing_5f0f4ec965d9431fbc778094203c5ee1\11fada24e7944c1d8715a5c77b283361\output.tif> created.
C:\Windows\System32>exit
Execution of <C:\Users\BoR\AppData\Local\Temp\processing_5f0f4ec965d9431fbc778094203c5ee1\grassdata\grass_batch_job.cmd> finished.
Cleaning up temporary files...
Выполнение завершено за  11.24 сек.
Результаты:
{'output': <QgsProcessingOutputLayerDefinition {'sink':C:/Users/BoR/AppData/Local/Temp/processing_5f0f4ec965d9431fbc778094203c5ee1/11fada24e7944c1d8715a5c77b283361/output.tif, 'createOptions': {'fileEncoding': 'System'}}>}

Загрузить результирующие слои
Алгоритм "r.neighbors" завершен

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: ERROR 6 in GRASS r.neightbors

Сообщение gamm » 23 авг 2019, 08:22

Судя по всему, r.out.gdal порождает int32, или входной файл не нравится. Посмотрите, какой тип у результата классификации.

OlegPrs
Интересующийся
Сообщения: 21
Зарегистрирован: 05 фев 2019, 05:17
Репутация: 1
Откуда: Украина

Re: ERROR 6 in GRASS r.neightbors

Сообщение OlegPrs » 23 авг 2019, 17:12

gamm писал(а):
23 авг 2019, 08:22
Судя по всему, r.out.gdal порождает int32
Видимо так и есть . Подскажите пожалуйста, можно ведь прописать флаг или параметр типа -string=byte? Или же как можно решить данную проблему?

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: ERROR 6 in GRASS r.neightbors

Сообщение gamm » 23 авг 2019, 18:26

OlegPrs писал(а):
23 авг 2019, 17:12
параметр типа -string=byte
там же написаны варианты (string заменяется конкретным кодом):
type=Byte
type=UInt16

все варианты:
Options: Byte, Int16, UInt16, Int32, UInt32, Float32, Float64, CInt16, CInt32, CFloat32, CFloat64

OlegPrs
Интересующийся
Сообщения: 21
Зарегистрирован: 05 фев 2019, 05:17
Репутация: 1
Откуда: Украина

Re: ERROR 6 in GRASS r.neightbors

Сообщение OlegPrs » 23 авг 2019, 20:29

Благодарстаую!

Ответить

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

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

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