Skip to content
Commits on Source (4)
......@@ -123,7 +123,7 @@ COSAR driver:
* avoid out-of-bound write on corrupted dataset. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12360.
 
EEDA driver:
* report 'path' metdata in 'path' field
* switch to v1alpha API (#1506)
 
GPKG driver:
* allow negative srs_id values in gpkg_spatial_ref_sys
......
gdal (3.0.0~rc2+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
-- Bas Couwenberg <sebastic@debian.org> Sun, 05 May 2019 12:29:44 +0200
gdal (3.0.0~rc1+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
......
......@@ -65,7 +65,7 @@ std::vector<EEDAIBandDesc> BuildBandDescArray(json_object* poBands,
continue;
GDALDataType eDT = GDT_Byte;
bool bSignedByte = false;
if( EQUAL(pszPrecision, "INTEGER") )
if( EQUAL(pszPrecision, "INT") )
{
json_object* poRange = CPL_json_object_object_get(poDataType,
"range");
......@@ -108,11 +108,11 @@ std::vector<EEDAIBandDesc> BuildBandDescArray(json_object* poBands,
}
}
}
else if( EQUAL(pszPrecision, "FLOAT32") )
else if( EQUAL(pszPrecision, "FLOAT") )
{
eDT = GDT_Float32;
}
else if( EQUAL(pszPrecision, "FLOAT64") )
else if( EQUAL(pszPrecision, "DOUBLE") )
{
eDT = GDT_Float64;
}
......
......@@ -200,19 +200,19 @@ GDALEEDALayer::GDALEEDALayer(GDALEEDADataset* poDS,
m_poFeatureDefn->AddFieldDefn(&oFieldDefn);
}
{
OGRFieldDefn oFieldDefn("path", OFTString);
OGRFieldDefn oFieldDefn("gdal_dataset", OFTString);
m_poFeatureDefn->AddFieldDefn(&oFieldDefn);
}
{
OGRFieldDefn oFieldDefn("gdal_dataset", OFTString);
OGRFieldDefn oFieldDefn("updateTime", OFTDateTime);
m_poFeatureDefn->AddFieldDefn(&oFieldDefn);
}
{
OGRFieldDefn oFieldDefn("time", OFTDateTime);
OGRFieldDefn oFieldDefn("startTime", OFTDateTime);
m_poFeatureDefn->AddFieldDefn(&oFieldDefn);
}
{
OGRFieldDefn oFieldDefn("updateTime", OFTDateTime);
OGRFieldDefn oFieldDefn("endTime", OFTDateTime);
m_poFeatureDefn->AddFieldDefn(&oFieldDefn);
}
{
......@@ -442,7 +442,7 @@ OGRFeature* GDALEEDALayer::GetNextRawFeature()
return nullptr;
m_poCurPageAssets = CPL_json_object_object_get(
m_poCurPageObj, "assets");
m_poCurPageObj, "images");
}
if( m_poCurPageAssets == nullptr ||
......@@ -503,15 +503,8 @@ OGRFeature* GDALEEDALayer::GetNextRawFeature()
poFeature->SetField("id", pszId);
}
const char* pszPath =
json_object_get_string(CPL_json_object_object_get(poAsset, "path"));
if ( pszPath )
{
poFeature->SetField("path", pszPath);
}
const char* const apszBaseProps[] =
{ "time", "updateTime", "sizeBytes" };
{ "updateTime", "startTime", "endTime", "sizeBytes" };
for( size_t i = 0; i < CPL_ARRAYSIZE(apszBaseProps); i++ )
{
const char* pszVal = json_object_get_string(
......@@ -806,7 +799,7 @@ CPLString GDALEEDALayer::BuildFilter(swq_expr_node* poNode, bool bIsAndTopLevel)
poNode->papoSubExpr[0]->eNodeType == SNT_COLUMN &&
poNode->papoSubExpr[1]->eNodeType == SNT_CONSTANT &&
poNode->papoSubExpr[0]->field_index ==
m_poFeatureDefn->GetFieldIndex("time") &&
m_poFeatureDefn->GetFieldIndex("startTime") &&
poNode->papoSubExpr[1]->field_type == SWQ_TIMESTAMP )
{
if( poNode->nOperation == SWQ_GE || poNode->nOperation == SWQ_EQ )
......@@ -1120,7 +1113,7 @@ static json_object* GDALEEDADatasetGetConf()
bool GDALEEDADataset::Open(GDALOpenInfo* poOpenInfo)
{
m_osBaseURL = CPLGetConfigOption("EEDA_URL",
"https://earthengine.googleapis.com/v1/");
"https://earthengine.googleapis.com/v1alpha/");
CPLString osCollection =
CSLFetchNameValueDef(poOpenInfo->papszOpenOptions, "COLLECTION", "");
......@@ -1163,7 +1156,7 @@ bool GDALEEDADataset::Open(GDALOpenInfo* poOpenInfo)
if( poRootAsset == nullptr )
return false;
json_object* poAssets = CPL_json_object_object_get(poRootAsset, "assets");
json_object* poAssets = CPL_json_object_object_get(poRootAsset, "images");
if( poAssets == nullptr ||
json_object_get_type(poAssets) != json_type_array ||
json_object_array_length(poAssets) != 1 )
......
......@@ -1191,7 +1191,7 @@ bool GDALEEDAIDataset::ComputeQueryStrategy()
if( EQUAL(m_osPixelEncoding, "PNG") ||
EQUAL(m_osPixelEncoding, "JPEG") ||
EQUAL(m_osPixelEncoding, "AUTO_PNG_JPEG") )
EQUAL(m_osPixelEncoding, "AUTO_JPEG_PNG") )
{
if( nBands != 1 && nBands != 3 )
{
......@@ -1253,7 +1253,7 @@ CPLErr GDALEEDAIDataset::GetGeoTransform( double* adfGeoTransform )
bool GDALEEDAIDataset::Open(GDALOpenInfo* poOpenInfo)
{
m_osBaseURL = CPLGetConfigOption("EEDA_URL",
"https://earthengine.googleapis.com/v1/");
"https://earthengine.googleapis.com/v1alpha/");
m_osAsset =
CSLFetchNameValueDef(poOpenInfo->papszOpenOptions, "ASSET", "");
......@@ -1658,7 +1658,7 @@ void GDALRegister_EEDAI()
" <Value>PNG</Value>"
" <Value>JPEG</Value>"
" <Value>GEO_TIFF</Value>"
" <Value>AUTO_PNG_JPEG</Value>"
" <Value>AUTO_JPEG_PNG</Value>"
" <Value>NPY</Value>"
" </Option>"
" <Option name='BLOCK_SIZE' type='integer' "
......
......@@ -28,7 +28,7 @@ The following open options are available :
<li><b>ASSET</b>=string: To specify the asset if not specified in
the connection string.</li>
<li><b>BANDS</b>=bandname1[,bandnameX]*: Comma separated list of band names.</li>
<li><b>PIXEL_ENCODING</b>=AUTO/PNG/JPEG/AUTO_PNG_JPEG/GEO_TIFF/NPY: Format in which to
<li><b>PIXEL_ENCODING</b>=AUTO/PNG/JPEG/AUTO_JPEG_PNG/GEO_TIFF/NPY: Format in which to
request pixels.</li>
<li><b>BLOCK_SIZE</b>=integer: Size of a GDAL block, which is the minimum unit
to query pixels. Default is 256.</li>
......@@ -95,7 +95,7 @@ metadata.
By default (PIXEL_ENCODING=AUTO), the driver will request pixels in a format
compatible of the number and data types of the bands. The PNG, JPEG and
AUTO_PNG_JPEG can only be used with bands of type Byte.
AUTO_JPEG_PNG can only be used with bands of type Byte.
<h3>Examples</h3>
......
......@@ -28,7 +28,7 @@
#include "gh5_convenience.h"
CPL_CVSID("$Id: gh5_convenience.cpp 76569154904662bac0f3ddc4bfc110d9b6c8ec0f 2019-04-17 22:42:01 +0200 Even Rouault $")
CPL_CVSID("$Id: gh5_convenience.cpp 637b8f2c0083c283e370b7a7f1e30fed74e082e1 2019-05-05 11:29:29 +0200 Even Rouault $")
/************************************************************************/
/* GH5_FetchAttribute(CPLString) */
......@@ -38,6 +38,11 @@ bool GH5_FetchAttribute( hid_t loc_id, const char *pszAttrName,
CPLString &osResult, bool bReportError )
{
if( !bReportError && H5Aexists(loc_id, pszAttrName) <= 0 )
{
return false;
}
hid_t hAttr = H5Aopen_name(loc_id, pszAttrName);
osResult.clear();
......@@ -91,6 +96,11 @@ bool GH5_FetchAttribute( hid_t loc_id, const char *pszAttrName,
double &dfResult, bool bReportError )
{
if( !bReportError && H5Aexists(loc_id, pszAttrName) <= 0 )
{
return false;
}
const hid_t hAttr = H5Aopen_name(loc_id, pszAttrName);
dfResult = 0.0;
......
......@@ -24,7 +24,7 @@
#if !defined(DO_NOT_DEFINE_GDAL_RELEASE_DATE_AND_GDAL_RELEASE_NAME)
#ifndef GDAL_RELEASE_DATE
# define GDAL_RELEASE_DATE 20190502
# define GDAL_RELEASE_DATE 20190505
#endif
#ifndef GDAL_RELEASE_NAME
# define GDAL_RELEASE_NAME "3.0.0"
......
.TH "gdal-config" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal-config" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal2tiles" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal2tiles" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_calc" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_calc" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_contour" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_contour" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_edit" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_edit" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_fillnodata" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_fillnodata" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_grid" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_grid" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_merge" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_merge" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_pansharpen" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_pansharpen" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_polygonize" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_polygonize" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_proximity" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_proximity" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......
.TH "gdal_rasterize" 1 "Thu May 2 2019" "GDAL" \" -*- nroff -*-
.TH "gdal_rasterize" 1 "Sun May 5 2019" "GDAL" \" -*- nroff -*-
.ad l
.nh
.SH NAME
......