Changes between Initial Version and Version 1 of Release/1.11.0-News


Ignore:
Timestamp:
Apr 25, 2014, 11:08:49 AM (10 years ago)
Author:
Even Rouault
Comment:

Add 1.11.0 news

Legend:

Unmodified
Added
Removed
Modified
  • Release/1.11.0-News

    v1 v1  
     1= GDAL/OGR 1.11.0 Release Notes =
     2
     3== In a nutshell... ==
     4
     5 * New GDAL drivers:
     6    - [http://gdal.org/frmt_various.html#KRO KRO]: read/write support for KRO KOKOR Raw format
     7 * New OGR drivers:
     8    - [http://gdal.org/ogr/drv_cartodb.html CartoDB] : read/write support
     9    - [http://trac.osgeo.org/gdal/wiki/GMEDriver GME (Google Map Engine)] : read/write support
     10    - [http://gdal.org/ogr/drv_geopackage.html GPKG (GeoPackage)]: read-write support (vector part of the spec.)
     11    - [http://gdal.org/ogr/drv_openfilegdb.html OpenFileGDB]: read-only support (no external dependency)
     12    - [http://gdal.org/ogr/drv_sxf.html SXF]: read-only support
     13    - [http://gdal.org/ogr/drv_walk.html WALK] : read-only support
     14    - [http://gdal.org/ogr/drv_wasp.html WasP .map] : read-write support
     15 * Significantly improved drivers: GML, LIBKML
     16 * [http://trac.osgeo.org/gdal/wiki/rfc40_enhanced_rat_support RFC 40]: enhanced RAT support (#5129)
     17 * [http://trac.osgeo.org/gdal/wiki/rfc41_multiple_geometry_fields RFC 41]: multiple geometry fields support
     18 * [http://trac.osgeo.org/gdal/wiki/rfc42_find_laundered_fields RFC 42]: OGR Layer laundered field lookup
     19 * [http://trac.osgeo.org/gdal/wiki/rfc43_getmetadatadomainlist RFC 43]: add GDALMajorObject::GetMetadataDomainList() (#5275)
     20 * [http://trac.osgeo.org/gdal/wiki/rfc45_virtualmem RFC 45]: GDAL datasets and raster bands as virtual memory mapping
     21 * Upgrade to EPSG 8.2 database
     22
     23== New installed files ==
     24 * bin/ogrlineref
     25 * lib/pkgconfig/gdal.pc
     26 * gdalcompare.py
     27 * data/gml_registry.xml
     28 * data/inspire_cp_CadastralParcel.gfs
     29 * data/inspire_cp_BasicPropertyUnit.gfs
     30 * data/inspire_cp_CadastralBoundary.gfs
     31 * data/inspire_cp_CadastralZoning.gfs
     32 * data/ruian_vf_ob_v1.gfs
     33 * data/ruian_vf_st_v1.gfs
     34 * data/ogrvrt.xsd
     35
     36== Backward compatibility issues ==
     37
     38== GDAL/OGR 1.11.0 - General Changes ==
     39
     40Build(Unix):
     41 * add Unix configure support for SOSI
     42 * remove pointers to old ver of ingres library files
     43 * add --with-libjson-c configure option to build against external libjson-c (>= 0.11) (#4676)
     44 * compilation fixes for iOS (#5197, #5198)
     45 * update to autoconf 2.69
     46 * add pkg-config gdal.pc (#3470)
     47 * configure for FileGDB: add explicit linking to libfgdbunixrtl (requires FileGDB SDK >= 1.2) (#5215); also try .dylib extension (#5221)
     48 * fix so that Java installs are found on the MAC to enable the MDB driver (#5267)
     49 * fix compilation with recent MySQL versions (5.6 for example) (#5284)
     50 * support --with-jp2mrsid with standalone Kakadu with MRSID v8 or later
     51 * Fix parallel build in Python bindings (#5346)
     52 * PCIDSK: don't link against libjpeg if configured --without-jpeg
     53 * Update configure script to pick up ECW JP2 SDK 5.1 (#5390)
     54 * add a 'make install' target for the Java bindings  (#5424)
     55 * add Vagrant configuration
     56
     57Build(Windows):
     58 * add option to generate VC project for x64 on makegdal_gen.bat
     59 * nmake.opt: add WITH_PDB=1 option to optionaly generate .pdb file on Release builds (#5420)
     60 * add support for building the OGR SOSI driver as a plugin (#3638)
     61 * add support for building the HDF4 driver as plugin (#5294)
     62 * add support for MrSID v9
     63 * Remove makegdalXX.bat generated files
     64
     65== GDAL 1.11.0 - Overview of Changes ==
     66
     67Port:
     68 * vsisubfile: fix Eof() behaviour to be POSIX compliant, so that the shapefile reader can read the last feature when using /vsitar (#5093)
     69 * vsicache: fix for 32bit binaries when file size is over 2GB (#5170)
     70 * vsicache: add optional nChunkSize and nCacheSize parameters to VSICreateCachedFile()
     71 * vsicurl: add CPL_VSIL_CURL_USE_HEAD config option to disable use of CURL HEAD for other services like mapbox (likely lame python http implementations)
     72 * vsitar: avoid infinite loop in case of invalid .tar structure
     73 * vsizip: fix path separator in CPLFormFilename
     74 * vsizip: allow additional extensions listed in CPL_VSIL_ZIP_ALLOWED_EXTENSIONS config option.
     75 * vsizip: improve UTF-8 support of filenames inside ZIP file (#5361)
     76 * vsizip: fix ZIP64 support
     77 * vsigzip: reset EOF flag when doing a Seek() to be POSIX compliant
     78 * curl: add .netrc support
     79 * Windows CPLGetSymbol(): avoid dialog boxes to pop up when a DLL or one of its dependencies does not exist (#5211)
     80 * Add CPLOPrintf() and CPLOvPrintf() functions for easy CPLString formatting
     81 * CPLBase64DecodeInPlace() : fix to be robust to malformed base64 strings
     82 * CPLQuadTree: add CPLQuadTreeInsertWithBounds() where the pfnGetBounds is not needed.
     83 * CPLQuadTree: fix potential infinite recursion when inserting several points with identical coordinates in the mode with limited bucket size
     84 * Protect concurrent calls to setlocale() by a mutex (#5366)
     85
     86Core:
     87 * RFC 45: GDAL datasets and raster bands as virtual memory mapping
     88 * GDALRasterBand::GetHistogram(): ignore nodata values (#4750, #5289)
     89 * allow auto loading of drivers to be disabled via config option
     90 * PAM .aux.xml and VRT: serialize Z component of a GCP as 'Z' attribute,
     91   for consistency, instead of GCPZ that could not be read back previously.
     92   In reading code, try reading 'Z' and if not found try 'GCPZ' (#5326)
     93 * JPEG2000: Add GDALGeorefPamDataset and GDALJP2AbstractDataset classes and use them in JP2KAK, JP2ECW, JP2OpenJPEG, JPEG2000 and MrSID drivers so that PAM georeferencing consistently overrides internal georeferencing
     94 * GDALDataset::IRasterIO(): don't use BlockBasedRasterIO() when INTERLEAVE=PIXEL if the request band count is just 1
     95 * CopyWholeRaster(): make default GDAL_SWATH_SIZE to 1/4 of GDAL_CACHEMAX instead of hard-coded value of 10 MB
     96 * don't report empty RAT on GDALGetDefaultRAT() (#5232)
     97 * modify GDALGCPsToGeotransform() to do the regression in normalized coordinates to make the math more stable.
     98 * expose new GDALComposeGeoTransforms() function.
     99 * GDALDefaultOverviews::HaveMaskFile(): avoid fetching .ovr file
     100 * JPEG2000: Fix reading georeferencing from some JPEG2000 files with duplicated GeoTIFF JP2Box (#5249)
     101 * Cleanup raster block mutex (#5296)
     102 * Driver registration: move JPEG2000 (Jasper based) after MrSID JPEG2000 support
     103
     104Algorithms:
     105 * warper: fix regression with lanczos resampling when yradius > xradius (#5058)
     106 * warper: Make GDALCreateGenImgProjTransformer2() and GDALCreateGenImgProjTransformer3() fail when the creation of the reprojection transformer fails
     107 * warper: Fix warping when input pixel size is too close to 0 (#5190)
     108 * warper: revise formula of cubic resampling kernel, and a few optimizations (#5209)
     109 * warper: added DST_METHOD and support for GCP and TPS dest
     110 * warper: add support for DST_METHOD=RPC
     111 * warper: fix mode and near resampling corner computation (#5311)
     112 * warper: GDALGenImgProjTransform(): don't set panSuccess[i] to 1 in the middle of the function, if an intermediate transform before has set the flag to 0
     113 * warper: fix cutline blending (#5343)
     114 * warper: Average/mode kernels: make them less sensitive to numerical precision issues (#5350)
     115 * warper: Average/mode kernels: avoid 'holes' when the source coordinates are in a reversed order from the target coordinates (#5433)
     116 * warper: provide prototypes and work around strict compiler requirements on some opencl platforms (#5400)
     117 * RPC: fix for computation of adfGTFromLL (#5395)
     118 * TPS: optimization for GCC x86_64 that make computation about twice faster with huge number of GCPs
     119 * TPS: when using Armadillo to solve the coefficients, use solve(A,B) instead of inv(A)xB to faster resolution
     120 * TPS: compute direct and inverse transformations in parallel when warping option NUM_THREADS or GDAL_NUM_THREADS config. options are set to > 1
     121 * Geoloc: fix wrong bilinear interpolation in GDALGeoLocTransform() (#5305)
     122 * Geoloc: fail transformation of coordinates that is located on a nodata place of the geoloc array
     123 * rasterize: preliminary support for MERGE_ALG=ADD for heatmaps
     124 * gdal_grid: Add AVX optimized version of GDALGridInverseDistanceToAPower2NoSmoothingNoSearch
     125 * fill_nodata: GDALFillNodata(): Fix use of uninitialized memory and integer overflows (#4010, #5203)
     126 * rpc: Fix out-of-bounds read in RPC dem cubic interpolation
     127
     128Utilities:
     129 * gdalinfo: add -listmdd and -mdd all options (#5275)
     130 * gdal_translate: add a -exponent option to be used with -scale
     131 * gdal_translate: fix output file naming scheme in gdal_translate -sds (#5119)
     132 * gdal_translate: fix logic in detection non-gray color table level (#5245)
     133 * gdal_translate: add a -norat option
     134 * gdal_translate: don't add 0.1 when -scale is used with a dstmin equal to dstmax (usefull to generate a raster with uniform color, i.e. scaleRatio = 0)
     135 * gdal_translate: use floor() to compute image coordinates from world coordinates when specifying -projwin (usefull when extracting from left or top of upper-left corner, which generate negative image coordinates) (#5367)
     136 * gdaltindex: remove annoying warning 'Warning 1: Field location of width 255 truncated to 254' (#5121)
     137 * gdaltindex: add -src_srs_name and -src_srs_format to go with MapServer RFC100; add also a -f and -lyr_name options to be able to create a non-shapefile tileindex
     138 * gdalwarp: Fix segfault where metadata values weren't being nullchecked properly during conflict resolution (#5069)
     139 * gdalwarp: honor -s_srs when using cutline (#5081)
     140 * gdalwarp: copy nodata values from source to dest if -dstnodata is not given ; add option to not set dest nodata with -dstnodata None (#5087)
     141 * gdalwarp: do not return a non-zero exit status for warnings
     142 * gdalwarp: prevent from copying statistics metadata (#5319)
     143 * gdal_rasterize: set the progress bar to 100% even when there's nothing to do
     144 * gdal_grid: add support for diffferent types of geometries (#5341)
     145 * gdal_grid: add  -z_increase and -z_multiply options
     146 * gdaldem: check that value of -z, -s, -az and -alt is numeric
     147 * gdalbuildvrt: validate values of -srcnodata and -vrtnodata arguments
     148 * gdal2tiles.py: Corrected OpenLayers code to reflect fix to geodetic resolution factor
     149 * gdal2tiles.py: add --tmscompatible flag so as to produce 2 tiles at zoom level 0 in geodetic profile
     150 * rgb2pct.py: Use python tempfile logic to avoid permissions issues with cwd (#5079)
     151 * gdal_edit.py: add a -ro option for drivers refusing to use the dataset in update-mode.
     152 * gdal_calc.py: add --allBands options (#5388)
     153 * Add vsipreload.cpp that can be compiled as a shared library that can be LD_PRELOAD'ed as an overload of libc to enable VSI Virtual FILE API to be used with binaries using regular libc for I/O
     154 * Add the wcs_virtds_params.py sample utility to be able to set the MapServer WCS virtual dataset parameters from a tileindex with rasters of mixed SRS (linked to MapServer RFC100)
     155 * gdalcompare.py: move to scripts
     156 * gdalcompare.py: ensure image dimensions match
     157 * gdal_ls.py: Fix issue with UTF-8 characters
     158
     159Multi driver changes:
     160 * JPEG2000 drivers: take into account PixelIsPoint in GeoJP2 boxes, and expose AREA_OR_POINT=Point (#5437)
     161 * JP2KAK, JP2ECW, JP2OpenJPEG, JPEG2000 CreateCopy(): take into account AREA_OR_POINT=Point if present to write GeoJP2 box (#5437)
     162
     163AAIGRID:
     164 * revert DECIMAL_PRECISION and add SIGNIFICANT_DIGITS to CreateCopy() (#3732)
     165
     166AIGRID:
     167 * Turn off errors that can be triggered if the info has no VAT table related with this coverage (#3031)
     168
     169BAG driver:
     170 * Recognise falseNorthing=10000000 as UTM South (#5152)
     171
     172DIMAP driver:
     173 * fix memleak in error-code path
     174
     175DTED driver:
     176 * Speed optimization to be more friendly with CPU cache in GDAL_DTED_SINGLE_BLOCK=YES mode
     177
     178ECW driver:
     179 * fix crash in GDALDeregister_ECW() with ECW SDK 5 called from GDALDestroy() (#5214)
     180 * fix issue with ECW_CLEVER optimization when nPixelSpace != sizeof eBufDataType (#5262)
     181
     182Envisat driver:
     183 * implement more reliable way of extracting GCPs from Meris tie-points (#5423)
     184 * add DEM corrections of TP-ADS products when present (#5423)
     185 * workaround dateline discontinuity in GCPs so they can be used with GDAL warping transformers (#5423)
     186
     187ERS driver:
     188 * fix wrong interpretation of RegistrationCellX/RegistrationCellY (#2612, #3056, #5075)
     189
     190GeoRaster driver:
     191 * fix RPC support (#4038)
     192 * fix read error when reading from pyramids (#5076)
     193 * make regular table and secure file a default for RDT (#5127)
     194 * fix error when reading NBIT pyramid levels (#5199)
     195 * show the VAT as RAT (#5200)
     196 * fix reading and writing of statistics metadata (#5237)
     197 * add generate pyramid create options (#5288)
     198 * fix incorrect geotransform interpretation when there is no SRS (#5323)
     199
     200GRASS driver:
     201 * fix compilation issues for GRASS 7
     202
     203GRIB driver:
     204 * display temperature unit as deg Celcius in metadata (#3606)
     205
     206GTiff driver:
     207 * when compiling against internal libtiff, in read-only mode, optimization to
     208   avoid fetching the whole Strip/TileCounts and Strip/TileOffsets arrays
     209 * add validation of source overview characteristics with COPY_SRC_OVERVIEWS (#5059)
     210 * convert invalid TIFFTAG_RESOLUTIONUNIT=0 to 1(Unknown) (#5069)
     211 * fix potential issues in gt_citation.cpp / CheckUTM()
     212 * upgrade internal libtiff to latest CVS
     213 * implement reading and writing of ICC profiles (#5246)
     214 * make SetColorInterpretation() round-trip with GetColorInterpreation();
     215   read color interpretation from PAM if it exists (overrides internal tiff color interpretation);
     216   set TIFFTAG_PHOTOMETRIC=PHOTOMETRIC_RGB if calling SetColorInterpretation() with R,G,B and no explicit PHOTOMETRIC creation option defined
     217 * gt_wkt_srs.cpp: fix compilation with external libgeotiff. The file is dependant of quite a few CPL stuff, don't try to pretend otherwise
     218 * implement GetVirtualMemAuto() for some formulations of TIFF files (RFC 45)
     219 * fix reading a single-strip TIFF file where the single strip is bigger than 2GB (32bit builds only) (#5403)
     220 * look for .tab file before .wld/.tfw
     221
     222GTX driver:
     223 * Add nodata support (#4660)
     224
     225HDF4 driver:
     226 * Skip "SceneLineNumber" table if present in the list of geolocation fields of
     227   ASTER L1A dataset.
     228
     229HDF5 driver:
     230 * add support for ODIM H5 georeferencing method (#5032)
     231 * set SRS GEOGCS in all cases (reverts r25801 and closes #4160)
     232 * support HDF5 NATIVE_SCHAR type, subdatsets without PAM (#5088)
     233 * release all opened handles so the file is closed at dataset closing (#5103)
     234 * better deal with dimensions of CSK-L1A HDF5 subdatasets (#4227)
     235 * avoid segmentation fault when H5Sget_simple_extent_ndims() returns negative value (#5291)
     236
     237HFA driver:
     238 * add minimally tested support for u2 and u4 data in basedata
     239 * use direct binning for thematic layers and real instead of integer for values (#5066)
     240 * add a HFA_COMPRESS_OVR config option to select whether to create compressed overviews (#4866)
     241 * fix rewriting of statics in existing HFA file where base data value is 8-bit (#5175)
     242 * implement re-writing existing histogram in HFA file, after raster editing (#5176)
     243 * avoid segfaults when creating a Imagine dataset with an invalid WKT (#5258)
     244 * expose color columns in RAT as Integer with values in range [0-255] instead of Real with values [0-1] (#5362)
     245 * report histogram column as GFU_PixelCount instead of GFU_Generic (#5359)
     246 * ensure histogram column written as float for HFA when using RAT API (#5382)
     247
     248Idrisi driver:
     249 * Improve coordinate system handling and min/max statistics (#4980)
     250
     251IRIS driver:
     252 * add height information on bands; rename dataset metadata item CAPPI_HEIGHT --> CAPPI_BOTTOM_HEIGHT (#5104)
     253 * IRIS: add support for two bytes data (#5431)
     254
     255JP2ECW driver:
     256 * fix problem with JP2 write with SDK v5
     257 * fix issue with ECW_CLEVER optimization when nPixelSpace != sizeof eBufDataType (#5262)
     258 * avoid writing dummy GeoJP2 box when source dataset has no georeferencing (#5306)
     259
     260JP2KAK driver:
     261 * preliminary support for Kakadu V7.x
     262 * fix creation of unsigned int16 with reversible compression (#4050)
     263 * on Windows, use VSI cache for I/O by default, instead Kakadu own I/O layer
     264 * remove extension from 12bit to 16bit (#5328)
     265
     266JP2OpenJPEG driver:
     267 * avoid 'Empty SOT marker detected: Psot=12.' warning to be repeated several times
     268 * add support for encoding GCPs in a GeoJP2 box (#5279)
     269 * avoid writing dummy GeoJP2 box when source dataset has no georeferencing (#5306)
     270
     271JPEG driver:
     272 * add autodetection of bitmasks that are msb ordered (#5102)
     273 * avoid memory leak when GDALOpen'ing() a JPEG through a http:// URL, and make it possible to access its overviews
     274 * return YCbCrK raw data for YCbCrK JPEG in GDAL_JPEG_TO_RGB = NO mode (instead of CMYK as before) (#5097)
     275 * implement reading and writing of ICC profiles (#5246)
     276 * internal libjpeg: apply patch for CVE-2013-6629
     277 * allow fallback to PAM to read GCPs
     278 * give priority to PAM GeoTransform if it exists and other source of geotransform (.wld, .tab) also exists (#5352)
     279
     280KMLSuperOverlay driver:
     281 * recognize an alternate structure for raster KMZ file made of a single doc.kml
     282    and tiles whose name pattern is kml_image_L{level}_{j}_{i}.{png|jpg}
     283 * fix horrible speed performance in Open() (#5094)
     284 * fix crash at dataset closing and inability to read some big PNG tiles (#5154)
     285 * fix to generate files validating against OGC KML 2.2 schema
     286 * put Style into conformity with ATC 7
     287 * remove Region in root KML (ATC 41)
     288 * add NAME and DESCRIPTION creation options; read them back as metadata
     289 * add ALTITUDE and ALTITUDEMODE creation options
     290 * directly write into .kmz file (instead of in temporary location)
     291 * correctly write directories entry in .kmz file
     292 * add progress callback
     293
     294L1B driver:
     295 * report correct values for GCP (#2403)
     296 * report more GCPS than before
     297 * implement geolocation array
     298 * add fetching of record metadata in .csv file
     299 * add subdatasets with solar zenith angles, cloud coverage
     300 * recognize NOAA-9/14 datasets whose dataset name in TBM header is encoded in EBCDIC and not in ASCII (#2848)
     301 * support opening a few NOAA <= 9 datasets that have no dataset name in the TBM header
     302
     303LCP driver:
     304 * better handling of projections (#3255)
     305 * add CreateCopy() (#5172)
     306
     307MBTiles driver:
     308 * avoid failure when there's no tile at the center of the maximum zoom level (#5278)
     309
     310MEM driver:
     311 * Create(): use calloc() instead of malloc()+memset() for faster creation of huge in-memory datasets
     312
     313NetCDF driver:
     314 * fix to read netcdf-4 files with UBYTE data (#5053)
     315 * fix reading large netcdf-4 files with chunking and DEFLATE compression
     316 * fix netcdf chunking when creating file with > 2 dims ; add CHUNKING creation option (#5082 )
     317 * fix duplicate nodata metadata when using CreateCopy() (#5084)
     318 * fix copying large metadata in netcdf driver (#5113)
     319 * fix netcdf geotransform detection (#5114)
     320 * fix netcdf driver irregular grids management (#5118 and #4513)
     321 * only call nc_close on a valid netcdf id when closing dataset
     322 * try and identify .grd (and .nc3) files in netcdf-4 format (#5291), so they are identified before the hdf5 driver
     323
     324NITF driver:
     325 * fix to support reading horizontal and/or vertical mono-block uncompressed images, even when the number of columns is <= 8192 (#3263)
     326 * update NITF Series list with new entries from MIL-STD-2411_1_CHG-3.pdf (#5353)
     327 * allow JP2KAK to be used as the JPEG2000 compression engine in the CreateCopy() case (#5386)
     328
     329PDF driver:
     330 * Avoid reporting a Poppler error as a GDAL error on some newer USGS GeoPDF files (#5201)
     331 * PDF writing: automatically adjust DPI in case the page dimension exceeds the 14400 maximum value (in user units) allowed by Acrobat (#5412)
     332
     333PDS driver:
     334 * Parse correctly MISSING_CONSTANT = 16#FF7FFFFB# as a IEEE754 single precision float expressed in hexadecimal; add support for ENCODING_TYPE = ZIP (data file compressed in a ZIP); recognize IMAGE_MAP_PROJECTION as an object included in UNCOMPRESSED_FILE object (#3939)
     335
     336PNG driver:
     337 * Implement reading and writing of ICC profiles (#5246)
     338
     339PostgisRaster driver:
     340 * Speed-up dataset opening (#5046).
     341 * Multi-tile multi-band caching added.
     342 * Smarter use of the information advertized in raster_columns view.
     343 * Avoid full table scan in situations without PKID/GIST indices.
     344 * Use of quadtree.
     345
     346Rasdaman driver:
     347 * caching of tiles for datasets with more than one band (#5298)
     348 * connections are now kept for a whole session (#5298)
     349 * fixing connection-string regex (#5298)
     350 * fixing possible memory leaks (#5298)
     351
     352Rasterlite driver:
     353 * fix resolution check typo in rasterlite driver
     354
     355Raw drivers:
     356 * implement GetVirtualMemAuto() (RFC 45)
     357 * IRasterIO(): add special behaviour to avoid going to block based IO when the dataset has INTERLEAVE=PIXEL and is elligible to direct I/O access pattern
     358 * allow direct I/O access even if a small proportion of scanlines are loaded (improve QGIS use case where the overview display will load sparse scanlines, which would prevent direct I/O at full resolution afterwards)
     359 * fix optimized RasterIO() when doing sub-sampling with non standard buffer pixel offset (#5438)
     360
     361RMF driver:
     362 * fix decompression of 24-bit RMF DEM (#5268)
     363
     364RPFTOC driver:
     365 * fix potential crash on some datasets when selecting the color palette (#5345)
     366
     367SAGA driver:
     368 * add read/write support for .prj files (#5316)
     369
     370SRP driver:
     371 * read TRANSH01.THF file to establish subdatasets (#5297)
     372
     373VRT driver:
     374 * Implement non-linear scaling with a power function (addition of Exponent, SrcMin, SrcMax, DstMin, DstMax sub-elements in <ComplexSource>)
     375 * Preserve 64bit integer image offsets (#5086)
     376 * Make sure that VRTSourcedRasterBand::AddMaskBandSource() takes into account specified window (#5120)
     377 * Make GDALAutoCreateWarpedVRT() return NULL when GDALSuggestedWarpOutput() fails
     378 * VRTDataset::IRasterIO(): use source DatasetRasterIO even if band count is 1
     379 * VRTWarped: avoid setting up relative paths for things that aren't file-like
     380 * make relativeToVRT=1 work with NITF_IM:, NETCDF:, HDF5:, RASTERLITE:
     381
     382WCS driver:
     383 * ensure C locale is enforced before parsing floating point values
     384
     385WMS driver:
     386 * accept 'WMS:http://server/?SRS=EPSG:XXXX' syntax to select the preferred SRS in which to fetch layers
     387 * CPLHTTPFetchMulti(): avoid doing a timeout-only select when there are no file descriptor to wait on (can happen when doing a file:// URL)
     388 * allow cache location to be specified with GDAL_DEFAULT_WMS_CACHE_PATH configuration option if not provided in the XML (#4540)
     389 * Update to be able to understand slight changes in formatting of JSon output of ArcGIS mapserver protocol
     390
     391XYZ driver:
     392 * accept datasets that have missing values at beginning and/or end of lines, such as MNT250_L93_FRANCE.XYZ
     393 * fix detection when there are only integral values with comma field separator
     394 * reopen with 'rb' flags for Windows happyness
     395
     396== OGR 1.11.0 - Overview of Changes ==
     397
     398Core:
     399 * GEOS support: require GEOS >= 3.1.0 and use the _r API of GEOS to avoid issues with the global GEOS error handlers
     400 * exportToWkb(): ISO WKB generation with wkbVariant option (#5330)
     401 * geocoding: when getting several answers from server for a query, report geometries on second, third, etc.. feature, and not only first one (#5057)
     402 * allow auto loading of drivers to be disabled via config option
     403 * remove obsolete OGRGeometryFactory::getGEOSGeometryFactory()
     404 * OGRGeometryFactory::organizePolygons() in DEFAULT method: fix a case with 2 outer rings that are touching by the first point of the smallest one
     405 * OGRGeometryFactory::organizePolygons(): optimization in ONLY_CCW case
     406 * OGRGeometryFactory::organizePolygons(): Add an experimental mode : CCW_INNER_JUST_AFTER_CW_OUTER
     407 * OGRLineString::segmentize() : don't set 0 as z for interpolated points, but the z from the previous point
     408 * OGRLineString::setNumPoints() : add an optional argument to avoid zeroizing the arrays
     409 * Add OGRLineString::setZ()
     410 * Add OGRLineString::Project() and OGRLineString::getSubline()
     411 * OGRPolygon: add stealExteriorRing() and stealInteriorRing(int iRing)
     412 * OGRLinearRing::isClockwise(): optimizations and make it work in a degenerated case when a vertex is used several times in the vertex list (#5342)
     413 * OGRLinearRing::isPointOnRingBoundary() : optimizations and take into account bTestEnvelope
     414 * Add OGR_G_SetPointCount and OGR_G_SetPoints functions to API C (#5357)
     415 * OGREnvelope3D::Contains(): fix incorrect test
     416 * Layer algebra: fix handling of method field mapping to output fields when output fields are precreated (#5089)
     417 * Layer algebra: when an error condition is skipped, call CPLErrorReset() (#5269)
     418 * OGRLayer::GetFeature(): make sure that the behaviour is not influenced by
     419   attribute or spatial filters in the generic implementation;
     420   upgrade OGDI, PG, MySQL, MSSQLSpatial, OCI, SDE, PGeo, ODBC, WALK, IDB, SQLite and Ingres driver  (#5309)
     421 * introduce OGRLayer::FindFieldIndex() / OGR_L_FindFieldIndex() to lookup potentially laundered field names (RFC 42)
     422 * OGR SQL: upgrade to support RFC 41 (multiple geometry fields)
     423 * OGR SQL: more stricter checks
     424 * OGR SQL: make parsing error report a usefull hint where the syntax error occured
     425 * OGR SQL: fix thread-safety of swq_op_registrar::GetOperator() (#5196)
     426 * OGR SQL: support not explicitely specifying AS keyword for aliasing a column spec
     427 * OGR SQL: don't call CONCAT(a_column ...) or SUBSTR(a_column ...) as a_column
     428 * OGR SQL: validate that arguments of MAX, MIN, AVG, SUM, COUNT are columns and not any expression since this is not supported
     429 * OGR SQL: make AVG field definition a OFTReal
     430 * OGR SQL: implement MIN(), MAX() and AVG() on a date (#5333)
     431 * OGR SQL: fix SELECT * on a layer with a field that has a dot character (#5379)
     432 * SQL SQLITE dialect: Make it available to all OGR drivers that have a specialized ExecuteSQL() implementation
     433
     434OGRSpatialReference:
     435 * Upgrade to EPSG 8.2 database
     436 * identify LCC_2SP instead of LCC_1SP if lat_0==lat_1 and lat_2 is present (#5191)
     437 * add a variety of linear units to proj4 parsing (#5370)
     438 * Fix crash in CleanupESRIDatumMappingTable() if it is called twice (#5090)
     439 * fix order of AXIS and UNIT nodes in a VERT_CS node (#5105)
     440 * ecw_cs.wkt: add missing TOWGS84[-168,-60,320,0,0,0,0] to NTF datum (#5145)
     441 * fix OGRSpatialReference::importFromProj4() to work with non-C locale (#5147)
     442 * morph central_latitude to latitude_of_origin in morphFromESRI() (#3191)
     443 * OGRProj4CT: avoid using proj when the 2 projections are actually identical (#5188)
     444 * add sanity checks in OGR_SRSNode::importFromWkt() (#5193)
     445 * VERT_CS: when importing from proj.4 put AXIS node after UNIT; COMPD_CS: when importing from EPSG:x+y, set a more meaningfull name for the COMPD_CS node
     446 * OGRSpatialReference::Validate() : in addition to hand-validation, use WKT grammar from OGC 01-009 CT
     447 * preserve authority when importing +init=auth_name:auth_code (e.g. +init=IGNF:LAMB93)
     448
     449Utilities:
     450 * ogrlineref: new utility to deal with linear geometries.
     451 * ogrinfo: upgrade to support RFC 41 (multiple geometry fields)
     452 * ogr2ogr: upgrade to support RFC 41 (multiple geometry fields)
     453 * ogr2ogr: bump default value for -gt from 200 to 20000 (#5391)
     454 * ogr2ogr: add -addfields option to add new fields found in a source layer into an existing layer ; add -unsetFieldWidth option to unset field with and precision; add -dim layer_dim option to force the coordinate dimension of geometries to match the one of the layer geometry type
     455 * ogr2ogr: Check that -t_srs is also specified when -s_srs is specified
     456 * ogr2ogr: add an explicit error message to report FID of feature that couldn't be inserted when CreateFeature() fails
     457 * ogr2ogr: make relaxed lookup optional and add a switch -relaxedFieldNameMatch to allow it (RFC 42)
     458 * ogr2ogr: make sure that the progress bar reaches 100% when converting OSM
     459 * ogr2ogr: make sure that target dataset is properly closed when a CreateFeature() fails (so that truncated shapefiles have their header file properly updated)
     460 * ogr_dispatch.py: Sample Python script to dispatch features into layers according to the value of some fields or the geometry type
     461 * ogrinfo.py: sync with ogrinfo (RFC 41)
     462 * ogr2ogr.py: port -nlt PROMOTE_TO_MULTI option from ogr2ogr.cpp (#5139)
     463
     464CSV driver:
     465 * avoid erroneously reset of file content when opening in update mode a file without header (#5161)
     466 * upgrade to support RFC 41 in read/write (multiple geometry fields)
     467 * allow backslash doublequote to load (#5318)
     468
     469DGN driver:
     470 * DGN writing: added polygon inner ring (holes) writing and MSLink writing (#5381)
     471
     472DXF driver:
     473 * fix writing of 25D linestring where z is not constant (#5210)
     474 * fix writing of POLYLINE objects (#5217, #5210)
     475 * accept reading files starting with a TABLES section (#5307)
     476 * support reading 3DFACE and SOLID (#5380) entities
     477 * fix an error when processing clockwise circle arc (#5182)
     478 * avoid building an invalid polygon when edges cannot be reassembled: turn it into a multilinestring
     479 * use CPLAtof() instead of atof() to avoid issues with locales
     480 * fix linear approximation of circular and elliptic arc in HATCH boundaries (#5182)
     481
     482DWG driver:
     483 * add support for reading AcDb3dPolyline (#5260)
     484 * fix linear approximation of circular and elliptic arc in HATCH boundaries (#5182)
     485
     486FileGDB driver:
     487 * implement IgnoreFields API to speed-up a bit the conversion of a sub-set of fields when there's a huge amount of them (e.g. Tiger database).
     488 * when writing <Length> of an attribute, use size in bytes (#5192)
     489 * implement ref counting of the FileGDB SDK API' Geodatabase* object to avoid issues on Linux 64bit with interleaved opening and closing of databases (#4270)
     490 * honour update flag to determine which operations are allowed or not
     491 * add a driver global mutex to protect all calls as the FileGDB API SDK is not thread-safe at all
     492 * add a COLUMN_TYPES layer creation option to override default column types; support reading/writing XML column types
     493 * optimize GetFeatureCount() and GetExtent() when there are filters set
     494 * set the default width for string fields to 65536.
     495   The width can be configured with the FGDB_STRING_WIDTH configuration option
     496 * fix creation and writing of Binary fields; enable reading
     497 * add a CREATE_MULTIPATCH creation option
     498
     499FME driver:
     500 * fix Linux compilation
     501
     502GeoJSON driver:
     503 * recognize alternate formats such as the ones of https://code.google.com/p/election-maps/
     504 * add read support for TopoJSON
     505 * upgrade internal libjson-c to json-c 0.11 (#4676)
     506 * report integer values that are int64 as strings
     507 * add 3d support to esri geojson reader (#5219)
     508 * be less strict on looking for esri field type tag (#5219)
     509 * fix sometimes incorrect result (significant digit losts...) when using -lco COORDINATE_PRECISION=0
     510 * fix handling of huge coordinates when writing (#5377)
     511
     512GeoRSS driver:
     513 * advertize OLCCreateField capability
     514
     515GFT driver:
     516 * switch http to https for the oauth2 link to improve security
     517
     518GML driver:
     519 * add support for multiple geometry columns (RFC 41)
     520 * add support for reading Finnish National Land Survey Topographic data (MTK GML)
     521 * add support for support Finnish NLS cadastral data and Inspire cadastral data.
     522 * add support for Czech RUIAN VFR format
     523 * add data/gml_registry.xml file to associate feature types with schemas.
     524 * extend .gfs syntax to be able to fetch OGR fields from XML attributes.
     525 * extend .gfs syntax to support multiple geometry columns, and define a geometry property name
     526 * autodiscover all XML attributes as OGR fields when creating .gfs file if GML_ATTRIBUTES_TO_OGR_FIELDS is set to YES (#5418)
     527 * allow the <ElementPath> in .gfs to have several components that give the full XML path
     528 * fix writing of .xsd file to avoid fid/gml_id being written as regular fields (#5142)
     529 * fix writing of global srsName attribue on the global boundedBy.Envelope when all layers have same SRS (#5143)
     530 * support for writing .gml/.xsd with fields of type StringList, RealList, IntegerList and support for parsing such .xsd files
     531 * when writing .xsd for a datasource that has fields of type StringList, RealList or IntegerList, advertize SF-1 profile in the .XSD schema
     532 * recognize xsd:boolean in XSD parsing and map it to String (#5384)
     533 * add STRIP_PREFIX and WRITE_FEATURE_BOUNDED_BY dataset creation option to help minimizing the size of GML files
     534 * don't write top <gml:boundedBy> in GML files with multiple layers of different SRS
     535 * fix segfault when reading a GML file with huge coordinates (#5148)
     536 * avoid opening our own .xsd files as valid datasources (#5149)
     537 * make driver thread-safe with Xerces
     538 * open successfully GML datasources with 0 layers (#249, #5205)
     539 * fix tweaking of DescribeFeatureType requests
     540 * support reading WFS 2.0 GetFeature documents with wfs:FeatureCollection as a wfs:member of the top wfs:FeatureCollection
     541 * fix for crash on certain xlink:href with GML_SKIP_RESOLVE_ELEMS=NONE (#5417)
     542 * GML geometry: fix duplicated points in GML_FACE_HOLE_NEGATIVE=YES mode (TopoSurface) (#5230)
     543 * GML geometry: accept CompositeSurface as a child of surfaceMembers (#5369)
     544 * GML geometry: join multilinestrings to linestrings in rings
     545 * GML geometry: correctly deal with MultiSurface of Surface of PolygonPatch where a PolygonPatch has only interior ring(s) and no exterior ring (#5421)
     546 * GML geometry: accept formulations of 'MULTIPOINT EMPTY, MULTILINESTRING EMPTY, MULTIPOLYGON EMPTY and GEOMETRYCOLLECTION EMPTY that are valid GML 3 (and accepted by PostGIS)
     547 * GML geometry: make use of cs, ts and decimal attributes of (deprecated) gml:coordinates element
     548 * GML geometry: accept XML header and comments
     549
     550GPX driver:
     551 * advertize OLCCreateField capability
     552
     553ILI driver:
     554 * add support for multiple geometry columns (RFC 41)
     555 * use IlisMeta model reader/writer instead of IOM
     556 * add layers for surface and area geometries
     557
     558KML driver:
     559 * output KML that validates the ogckml22.xsd schema by placing <Schema> elements under the <Document> level (#5068)
     560 * in writing mode, avoid defining an extending schema for the name and description fields (related to #5208)
     561
     562LIBKML driver:
     563 * various checks, fixes and improvements related to OGC KML 2.2 Abstract Test Suite
     564 * add support for reading <gx:Track> as a LINESTRING (#5095)
     565 * add support for writing and reading <snippet>
     566 * add support for writing atom:author, atom:link, phonenumber, Region,
     567   ScreenOverlay, 3D model, StlyeMap
     568 * add support for reading and generating Camera object
     569 * add layer creation options to generate a LookAt element at layer level
     570 * if UPDATE_TARGETHREF dataset creation option is defined, a NetworkLinkControl/Update document will be created
     571 * add dataset creation options to generate a NetworkLinkControl element
     572 * add dataset and layer creation options LISTSTYLE_ICON_HREF and LISTSTYLE_TYPE
     573 * add support for writing a NetworkLink
     574 * add support for creating PhotoOverlay objects
     575 * add support for creating BalloonStyle elements
     576 * offer LIBKML_USE_SIMPLEFIELD configuration option can be set to NO to use Data element instead of SimpleField
     577 * add layer creation option FOLDER to optionally write layers as Folder instead of Document
     578 * add dataset and layer creation options NAME, VISIBILITY, OPEN, SNIPPET and DESCRIPTION
     579 * workaround bugs in pretty serializers
     580 * when writing a .kmz file, put layers .kml docs into a layers/ subdirectory
     581 * fix mem leaks, and use after free in kml2FeatureDef() (#5240)
     582 * create document with default namespace set to http://www.opengis.net/kml/2.2
     583 * when writing, consider empty strings as unset (usefull when converting from CSV)
     584 * don't write empty <Style /> element if OGR_STYLE is empty string
     585 * transform multigeometry with one single component into single geometry
     586 * create libkml/ subdirectory entry in .kmz
     587
     588MITAB driver:
     589 * support reading MIF file with no associated MID file (when MIF file advertizes 'Columns 0') (#5141)
     590
     591MSSQLSpatial driver:
     592 * Fix MSSQL to be aware of removed tables (#5071)
     593 * Eliminate the per table server access when identifying the spatial reference (#5072)
     594 * Improve detection of geometry column with MSSQL select layer (#4318)
     595 * Fix for an issue with multicolumn primary keys (#5155)
     596 * Add support for handling non spatial data tables (#5155)
     597 * Fix creation of spatial_ref_sys and geometry_columns tables (#5339)
     598
     599MySQL:
     600 * robustness for huge coordinates in spatial filter
     601
     602NAS driver:
     603 * also accept XML files that have NAS-Operationen_optional.xsd in header
     604 * make driver thread-safe with Xerces
     605 * warn when geometry cannot be saved
     606
     607OCI driver:
     608 * fix make plugin option
     609
     610ODBC driver:
     611
     612OSM driver:
     613 * support relations with more than 2000 members in a OSM XML file (#5055)
     614 * make the driver work with PBF files produced by osmconvert.
     615 * osmconf.ini: report the waterway attribute for the lines layer (#5056)
     616 * add an option in osmconf.ini to enable creating a 'all_tags' field, combining both fields specificaly identified, and other tags
     617 * always use quoting of key/values in other_tags field (#5096)
     618 * use alternative implementation of FindNode() that is a bit more efficient when process is CPU-bound
     619 * fix issue with attribute filtering
     620 * avoid GetNextFeature() to be blocked in certain conditions in non-interleaved mode (#5404)
     621
     622PG driver:
     623 * upgrade to support RFC 41 in read/write (multiple geometry fields)
     624 * use ST_Estimated_Extent() on table layers if GetExtent() is called with force = 0 (#5427)
     625 * add a OGR_TRUNCATE configuration option (#5091)
     626 * let postgres name the constraints to avoid long name truncation resulting in conflicts (#5125)
     627 * map PG 'numeric' to OFTReal instead of OFTInteger
     628 * retrieve SRID from geometry value, if not found in geometry_columns (#5131)
     629 * fix ResolveSRID() when the current user has no select rights on geometry_columns table (#5131)
     630 * fix retrieval of SRID on a table without SRID constraint, and when the datasource is opened with ' tables=fake' (#5131)
     631 * robustness for huge coordinates in spatial filter
     632 * fix delete layer bug on PG 2.0 (#5349)
     633 * fix to be able to detect version of EntrepriseDB (#5375)
     634 * Fix UTF-8 encoded string length
     635
     636PGDump driver:
     637 * upgrade to support RFC 41 (multiple geometry fields)
     638 * fix error when inserting a string that has backslash in it with PostgreSQL >= 9.1 (#5160)
     639
     640REC driver:
     641 * fix runtime compatibility for Windows
     642
     643Shapefile driver:
     644 * fix buffer overflow when creating a field of type Integer with a big width (#5135)
     645 * delete temporary .cpg file earlier in REPACK
     646 * fix leak of file descriptor in error code paths
     647 * speed optimizations when reading geometries from .shp (#5272)
     648 * add a 2GB_LIMIT=YES layer creation option (and SHAPE_2GB_LIMIT configuration option)
     649 * .sbn support: increase allowed max depth from 15 to 24 (#5383)
     650
     651SOSI driver:
     652 * fix memory leaks, and crashes
     653 * advertize OLCCreateField capability
     654
     655S57 driver:
     656 * make the driver thread-safe
     657 * remove use of MAX_CLASSES in favor of dynamic sizing (#5227)
     658 * fix GetFeature() on DSID layer
     659
     660SQLite/Spatialite driver:
     661 * Make SQLite SQL dialect compatible with multiple geometry fields (note: however, multiple geom fields is not yet supported by OGR SQLite table layers)
     662 * implement SetAttributeFilter() on SQL result layers, to directly inject it as a WHERE clause when possible
     663 * add the OGR_SQLITE_PRAGMA configuration option
     664 * Spatialite: correctly set proj4text field of spatial_ref_sys when inserting a new SRS in the spatial_ref_sys table (#5174)
     665 * Spatialite: fix insertion in spatial_ref_sys to avoid issues with non-numeric authority codes (auth_srid)
     666 * Spatialite: make creation of database much faster with spatialite 4.1 by using InitSpatialMetaData(1) (#5270)
     667 * Spatialite: use thread-safe initialization for spatialite >= 4.1.2
     668 * avoid spatiliate views to emit (hidden) errors that cause troubles to MapServer OGR input driver (#5060)
     669 * attempt to make VirtualOGR (and thus sqlite dialect) work even with a libsqlite3 compiled with SQLITE_OMIT_LOAD_EXTENSION (on Unix only)
     670 * add warning when calling CreateField() with a field name that is 'ROWID' since it can cause corrupted spatial index
     671 * serialize StringList as non-truncated strings
     672 * detection of DateTime/Date/Time column type on the result of a max() / min() function
     673 * ensure fields of type DateTime/Date/Time are properly recognized if the table is empty (#5426)
     674
     675VFK driver:
     676 * fix memory leak
     677 * change VFK header check (first line starts with '&H')
     678 * implement OGR_VFK_DB_DELETE configuration option
     679 * read all data blocks by default
     680 * fix GetFeatureCount()
     681 * don't use existing internal db when it's older then original vfk file
     682
     683VRT driver:
     684 * add support for multiple geometry columns in OGRVRTLayer, OGRVRTUnionLayer and OGRVRTWarpedLayer (RFC 41)
     685 * add validation of OGR VRT document against the schema (if libXML2 available);
     686   can be disabled by setting GDAL_XML_VALIDATION configuration option to NO
     687 * make relativeToVRT=1 work with CSV:filename or GPSBABEL:driver:filename (#5419)
     688
     689WFS driver:
     690 * WFS 2.0: be a good citizen and send TYPENAMES (with a S) for GetFeature request (but still TYPENAME for DescribeFeatureType)
     691 * accept TYPENAME(S) in URL with characters escaped by '%' (#5354)
     692
     693XLS driver:
     694 * don't use sheetId attribute from workbook.xml to link a sheet name to its filename. The first sheet is sheet1.xml, etc...
     695
     696XPlane driver:
     697 * accept V1000 APT files
     698
     699== SWIG Language Bindings ==
     700
     701All bindings:
     702 * include constraints.i in gdal.i so that NONNULL constraints are really applied
     703 * add Feature.SetFieldBinaryFromHexString()
     704 * add SpatialReference.EPSGTreatsAsNorthingEasting (#5385)
     705 * map OGR_L_GetStyleTable(), OGR_L_SetStyleTable(), OGR_DS_GetStyleTable(), OGR_DS_SetStyleTable()
     706 * Add OGR_STBL_AddStyle() and map all OGR_STBL_ C methods to SWIG
     707
     708CSharp bindings:
     709 * Fix handling UTF8 strings in GDAL C# (#4971)
     710 * Add C# typemaps for RFC-39 functions (#5264)
     711 * Fix typo in OGRLayerAlg.cs (#5264)
     712 * Add missing typemaps for C# (#5265)
     713
     714Java bindings:
     715 * run 'make ANDROID=yes' in swig/java to generate SWIG bindings that compile for Android (#5107)
     716 * fix linking issue that is encountered in non libtool builds with g++ 4.6
     717 * add multireadtest utility
     718 * respect JAVA_HOME set via configure
     719
     720Perl bindings:
     721 * ColorTable method of ColorTable class was documented but ColorEntries was
     722   implemented. Implemented but deprecated ColorEntries.
     723
     724Python bindings:
     725 * fix ref-counting of callable passed to gdal.PushErrorHandler() that could cause segfaults (#5186)
     726 * make gdal_array.NumericTypeCodeToGDALTypeCode accept numpy dtype arguments (#5223)
     727 * add default xoff,yoff,xsize,ysize values to ReadRaster calls
     728 * make ogr.CreateGeometryFromWkt() and SpatialReference.ImportFromWkt() propery validate their argument (#5302)