Так версия GDAL то какая? Этот ключик должен работать начиная с 10 версии.wowka1319 писал(а):Добавил "-setci":
gdalwarp -t_srs EPSG:32654 -setci TEST_01.tiff TEST_01_setci.tiff
но почему-то он не сработал:
GDAL Warp - ошибка с 16бит
-
- Активный участник
- Сообщения: 218
- Зарегистрирован: 21 дек 2012, 01:57
- Репутация: 52
- Откуда: Питер
Re: GDAL Warp - ошибка с 16бит
-
- Гуру
- Сообщения: 4069
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1064
- Ваше звание: программист
- Откуда: Казань
Re: GDAL Warp - ошибка с 16бит
если не секрет, зачем вам вся эта борьба с этим ключиком, если ваши файлы нормально открываются в любой ГИС, и все каналы там присутствуют?wowka1319 писал(а):Добавил "-setci":
gdalwarp -t_srs EPSG:32654 -setci TEST_01.tiff TEST_01_setci.tiff
но почему-то он не сработал:
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: GDAL Warp - ошибка с 16бит
Пожалуйста: https://drive.google.com/file/d/0BzlLlH ... sp=sharingwowka1319 писал(а):
Прошу Дмитрия Барышникова сбросить мне результирующие файлы полученные из моих с ключом -setci.
-
- Участник
- Сообщения: 93
- Зарегистрирован: 04 дек 2013, 02:14
- Репутация: 1
Re: GDAL Warp - ошибка с 16бит
пробую программно:
// Create the output file.
hDstDS = (GDALDataset*) GDALCreate( hDriver, dst_filename, nPixels, nLines, hSrcDS->GetRasterCount(), eDT, NULL );
CPLAssert( hDstDS != NULL );
//Color Interpretation
hDstDS->GetRasterBand(1)->SetColorInterpretation(GCI_RedBand);
hDstDS->GetRasterBand(2)->SetColorInterpretation(GCI_GreenBand);
hDstDS->GetRasterBand(3)->SetColorInterpretation(GCI_BlueBand);
а на выходе опять файл с Gray/Undefined/Undefined
ЧЯДНТ?
// Create the output file.
hDstDS = (GDALDataset*) GDALCreate( hDriver, dst_filename, nPixels, nLines, hSrcDS->GetRasterCount(), eDT, NULL );
CPLAssert( hDstDS != NULL );
//Color Interpretation
hDstDS->GetRasterBand(1)->SetColorInterpretation(GCI_RedBand);
hDstDS->GetRasterBand(2)->SetColorInterpretation(GCI_GreenBand);
hDstDS->GetRasterBand(3)->SetColorInterpretation(GCI_BlueBand);
а на выходе опять файл с Gray/Undefined/Undefined
ЧЯДНТ?
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: GDAL Warp - ошибка с 16бит
Не воспроизводится:
gdalinfo d://out.tif
Код: Выделить всё
//test
GDALAllRegister();
const char *pszFormatr = "GTiff";
GDALDriver *pDriver = (GDALDriver*)GDALGetDriverByName(pszFormatr);
GDALDataset* poDstDataset = pDriver->Create("d://out.tif", 100, 100, 3, GDT_Byte, NULL);
OGRSpatialReference* oSRS = new OGRSpatialReference();
oSRS->importFromEPSG(3857);
char *pszSRS_WKT = NULL;
oSRS->exportToWkt(&pszSRS_WKT);
poDstDataset->SetProjection(pszSRS_WKT);
CPLFree(pszSRS_WKT);
poDstDataset->GetRasterBand(1)->SetColorInterpretation(GCI_RedBand);
poDstDataset->GetRasterBand(2)->SetColorInterpretation(GCI_GreenBand);
poDstDataset->GetRasterBand(3)->SetColorInterpretation(GCI_BlueBand);
GDALClose((GDALDatasetH)poDstDataset);
//end test
Driver: GTiff/GeoTIFF
Files: d:\out.tif
Size is 100, 100
Coordinate System is:
PROJCS["WGS 84 / Pseudo-Mercator",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]],
PROJECTION["Mercator_1SP"],
PARAMETER["central_meridian",0],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],
AUTHORITY["EPSG","3857"]]
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 100.0)
Upper Right ( 100.0, 0.0)
Lower Right ( 100.0, 100.0)
Center ( 50.0, 50.0)
Band 1 Block=100x27 Type=Byte, ColorInterp=Red
Band 2 Block=100x27 Type=Byte, ColorInterp=Green
Band 3 Block=100x27 Type=Byte, ColorInterp=Blue
Последний раз редактировалось Дмитрий Барышников 20 фев 2014, 12:19, всего редактировалось 1 раз.
-
- Участник
- Сообщения: 93
- Зарегистрирован: 04 дек 2013, 02:14
- Репутация: 1
Re: GDAL Warp - ошибка с 16бит
так у меня eDT = GDT_UInt16, а не GDT_Byte. С GDT_Byte и у меня работает.
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: GDAL Warp - ошибка с 16бит
Все равно не воспроизводится:
gdalinfo d:\out.tif
Код: Выделить всё
//test
GDALAllRegister();
const char *pszFormatr = "GTiff";
GDALDriver *pDriver = (GDALDriver*)GDALGetDriverByName(pszFormatr);
GDALDataset* poDstDataset = pDriver->Create("d://out.tif", 100, 100, 3, GDT_UInt16, NULL);
OGRSpatialReference* oSRS = new OGRSpatialReference();
oSRS->importFromEPSG(3857);
char *pszSRS_WKT = NULL;
oSRS->exportToWkt(&pszSRS_WKT);
poDstDataset->SetProjection(pszSRS_WKT);
CPLFree(pszSRS_WKT);
poDstDataset->GetRasterBand(1)->SetColorInterpretation(GCI_RedBand);
poDstDataset->GetRasterBand(2)->SetColorInterpretation(GCI_GreenBand);
poDstDataset->GetRasterBand(3)->SetColorInterpretation(GCI_BlueBand);
GDALClose((GDALDatasetH)poDstDataset);
//end test
Driver: GTiff/GeoTIFF
Files: d:\out.tif
Size is 100, 100
Coordinate System is:
PROJCS["WGS 84 / Pseudo-Mercator",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]],
PROJECTION["Mercator_1SP"],
PARAMETER["central_meridian",0],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],
AUTHORITY["EPSG","3857"]]
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 100.0)
Upper Right ( 100.0, 0.0)
Lower Right ( 100.0, 100.0)
Center ( 50.0, 50.0)
Band 1 Block=100x13 Type=UInt16, ColorInterp=Red
Band 2 Block=100x13 Type=UInt16, ColorInterp=Green
Band 3 Block=100x13 Type=UInt16, ColorInterp=Blue
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость