| 1 | = GDAL/OGR 1.10.0 Release Notes (r23656 to r25905) = |
| 2 | |
| 3 | == In a nutshell... == |
| 4 | |
| 5 | * New GDAL drivers: |
| 6 | - ARG: read/write suuport for ARG datasets (#4591) |
| 7 | - CTable2: read/write support for CTable2 datum grid shift format |
| 8 | - DDS: write-only support for DirectDraw Surface format (#5017) |
| 9 | - IRIS: read support for products generated by the IRIS weather radar software (#4854) |
| 10 | - MAP: read OziExplorer .map files (#3380) |
| 11 | - MBTiles: read-only support for MBTiles rasters (needs libsqlite3) |
| 12 | * New OGR drivers: |
| 13 | - ElasticSearch: write-only support to write into ElasticSearch databases (needs libcurl) |
| 14 | - ODS : read/write support for OpenOffice .ods (Open Document Spreadsheets) (needs libexpat) |
| 15 | - OSM : read-only support for .osm / .pbf OpenStreetMap files |
| 16 | - PDF: read/write support for vector/structured PDF files |
| 17 | - XLSX: read/write support for MS Excel 2007 and later Open Office XML .xlsx spreadsheets (needs libexpat) |
| 18 | * RFC 39: OGR Layer algebra methods : http://trac.osgeo.org/gdal/wiki/rfc39_ogr_layer_algebra |
| 19 | * Add a SQL SQLite dialect : http://gdal.org/ogr/ogr_sql_sqlite.html |
| 20 | * Make GDAL loadable as a SQLite3 extension (named VirtualOGR) (#4782) |
| 21 | * /vsicurl_streaming/: new virtual file system handler designed to read in streaming mode dynamically generated files |
| 22 | * GDAL API_PROXY mechanism to run GDAL drivers in a separate process: http://gdal.org/gdal_api_proxy.html |
| 23 | * Significantly improved drivers : PDF, SQLite, JP2OpenJPEG |
| 24 | * Add a geocoding client : http://gdal.org/ogr/ogr__geocoding_8h.html |
| 25 | * Upgrade to EPSG 8.0 database |
| 26 | |
| 27 | == New installed files == |
| 28 | |
| 29 | * data/ozi_datum.csv |
| 30 | * data/ozi_ellips.csv |
| 31 | * data/osmconf.ini |
| 32 | * include/cpl_progress.h |
| 33 | * include/cpl_spawn.h |
| 34 | * bin/gdalserver[.exe] |
| 35 | |
| 36 | == Backward compatibility issues == |
| 37 | |
| 38 | Due to the 2-digit number '10' in GDAL 1.10, the GDAL_VERSION_NUM macro has been changed. |
| 39 | The new advised way of testing the GDAL version number (for GDAL 1.10 or later) at compilation time is : |
| 40 | |
| 41 | #ifdef GDAL_COMPUTE_VERSION /* only available in GDAL 1.10 or later */ |
| 42 | #if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(1,10,0) |
| 43 | /// |
| 44 | #endif |
| 45 | #endif |
| 46 | |
| 47 | Testing of previous versions is of course unchanged. |
| 48 | |
| 49 | == GDAL/OGR 1.10.0 - General Changes == |
| 50 | |
| 51 | Build(Unix): |
| 52 | * New optional dependencies : libpcre (for regular expressions support in SQLite), libxml2 (validation of GML files) |
| 53 | * --with-python: make it work with python3, and also accept path to python binary as argument of --with-python (#4725) |
| 54 | * Use nc-config to detect netcdf compilation and linking parameters (#4424) |
| 55 | * Add frmts/vrt to CONFIG_CFLAGS for developement version of gdal-config (needed for postgis 2.0 compilation) |
| 56 | * Fix compilation failure with iconv on FreeBSD (#4525) |
| 57 | * Make FileGDBAPI detection work with FileGDBAPI v1.1 and v1.2 (#4570) |
| 58 | * Fix build on Gentoo with its custom zlib 1.2.6 with the OF macro removed |
| 59 | * Mark man target as phony (#4629) |
| 60 | * Add guess for the directory where to find openjdk on Ubuntu 12.04 (#4643) |
| 61 | * Look for geotiff headers in /usr/include/libgeotiff too (#4706) |
| 62 | * For install target, create gdalplugins subdirectory in $(DESTDIR)$(INST_LIB)/ (Unix, except MacOSX) |
| 63 | * Better detection of OpenCL headers and library (#4665) |
| 64 | * Changed libdap test to use dap-config to detect version when possible |
| 65 | |
| 66 | Build(Windows): |
| 67 | * (Preliminary) support to build INGRES |
| 68 | * Make CPLGetErrorHandlerUserData() exported |
| 69 | * Make OGDI include path overridable (to match OSGeo4W's default location) |
| 70 | * Build and install plugins |
| 71 | |
| 72 | == GDAL 1.10.0 - Overview of Changes == |
| 73 | |
| 74 | Port: |
| 75 | * CPL Thread API: add condition API, modeled on POSIX pthread_cond_ API |
| 76 | * Add CPLGetNumCPUs() |
| 77 | * Deserialize various forms of textual representation for positive/negative infinity |
| 78 | * Add routine to validate a XML file against its XSD schema (needs libxml2); 'optimize' it for GML files |
| 79 | * CPLRecodeStub(): for Windows, provide an implementation of UTF8 <--> CPxxx conversions using Windows API |
| 80 | * Make VSIFileManager::Get() thread-safe |
| 81 | * Fix thread-safety of CPLOpenShared() (#4848) |
| 82 | * Add CPLZLibDeflate() and CPLZLibInflate() |
| 83 | * Add API for OAuth2 authentication protocol. |
| 84 | * Curl: allows setting the CURLOPT_PROXYAUTH setting through GDAL_PROXY_AUTH=BASIC/NTLM/DIGEST/ANY, |
| 85 | allow setting CURLOPT_HTTPAUTH through GDAL_HTTP_AUTH=BASIC/NTLM/GSSNEGOTIATE/ANY (#4998) |
| 86 | * /vsicurl/ and /vsicurl_streaming/ : make it possible to cache the files in RAM with VSI_CACHE = TRUE |
| 87 | * /vsizip/: fix handling of Eof() that could cause missed last feature(s) of zipped shapefiles (#4748) |
| 88 | |
| 89 | Core: |
| 90 | * Add a DMD_SUBDATASETS driver metadata, and advertize it in relevant drivers (#4902) |
| 91 | * Fix statistics computation when nodata value is +/- infinity (#4506) |
| 92 | * GDALNoDataMaskBand: implement IRasterIO() for an optimization in common use case (#4488) |
| 93 | * GDALVersionInfo(): add BUILD_INFO version string |
| 94 | * GMLJP2: Fix bad interpretation when Lat/Long (#4657) |
| 95 | * Set nodata value when creating external overviews so that AVERAGE algorithm works as expected (#4679) |
| 96 | * EXIFExtractMetadata() moved to gcore/gdalexif.cpp to make it usable for other drivers |
| 97 | * Fix infinite recursion in GDALOpen() (#4835) |
| 98 | * GDALRasterBand::IRasterIO() : optimize downsampling/upsampling code path |
| 99 | * C API: make GDALSetDefaultRAT() accept a NULL RAT. All drivers are ready for that now. |
| 100 | * GDALRasterBand::GetDefaultHistogram(): change how min and max bounds are computed in the non GDT_Byte case |
| 101 | * GDALDataset::BlockBasedFlushCache(): fix crash when band has sub-blocking |
| 102 | |
| 103 | Algorithms: |
| 104 | * GSOC Image Correlator work (preliminary state) |
| 105 | * Warp: divide Lanczos resampling time by at least a factor of 4. |
| 106 | * Warp: add NUM_THREADS warping option to set the number of threads to use to parallelize the computation part of the warping |
| 107 | * Warp: do not stop collecting chunks to operate on just because some subchunks fail (#4795) |
| 108 | * Warp: add mode and average resampling methods (#5049) |
| 109 | * OpenCL warper: handle errors in set_supported_formats(), fix memory leaks in error code paths, add detection of Intel OpenCL (by the way, Intel OpenCL seems to work properly only with a Float32 working data type) |
| 110 | * OpenCL warper: fix segmentation fault related to source/destination validity masks (#4840) |
| 111 | * Geoloc: do not trust pabSuccess in geolocation transformer (#4794) |
| 112 | * Geoloc: add bilinear interpolation of coordinates from backmap (#4907) |
| 113 | * Geoloc: add GDALTransformGeolocations() and SWIG binding |
| 114 | * Add nearest neighbor and cubic interpolation of DEM in GDALRPCTransform (#3634). |
| 115 | User can set RPC_DEMINTERPOLATION to near, bilinear or cubic to interpolate of input DEM file which set in RPC_DEM. The default interpolation is bilinear. |
| 116 | * gdal_rasterize: fix problem identifying some connected-8 polygons (#4647) |
| 117 | * gdal_grid: speed-up dramatically nearest neighbour search (with radius1 == radius2) by using a search quad tree |
| 118 | * gdal_grid: parallelize processing by specifying the GDAL_NUM_THREADS configuration option (default to ALL_CPUS) |
| 119 | * gdal_grid: for 'invdist' algorithm with default parameters, use SSE optimized version if available (at compile and runtime). Can be disabled with GDAL_USE_SSE=NO |
| 120 | |
| 121 | Utilities: |
| 122 | * General: make usage message more self-explanatory in case of bad option (#4973) |
| 123 | * gdalmove.py: New application for "warping" an image by just updating its SRS and geotransform. |
| 124 | * gdal_edit.py: promote it as an 'official' tool (#4963) |
| 125 | * gdalwarp: add "-r average" and "-r mode" resampling methods (#5049) |
| 126 | * gdalwarp: copy metadata and band information from first source dataset and detect for conflicting values, new options -nomd and -cvmd (#3898) |
| 127 | * gdalwarp: optimization when (-tr and -te) or (-ts and -te) are specified (#4804) |
| 128 | * gdalwarp: assign color interpretation of source bands to target dataset, in the case of target VRT (#4462) |
| 129 | * gdalwarp: add -setci option to set the color interpretation of the bands of the target dataset from the source dataset |
| 130 | * gdal_translate: accept -srcwin or -projwin values that fall partially or completely outside the source raster extent. Introduce -epo and -eco options to error out in those situations. |
| 131 | * gdallocationinfo: add a -overview overview_level option to specify an overview level, instead of the base band |
| 132 | * gdalsrsinfo: try to open with GDAL and OGR even if argument is not a file (#4493) |
| 133 | * gdaldem: add a -combined option to the hillshade mode to compute combined hillshading (#4753) |
| 134 | * gdaldem: fix color-relief output with driver that has only CreateCopy() capability, and when the source block dimensions are not multiple of the raster dimension (#4764) |
| 135 | * gdaltindex: add -t_srs option, to transform all input source bounds to same SRS (#4773) |
| 136 | * gdalbuildvrt: add -a_srs option |
| 137 | * gdalbuildvrt: add -sd option to select subdataset by its number |
| 138 | * gdalbuildvrt: add a -b flag (#4992) |
| 139 | * gdalgrid: increase working buffer of gdal_grid binary to 16 MB |
| 140 | * gdal_retile.py: Don't pass creation options to the MEM driver used for generating temporary datasets (#4532) |
| 141 | * gdal_edit.py: make -a_srs option work properly by expanding the user input to WKT; support -a_srs with empty string |
| 142 | * gdal_edit.py: add support for -gcp option |
| 143 | * gdal2tiles.py: make KML output conformant with KML 2.2 (#4536) |
| 144 | * gdal2tiles.py: OL 2.12 support (#4742) |
| 145 | * gdal_polygonize.py: add -8 option to select 8 connectedness (#4655) |
| 146 | * gdal_merge.py, gdalident.py: remove using of glob() API |
| 147 | * gdal2xyz.py: fix output of -csv mode with multi-band raster |
| 148 | * gdal_contour / gdal_rasterize / gdal_translate: accept numeric values in scientific format. |
| 149 | * crs2crs2grid.py: New sample Python script |
| 150 | * gdalcompare.py: New sample Python scrip to compare GDAL datasets |
| 151 | * gdal_calc.py: add --co creation option flag (#4964) |
| 152 | * gdaladdo: add a -b flag |
| 153 | * pct2rgb.py: deal with color tables with more than 256 entries (#4905) |
| 154 | |
| 155 | Multi driver changes: |
| 156 | * Add support for reading .j2w, .jp2w and .wld files for JP2ECW, JP2MrSID, JP2OPENJPEG and JPEG2000 drivers (#4651) |
| 157 | |
| 158 | AAIGrid: |
| 159 | * Change float format string for AAIGrid to prevent pointless padding/decimals (#3732) |
| 160 | |
| 161 | ACE2 driver: |
| 162 | * Fix typo that prevented dataset to be opened with explicit /vsigzip/ (#4460) |
| 163 | |
| 164 | ADRG driver: |
| 165 | * Various fixes when opening ill-formed datasets. |
| 166 | |
| 167 | BAG driver: |
| 168 | * Fix serious problems with tiled images, particularly when not multiples of tile size (#4548) |
| 169 | * Added capture of dateTime attribute |
| 170 | * Support WKT (with Esri style VERTCS) spatial reference |
| 171 | * Allow WGS84 spatial reference |
| 172 | * Include compression method in metadata. |
| 173 | |
| 174 | BT driver: |
| 175 | * Fixes for huge files (>2GB) support (#4765) |
| 176 | |
| 177 | CEOS2 driver: |
| 178 | * Add various radarsat-1 related metadata fields (#4996) |
| 179 | |
| 180 | DIMAP driver: |
| 181 | * Check signature in METADATA.DIM, not just file existence |
| 182 | * Fixed DIMAP2 driver to get the proper absolute path in a specific case |
| 183 | |
| 184 | DTED driver: |
| 185 | * Write the updated value of the partial cell indicator to the file (#4687) |
| 186 | * Honour 'Longitude count' field of Data Record to deal properly with files with missing columns at the left and/or right of the file (#4711) |
| 187 | |
| 188 | ECW driver: |
| 189 | * Add support for ECW SDK 5.0 |
| 190 | * Improve picking performance on large datasets (#4790) |
| 191 | * Use ECW SDK to do super-sampling for SDK >= 4.X |
| 192 | * Expose 256x256 block dimension instead of scanline |
| 193 | * Workaround a ECW SDK 3.3 bug, when doing a RasterIO() with the total number of bands, but not in the 1,2,..n order (#4234) |
| 194 | * Add heuristics to detect successive band reading pattern (such as done by QGIS). Beneficial for ECWP |
| 195 | |
| 196 | ENVI driver: |
| 197 | * Add support for writing RPCs and GCPs |
| 198 | * Add ability to access all ENVI header fields to the ENVI reader (#4735) |
| 199 | * Write in the ENVI header metadata found in the ENVI metadata domain (#4957) |
| 200 | * Fix reading of .sta file on 64bit Linux |
| 201 | * Assume BSQ interleaving when 'interleave' keyword missing or unknown |
| 202 | * Fix category names writing |
| 203 | * Remove 'envi fft result' from the blacklist |
| 204 | * Report wavelength and wavelength_units as band metadata (#3682) |
| 205 | |
| 206 | ENVISAT driver: |
| 207 | * Ported to VSI*L |
| 208 | |
| 209 | GeoRaster driver: |
| 210 | * Add spatialExtent and extentSRID create-options (#4529) |
| 211 | * Fix JPEG quality not updated on metadata (#4552) |
| 212 | * Search for RDT as regular table |
| 213 | * Add support for RPC (#4038) |
| 214 | |
| 215 | GIF driver: |
| 216 | * Add support for giflib 4.2.0 (#4675) and giflib 5.0 |
| 217 | |
| 218 | GMT driver: |
| 219 | * Make GMT driver thread-safe by adding a global mutex (since the netcdf library isn't thread-safe) |
| 220 | |
| 221 | GTiff driver: |
| 222 | * Internal libtiff and libgeotiff refreshed from upstream |
| 223 | * Use EXTRASAMPLE_UNASSALPHA by default (behaviour change w.r.t. previous GDAL versions) (#4733) |
| 224 | * Add support for reading GeoEye *.pvl metadata files (#4465) |
| 225 | * Lossless CreateCopy'ing() from a JPEG dataset |
| 226 | * Read EXIF metadata in the EXIF metadata domain |
| 227 | * Ensure that rowsperstrip is never larger than ysize (#4468) |
| 228 | * Fix writing of RGBA pixel-interleaved JPEG-compressed TIFF (#4732) |
| 229 | * Set color interpretation to GCI_PaletteIndex after calling SetColorTable() (#4547) |
| 230 | * Conversion for 8-bit unpacked CMYK (PHOTOMETRIC_SEPARATED) to RGBA. |
| 231 | * Maximize EPSG compatability where PCS is defined (#4607) |
| 232 | * Ensure that unusual units with an authority node are saved nicely (like EPSG:2066) |
| 233 | * Add CT_HotineObliqueMercatorAzimuthCenter support |
| 234 | * Fix PolarStereographic / 9829 support |
| 235 | * Make sure that GetMetadata() initializes the value of GDALMD_AREA_OR_POINT item, if not already done (#4691) |
| 236 | * When building overviews, if the image has already an internal mask, then build internal overviews for the mask implicitely |
| 237 | * Better handling of SetMetadata(a_string) (#4816) |
| 238 | * Use GTIFAllocDefn/GTIFFreeDefn with libgeotiff 1.4.1+ |
| 239 | * Add support for GEO_NORMALIZE_DISABLE_TOWGS84 (#3309) |
| 240 | * Improve handling of description and offset/scale without reverting to .aux.xml |
| 241 | * Workaround defects in libtiff 3.X when generating several overview levels at the same time |
| 242 | * Special case where the EGM96 Vertical Datum code is mis-used as a Vertical CS code (#4922) |
| 243 | * Support unsetting geotiff tags when calling SetGeoTransform([0,1,0,0,0,1]) and SetProjection('') |
| 244 | * Rework how CSV files are searched w.r.t libgeotiff (#4994) |
| 245 | |
| 246 | GRIB driver: |
| 247 | * Report nodata value (#4433) |
| 248 | * Fix fgetc signed/unsigned problem for Grib format VSI*L reader (#4603) |
| 249 | * Avoid caching more than 100 MB in case of dataset with many bands (#4682) |
| 250 | * uses meshLat as the latitude_of_origin parameter of LCC projection (#4807) |
| 251 | |
| 252 | GSAG driver: |
| 253 | * Fix hangs when reading truncated dataset (#4889) |
| 254 | |
| 255 | GS7BG driver: |
| 256 | * Implement Create() and CreateCopy() (#4707) |
| 257 | |
| 258 | GTX driver: |
| 259 | * Support reading old GTX files where datatype was Float64 |
| 260 | |
| 261 | GXF driver: |
| 262 | * Avoid having big buffer on stack (#4852) |
| 263 | * Avoid locale floating point parsing problems (similar to r24367). |
| 264 | * Implement continuued lines mechanism (#4873) |
| 265 | * Fix various vulnerabilities / DoS |
| 266 | |
| 267 | HDF4 driver: |
| 268 | * Add ability to increase the maximum number of opened HDF4 files |
| 269 | * Unix build: avoid issue with system hdfeos library |
| 270 | * Ensure we do not try to use the grid tile api for non-tilesized chunks (#4672) |
| 271 | * Preserve more Float32 attribute precision |
| 272 | * Import HDF USGS GCTP angular parameters as radians |
| 273 | * Restore conventional add_offset interpretation (#4891) |
| 274 | * Be more careful about missing dimensions (#4900) |
| 275 | * Make HDF4 driver thread-safe by adding a global mutex (since the HDF4 library isn't thread-safe) |
| 276 | * Search for "coremetadata" attribute name instead of "coremetadata." |
| 277 | |
| 278 | HDF5 driver: |
| 279 | * Add support for COSMO-SkyMed metadata (#4160) |
| 280 | |
| 281 | HFA driver: |
| 282 | * Added BASEDATA support for EPT_u1 (#4537) |
| 283 | * Fix crash on dataset closing when .ige file header is corrupted (#4596) |
| 284 | * .aux overviews: avoid destroying existing overviews when asking twice in a row to build overviews for exactly the same overview levels (#4831) |
| 285 | * Fix sizing of RAT string column maxwidth to include null char (#4867) |
| 286 | * Fix segfault in HFAAuxBuildOverviews with selected bands (#4976) |
| 287 | |
| 288 | INGR driver: |
| 289 | * do not reduce tile size to image size (#4856) |
| 290 | * Fix value inversion when reading type 9 (bitonal RLE) untiled files (#5030) |
| 291 | * fix slowness and incorrect random reading with RLE datasets (#4965) |
| 292 | * Enable reading bitonal rle files wider than 22784 (0x5900) pixels (#5030) |
| 293 | * Add RESOLUTION metadata/option to read/write DPI (#5030) |
| 294 | * Add write support for .rle (bitonal rle files) to test the above (#5030) |
| 295 | |
| 296 | ISIS3 driver: |
| 297 | * Ensure scaleFactor defaults to 1 (#4499) |
| 298 | |
| 299 | JP2ECW driver: |
| 300 | * Workaround conflict between ECW SDK deinitialization and GDAL deinitialization, as shown by gdaljp2ecw tests of imageio-ext (#5024) |
| 301 | * Promote 1bit alpha band of a RGBA dataset to 8 bits to improve general user experience (can be turned off by setting GDAL_ECW_PROMOTE_1BIT_ALPHA_AS_8BIT to NO) |
| 302 | |
| 303 | JP2KAK driver: |
| 304 | * Capture Corder in metadata for user convenience |
| 305 | * Fix writing of resolution box where the xresolution value was written instead of the yresolution one |
| 306 | * Skip bands that have different data type when reading multiple bands in IReadBlock() (#4638) |
| 307 | * Default to less than 250000 lines per tile (#5034) |
| 308 | |
| 309 | JP2OpenJPEG driver: |
| 310 | * Require OpenJPEG 2.0.0 now |
| 311 | * Use several decoding threads when processing multi-tiles IRasterIO() requests |
| 312 | * Add support for writing georeferencing |
| 313 | * Read and write JP2 Res box and translate it from/to TIFFTAG_XRESOLUTION, TIFFTAG_YRESOLUTION and TIFFTAG_RESOLUTIONUNIT metadata items |
| 314 | * Promote 1bit alpha band of a RGBA dataset to 8 bits to improve general user experience (can be turned off by setting JP2OPENJPEG_PROMOTE_1BIT_ALPHA_AS_8BIT to NO) |
| 315 | |
| 316 | JPEG driver: |
| 317 | * When there are no external overviews built, take advantage of the nature of JPEG compression to expose overviews of level 2, 4 and 8 |
| 318 | * Don't return junk content when requesting xml:XMP but no XMP metadata is present (#4593) |
| 319 | * add a INTERNAL_MASK creation option to be able to disable appending the ZLib mask if not needed |
| 320 | * add support for creating a JPEG loss-less file starting with the recentlish IJG libjpeg v9 |
| 321 | (with -co ARITHMETIC=yes -co BLOCK=1 -co COLOR_TRANSFORM=RGB1) |
| 322 | |
| 323 | JPEG2000 driver: |
| 324 | * do not accept by default source bands of type different from Byte, Int16 or UInt16 since they seem to cause crashes in libjasper. |
| 325 | This can be overriden, at your own risk, by setting JPEG2000_FORCE_CREATION configuration option to YES (#5002) |
| 326 | |
| 327 | KMLSuperOverlay driver: |
| 328 | * Add read support |
| 329 | * Remove bogus code that limited generation to one zoom level (#4527) |
| 330 | * Set minLodPixels to 1 for zoom level 0 (#4721) |
| 331 | * Fix bad placing of tiles with raster of the extent of a country or more (#4834) |
| 332 | * Add FIX_ANTIMERIDIAN creation option (#4528) |
| 333 | |
| 334 | L1B driver: |
| 335 | * Add support for NOAA19, METOP-B and guess for METOP-C (#2352) |
| 336 | |
| 337 | MG4Lidar driver: |
| 338 | * Add UTF-8 filename support under Windows (#4612) |
| 339 | |
| 340 | NetCDF driver: |
| 341 | * Fix for gdal_rasterize (#4432) |
| 342 | * Enable PAM for band histogram and statistics (#4244) |
| 343 | * Add longitude_of_prime_meridian value to PRIMEM |
| 344 | * Fix SetNoDataValue() - do not update when already set to new value (#4484) |
| 345 | * Convert longitude values in [180,360] interval to [-180,180] (#4512) - override with config option GDAL_NETCDF_CENTERLONG_180=0 |
| 346 | * Support 2D GEOLOCATION arrays when a projected variable has coordinates attribute and supporting lon/at arrays (#4513) |
| 347 | * Ignore coordinate and bounds variables (CF sections 5.2, 5.6 and 7.1) as raster bands, but expose them as subdatasets - this allows to open files with projected SRS (or dimension bounds) directly, without specifying the variable as a subdataset |
| 348 | * Better support for Gaussian grids - store original latitude values in special Y_VALUES geolocation metadata item and use it for netcdf export (#4514) |
| 349 | * Write multi-dimensional variables to a single variable (not one for each unrolled band) in CreateCopy() (#2581) |
| 350 | * Fix handling of km units in netcdf driver and importFromProj4() (#4769) |
| 351 | * Fix detection of 1 and 2 pixel width/height netcdf datasets (#4874) |
| 352 | * Fix subdataset data type info (#4932) |
| 353 | * Make netCDF driver thread-safe by adding a global mutex (since the netcdf library isn't thread-safe) |
| 354 | |
| 355 | NITF driver: |
| 356 | * nitf_spec.xml: add definition of ACFTB and AIMIDB TREs |
| 357 | * Don't escape DESDATA for sizes >10mb (#4803) |
| 358 | * Fix NITF creation when both BLOCKA and TRE are passed in (#4958) |
| 359 | * Allow reading JPEG-in-NITF where JPEG stream dimensions are larger than NITF dimensions (#5001) |
| 360 | * Support for cases with 2 LUTs |
| 361 | |
| 362 | Northwood driver: |
| 363 | * Fixes for huge files (>2GB) support (#4565, #4645) |
| 364 | |
| 365 | PDF driver: |
| 366 | * Add CreateCopy() support |
| 367 | * Add update support for georeferencing and metadata |
| 368 | * Add support for selective layer rendering (only with poppler backend) |
| 369 | * Add GDAL_PDF_BANDS = 3 or 4 config option to select RGB or RGBA rendering; add GDAL_PDF_RENDERING_OPTIONS config option to enable selective feature rendering by combining VECTOR, BITMAP and TEXT values |
| 370 | * Fix parsing of some georeferencing (r24022) |
| 371 | * Recognized ISO georeferencing set at the image level (and not at the page level); expose such images as subdatasets (#4695) |
| 372 | * Support Poppler 0.20 (and for current Poppler development version 0.23/0.24) |
| 373 | * UTF-16 support |
| 374 | * Report registration points as GCPs (OGC Best Practice) |
| 375 | * Allow building driver with both Poppler and Podofo (testing purposes mostly) |
| 376 | * Fix crashes on some PDF files with poppler >= 0.17.0 (#4520) |
| 377 | * Improve rounding of raster dimensions (#4775) |
| 378 | * With podofo, avoid launching the 'pdftoppm' process in a visible console on Windows (#4864) |
| 379 | * Select neatline whose description is 'Map Layers' when it is found, to keep the best neatline for USGS PDF Topo |
| 380 | and add GDAL_PDF_NEATLINE config. option to override that default value. |
| 381 | * Improve detection of DPI for USGS Topo PDF to get the maximum raster quality (will increase |
| 382 | reported dataset height and width) |
| 383 | * Extract USGS Topo PDF embedded metadata in the EMBEDDED_METADATA domain |
| 384 | |
| 385 | PNG driver: |
| 386 | * Internal libpng upgraded to 1.2.50 |
| 387 | |
| 388 | PostgisRaster driver: |
| 389 | * Implement CreateCopy and Delete (#4530) |
| 390 | * Supports reading of tiled raster with irregular blocking and irregular pixel size |
| 391 | * Cache postgres db connection. |
| 392 | * Use PG enviroment variables as fallback when settings are not provided in the connection string. (#4533). |
| 393 | * Do not report nodata value when there is none (#4414) |
| 394 | * Removed dependency on the 'rid' column. |
| 395 | * Fix to make SQL queries with un-rounded floating point string representations. (#4736) |
| 396 | * Fix overview support |
| 397 | |
| 398 | Rasterlite driver: |
| 399 | * Support all resampling methods for internal overviews (#4740) |
| 400 | * Fix overview support with multi-table datasets (#4568, #4737) |
| 401 | * Add RASTERLITE_OVR_OPTIONS configuration option to specify options for the tiles of the internal overviews |
| 402 | |
| 403 | RMF driver: |
| 404 | * Fix incorrect zone number detection for Transverse Mercator (#4766) |
| 405 | |
| 406 | RPFTOC driver: |
| 407 | * Relax SanityCheckOK() to avoid rejecting valid CIB datasets (#4791) |
| 408 | * Avoid selecting a color table that is full black |
| 409 | * Add missing NITF series code 'TF' for 'TFC' (and fix typo in some other long descriptions) (#4776) |
| 410 | |
| 411 | RS2 driver: |
| 412 | * added various metadata fields (#4997) |
| 413 | |
| 414 | SDTS driver: |
| 415 | * Various fixes when opening ill-formed datasets. |
| 416 | |
| 417 | SRP driver: |
| 418 | * Various fixes when opening ill-formed datasets. |
| 419 | |
| 420 | TIL driver: |
| 421 | * Fix TIL driver using overview (#3482) |
| 422 | * Add set projection and geotransformation for TILDataset |
| 423 | |
| 424 | TSX driver: |
| 425 | * Fix crashes in Identify() with certain filenames, and the file is empty or doesn't exist (#4622) |
| 426 | |
| 427 | VRT driver: |
| 428 | * VRTWarpedDataset: add INIT_DEST=0 if no INIT_DEST specified (#4571) |
| 429 | * VRTFilteredSource: fix RasterIO() to take into account source and dest windows (#4616) |
| 430 | * avoid crashes due to int overflow when dealing with requests filling a buffer larger than 2 GB (#4815) |
| 431 | * VRTSourcedRasterBand: override ComputeRasterMinMax(), ComputeStatistics() and GetHistogram() to make them run on sources, only when there's one VRTSimpleSource covering the whole VRTSourcedRasterBand |
| 432 | * solve issue when the VRT is a symlink and that the sources filenames are RelativeToVRT (#4999) |
| 433 | * Fix relariveToVRT option in VRTRawRasterBand (#5033) |
| 434 | |
| 435 | WCS driver: |
| 436 | * Support version 1.1.2 |
| 437 | |
| 438 | WebP driver: |
| 439 | * Allow reading/writing alpha channel (libwebp >= 0.1.4) |
| 440 | * Add support for reading XMP metadata in the xml:XMP metadata domain |
| 441 | |
| 442 | WMS driver: |
| 443 | * Implement GetMetadataItem(Pixel_iCol_iLine, LocationInfo) to retrieve pixel attributes |
| 444 | * Retrieve nodata, min and max values, defined per band or per dataset in the config file (#4613) |
| 445 | * Add GetColorTable(), used by the TiledWMS mini driver (#4613) |
| 446 | * Update TiledWMS mini-driver to support new variable substitution mechanism, min/max/nodata settings, color table support (#4613) |
| 447 | * Add a <UserPwd> element in the XML service description file |
| 448 | |
| 449 | XYZ driver: |
| 450 | * avoid rescanning output file at end of CreateCopy() |
| 451 | |
| 452 | == OGR 1.10.0 - Overview of Changes == |
| 453 | |
| 454 | Core: |
| 455 | * Add OGRLayerDecorator class (decorator base class for OGRLayer), |
| 456 | * Add OGRWarpedLayer class (on-the-fly reprojection of a base layer) |
| 457 | * Add OGRUnionLayer class (on-the-fly concatenation of several base layers) |
| 458 | * Add OGRFieldDefn::IsSame() and OGRFeatureDefn::IsSame() |
| 459 | * Add OGRAbstractProxiedLayer, OGRProxiedLayer and OGRLayerPool classes |
| 460 | * OGRGeometry: set SRS of geometries created via GEOS functions from the source geometry (idem for geometries returned by OGR_G_ForceXXXX() methods) (#4572) |
| 461 | * OGRFeature: Add OGR_SETFIELD_NUMERIC_WARNING option to issue a warning when not fully |
| 462 | numeric values are assigned to numeric fields. If the field type is Integer, |
| 463 | then also warn if the long value doesn't fit on a int. |
| 464 | * Add OGR_G_PointOnSurface() and add it to SWIG bindings |
| 465 | * Add OGR_G_ForceToLineString / OGRGeometryFactory::forceToLineString to join |
| 466 | connected segments in line strings. |
| 467 | * Better implementation of getDimension() for OGRMultiPoint, OGRMultiLineString, OGRMultiPolygon and OGRGeometryCollection |
| 468 | * Fix incorrect rounding in OGRFormatDouble that affected geometry WKT output (#4614) |
| 469 | * OGRSQL: support UNION ALL of several SELECTs |
| 470 | * OGRSQL: defer ORDER BY evaluation until necessary, so that a spatial filter can be taken into account after layer creation |
| 471 | * OGRSQL: allow using indexes when OR or AND expressions are found in the WHERE clause |
| 472 | * OGRSQL: fix incorrect result with more than 2 JOINs and SELECT with expressions with field names (#4521) |
| 473 | * OGRSQL: fix 'SELECT MAX(OGR_GEOM_AREA) FROM XXXX' (#4633) |
| 474 | * OGRSQL: fix invalid conversion from float to integer (#4634) |
| 475 | * OGRSQL: fix behaviour of binary operations when one operand is a NULL value |
| 476 | * OGRDataSource::CopyLayer(): take into account field renaming by output driver (e.g. Shapefile driver that might truncated field names) (#4667) |
| 477 | * OGRLayer::FilterGeometry() : speed-up improvement in some cases and use GEOSPreparedIntersects() when available (r23953, r25268) |
| 478 | * OGRLayer::SetNextByIndex(): return OGRERR_FAILURE if index < 0 |
| 479 | * OGRLineString::setPoint( int iPoint, OGRPoint * poPoint ) : avoid promotting the line to 25D if the point is only 2D (#4688) |
| 480 | * OGRGeometry::Centroid(): make it work properly on POINT EMPTY with latest SVN geos version |
| 481 | * Add reversePoints() method on linestring |
| 482 | |
| 483 | OGRSpatialReference: |
| 484 | * Add support for OGC URLs (#4752) |
| 485 | * add dumpReadable() method on OGRSpatialReference |
| 486 | * Differentiation between Hotine Oblique Mercator (aka Variant A) and Oblique Mercator (aka Variant B) (#104, #2745) |
| 487 | * EPSG: Map methods 1028 and 1029 to normal equidistant cylindrical (#4589) |
| 488 | * EPSG: add support for EPSG:5514 (Krovak East North) |
| 489 | * EPSG: Add EPSGTreatsAsNorthingEasting() to deal with CRS with non-GIS friendly northing/easting axis order similarly as what was done with lat/long geographic SRS, and automatically do coord swapping in GML/WFS drivers in that case (#4329) |
| 490 | * Ozi datum support: support all Ozi datums (#3929), support UTM projection |
| 491 | * USGS: support USGS angular parameters in radians |
| 492 | * MorphFromESRI() fix WKT : compare SPHEROID and PRIMEM parameters instead of names (#4673) |
| 493 | * MorphToESRI(): Add common New Zealand GEOGCS values (#4849) |
| 494 | * OSR ESRI: add GCS mapping name for ETRS89 |
| 495 | * ogr_srs_esri: Make InitDatumMappingTable() thread-safe |
| 496 | * ecw_cs.wkt: Add entry for European Terrestrial Reference System 1989. |
| 497 | * pci_datum.txt: Add entry for D894 |
| 498 | * accept "+proj=XXXX [...] +wktext" as a valid PROJ.4 string, even if projection is unhandled by OGR |
| 499 | * recognize +proj=etmerc when importing from PROJ.4 string; and output +proj=etmerc when exporting Transverse_Mercator to PROJ.4 string if OSR_USE_ETMERC = YES (#4853) |
| 500 | |
| 501 | Utilities: |
| 502 | * ogr2ogr: add a -dim option to force the coordinate dimension to 2 or 3 |
| 503 | * ogr2ogr: accept -nlt PROMOTE_TO_MULTI to ease conversion from shapefiles to PostGIS, by auto-promoting polygons to multipolygons and linestrings to multilinestrings |
| 504 | * ogr2ogr: add -gcp, -order n and -tps options to georeference ungeoreferenced vectors (#4604) |
| 505 | * ogr2ogr: fix -select with shapefile output when specified field name case doesn't match source field name case (#4502) |
| 506 | * ogr2ogr: correctly deal with filenames that begin with 'polygon' or 'multipolygon' as arguments of -clipsrc (#4590) |
| 507 | * ogr2ogr: return non-zero exit code if the -sql triggers an error (#4870) |
| 508 | * ogr2ogr: make -t_srs work when there's no per layer source SRS, but there's per feature SRS |
| 509 | * ogr2ogr: add a -datelineoffset option to provide users with capability to set different offsets than 170 to -170 (#4098) |
| 510 | * ogr2ogr: add a -fieldmap option (#5021) |
| 511 | * ogr2ogr: automatically rename duplicated field names of source layer so that the target layer has unique field names |
| 512 | * ogrupdate.py: new sample script to update an OGR datasource from another one, by trying to identify matches between the 2 datasources |
| 513 | * ogr_layer_algebra.py: new sample script to use OGR layer algebra operations |
| 514 | |
| 515 | Multi driver changes: |
| 516 | * Fix bad AND priority when spatial and attribute filter are combined in PG, MySQL, SQLite MSSQLSptial and VRT drivers (#4507) |
| 517 | |
| 518 | AVCE00 driver: |
| 519 | * Fix GetFeatureCount() when an attribute or spatial filter is set |
| 520 | |
| 521 | AVCBin driver: |
| 522 | * Fix EOF test (#3031) |
| 523 | |
| 524 | CSV driver: |
| 525 | * Allow creating /vsimem/foo.csv |
| 526 | * Detect and remove UTF-8 BOM marker if found (#4623) |
| 527 | * Fix handling of empty column names in header (#4654) |
| 528 | * Allow creating a new .csv file in a directory where there are invalid .csv |
| 529 | files (#4824) |
| 530 | * Use a trick so that the CSV driver creates valid single column files (#4824) |
| 531 | * Add WRITE_BOM option to CSV driver to write UTF8 BOM for improved Excel/unicode compatibility (#4844) |
| 532 | * Don't turn \r\n into \n in CSV field output, regardless of LINEFORMAT settings (#4452) |
| 533 | * Don't left-pad numbers in CSV output when a width is set (#4469) |
| 534 | * Add support for opening .tsv files, in particular the specific Eurostat .tsv files |
| 535 | |
| 536 | DGN driver: |
| 537 | * Add support to read and write font name in the style (#3392) |
| 538 | |
| 539 | DXF driver: |
| 540 | * Write HACH (Polygon) compatible with other DXF viewers |
| 541 | * Write layer geometry extent in file header (#4618) |
| 542 | * Ignore Spline frame control points for VERTEX of POLYLINE (#4683) |
| 543 | * Add color to POINT, INSERT and HATCH |
| 544 | * Take into account extruction vector to transform from OCS to WCS for MTEXT, TEXT, POINT, LINE, CIRCLE, ELLIPSE, ARC, SPLINE and HATCH (#4842) |
| 545 | |
| 546 | FileGDB driver: |
| 547 | * Add the FGDB_BULK_LOAD configuration option (#4420) |
| 548 | * Do compulsory field name laundering. (#4458) |
| 549 | * Add special SQL commands 'GetLayerDefinition a_layer_name' and 'GetLayerMetadata a_layer_name' |
| 550 | * Implement SetFeature(), DeleteFeature() and DeleteField() |
| 551 | * Fix inserting features in a layer of geometry type wkbNone |
| 552 | * Define CLSID/EXTCLSID to fix Feature Class alias being ignored in ArcMap (#4477) |
| 553 | * Use more sensible default values for tolerance and scale parameters (#4455) |
| 554 | * Use ESRI SRS DB to find the WKT definition to use when creating a layer (#4838) |
| 555 | * Fix the way empty geometries are written |
| 556 | * Add read support for fields of type GlobalID or GUID (#4882) |
| 557 | * Add XML_DEFINITION layer creation option |
| 558 | * Support setting fields of type SmallInteger, Float and GUID |
| 559 | |
| 560 | Geoconcept driver: |
| 561 | * Partial support of relaxed GXT export syntax and fix when line is incomplete (#4983) |
| 562 | |
| 563 | GeoJSON driver: |
| 564 | * Fix HTTP HEADERS field send to server (#4546) |
| 565 | * GeoJSON: write crs object as a FeatureCollection attribute in generated GeoJSON files (#4995); on read, strip AXIS nodes |
| 566 | |
| 567 | Geomedia driver: |
| 568 | * Fix loading of 'boundary' geometries when they are 2.5D or contain more than one inner rings (#4734) |
| 569 | |
| 570 | GFT driver: |
| 571 | * Use OAuth2 authentication (was ClientLogin in previous versions). |
| 572 | |
| 573 | GML driver: |
| 574 | * Add PREFIX and TARGET_NAMESPACE dataset creation options |
| 575 | * Fix typo when writing geometry type name of MultiLineString in GML3 .xsd (#4674) |
| 576 | * CreateFeature(): assign spatial ref when it is unset in source feature, even for GML2 case (fixes non-compliance with missing srsName on multi-geometries) |
| 577 | * Make filtering of features based on OGR_GEOMETRY work (#4428) |
| 578 | * Avoid point duplication concatenating GML curve segments (#4451) |
| 579 | * Add special SQL command 'SELECT ValidateSchema()' |
| 580 | * Allow reading srsDimension attribute when set on LineString element, and not on posList (#4663) |
| 581 | * Partial support for reading GML 3.3 compat encoding profile, limited to <gmlce:SimplePolygon>, <gmlce:SimpleRectangle>, <gmlce:SimpleTriangle>, <gmlce:SimpleMultiPoint> elements |
| 582 | * Support WFS GetFeature response document to be piped and opened with /vsistdin/ |
| 583 | * Support specifying connection string as 'filename.gml,xsd=some_filename.xsd' to explicitely provide a XSD |
| 584 | * Improve detection of extent and srs for WFS 2.0 |
| 585 | * Allow ISO-8859-15 encoded files to be used by Expat parser (#4829) |
| 586 | * Handle CompositeCurve like MultiCurve (for NAS) |
| 587 | * Remove duplicate points in rings |
| 588 | * Add OGR_ARC_MINLENGTH to limit the number of segments in interpolated arcs |
| 589 | * When there are several geometries per feature, use geometry inside <XX:geometry> element for Inspire compatibility |
| 590 | * Return per-feature SRS if there's no global SRS for a layer |
| 591 | * Parse correctly <gml:outerBoundaryIs> when there are attributes in the element (#4934) |
| 592 | * Recognize <gml:GeodesicString> |
| 593 | * Recognize <gml:Envelope> elements (#4941) |
| 594 | * Fix crash when reading CityGML attribute with empty string (#4975) |
| 595 | |
| 596 | ILI driver: |
| 597 | * Support for format codes (#3972) |
| 598 | * ILI1: Use Topic name from model in itf output |
| 599 | * ILI1: Recode ISO 8859-1 strings |
| 600 | * ILI1: Various fixes related to enumerations |
| 601 | * ILI2: Fix reading with models |
| 602 | |
| 603 | Ingres driver: |
| 604 | * Add effuser and dbpwd connection parameters. |
| 605 | * Enhance EPSG search bath on WKT AUTH ids. |
| 606 | * Use system defined sequence for fid instead of global (#4567) |
| 607 | * Fix a name mixup when creating the table (#4567) |
| 608 | |
| 609 | KML driver: |
| 610 | * Report empty layers when there is only empty layers; don't error out on empty document (#4511) |
| 611 | * Recognize file whose root element is <Document> and not <kml> |
| 612 | |
| 613 | Idrisi driver: |
| 614 | * Add support for reading attributes from .AVL / .ADC files |
| 615 | * Ignore nodata value when computing min/max of CreateCopy()'ed dataset |
| 616 | * Avoid setting unset values of mean and stddev to PAM (#4878) |
| 617 | |
| 618 | LIBKML driver: |
| 619 | * Add stylemap support |
| 620 | * Add support for GroundOverlay reading (#4738) |
| 621 | * Fix memory leak in OGRLIBKMLDataSource::FindSchema() when a schema is referenced by name and not by id (#4862) |
| 622 | * Correct use of temporary variable for schema field names (#4883) |
| 623 | * Update the layer class internal feature count when a new feature is added |
| 624 | |
| 625 | MITAB driver: |
| 626 | * Fix unwanted changes in data types while converting a datasource to MIF (#3853) |
| 627 | * Fix incorrect handling of Mollweide projection (#4628) |
| 628 | * Fix double free in OGRTABDataSource::Create() when exiting with error (#4730) |
| 629 | * Add datum mapping between EPSG/authority codes and the MapInfo definitions. Falls back to old behaviour of name/string matching. (#481) |
| 630 | * Avoid negative zeros in TOWGS84 read from TAB file (#4931) |
| 631 | |
| 632 | MSSQLSpatial driver: |
| 633 | * Report DeleteFeature/DeleteLayer capabilities |
| 634 | * Fix the parser to swap coordinates with geography data type (#4642) |
| 635 | * Fix to read multipoint geometries correctly (#4781) |
| 636 | * Fix to read 3D geometries correctly (#4806, #4626) |
| 637 | * Use MSSQL catalog if geometry_colums doesn't exist (#4967) |
| 638 | * Utilize OGRFieldDefn::IsIgnored() (#4534) |
| 639 | * Remove requirement for identity fid column in MSSQL tables (#4438) |
| 640 | |
| 641 | MySQL: |
| 642 | * Enable auto reconnect to MySQL (#4819) |
| 643 | * Reset field width and precision when converting from an unhandled field type to TEXT (#4951) |
| 644 | |
| 645 | NAS driver: |
| 646 | * Better support for wfsext:Replace (#4555) |
| 647 | * Skip elements "zeigtAufExternes" and "objektkoordinaten" (fixes PostNAS #3 and #15) |
| 648 | * Issue a warning when geometry is overwritten, invalid geometry is found or featureless geometry appears |
| 649 | * Issue a debug message when a existing attribute is overwritten (to catch array) |
| 650 | * Use forceToLineString() on line strings (fixes PostNAS #18) |
| 651 | * Handle MultiCurve and CompositeCurve |
| 652 | * Merge multilinestrings |
| 653 | * Accept XML files that have AAA-Fachschema.xsd in header (and remove trailing whitespace) |
| 654 | * Add EPSG:25833 |
| 655 | |
| 656 | NULL driver: |
| 657 | * No-op output driver for debugging/benchmarking purpose (Not included in build process) |
| 658 | |
| 659 | OCI driver: |
| 660 | * Fix for index creation when layers are created (#4497) |
| 661 | |
| 662 | ODBC driver: |
| 663 | * Allow opening directly *non-spatial* MS Access .MDB databases (on Windows only) |
| 664 | * Make SetAttributeFilter(NULL) work (#4821) |
| 665 | * Add optimized GetFeatureCount() implementation |
| 666 | |
| 667 | NTF driver: |
| 668 | * Various fixes when opening ill-formed datasets. |
| 669 | |
| 670 | OCI driver: |
| 671 | * Fix issue with pre-existing tables with laundered names not being recognized (#4966) |
| 672 | * Make sure the FID counter is correctly initialized when data is appended (#4966) |
| 673 | * Better quoting of identifiers (#4966) |
| 674 | |
| 675 | PGeo driver: |
| 676 | * PGeo / Geomedia : remove heuristics that tried to identify if a MDB file belonged to the PGeo or Geomedia driver (#4498) |
| 677 | |
| 678 | PG driver: |
| 679 | * Add a 'COLUMN_TYPES' layer creation option (#4788) |
| 680 | * Fix insertion of features with FID set in COPY mode (#4495) |
| 681 | * Honour datasource read-only mode in CreateField(), CreateFeature(), SetFeature() and DeleteFeature() (#4620) |
| 682 | * Avoid fatal error when the public schema is absent (#4611) |
| 683 | * Differ SRS evaluation on SQL layers (#4644) |
| 684 | * Optimize SRID fetching on SQL result layer; compatibility with PostGIS 2.0 by using ST_SRID (#4699, #4700) |
| 685 | * Always fetch the SRS to attach it to feature geometry of result SQL layers. |
| 686 | |
| 687 | PGDump driver: |
| 688 | * Add a 'COLUMN_TYPES' layer creation option (#4788) |
| 689 | |
| 690 | REC driver: |
| 691 | * Add robustness checks against corrupted files |
| 692 | |
| 693 | SDE driver: |
| 694 | * Add support for CLOB and NCLOB data type (#4801) |
| 695 | |
| 696 | Shapefile driver: |
| 697 | * Add support for reading ESRI .sbn spatial index (#4719) |
| 698 | * Add defered layer loading |
| 699 | * Implement auto-growing of string and integer columns |
| 700 | * Add a special SQL command 'RESIZE table_name' to resize (shrink) fields to their optimium size, also available as a RESIZE=YES layer creation option for conveniency |
| 701 | * Recode field name from UTF-8 to DBF encoding in CreateField() |
| 702 | * In creation, limit fields of type OFTString to a width of 254 characters (#5052) |
| 703 | * Spatial index optimization (#4472) |
| 704 | * Fix GetFeatureCount() when spatial filter set, especially on big-endian hosts (#4491) |
| 705 | * Fixed wrong return value of OLCStringsAsUTF8 in OGRShapeLayer::TestCapability if GDAL was compiled without iconv support (#4650) |
| 706 | * Support properly creating layers that include dot character |
| 707 | * Avoid assert() if SetFeature() is called on a feature with invalid FID (#4727) |
| 708 | * Correctly deal with .cpg files containing 8859xx string (#4743) |
| 709 | * Make TestCapability(OLCFastFeatureCount) return TRUE when an attribute filter is set only if attribute indices can be used |
| 710 | * Shapelib: Fix memory leaks in error code path of DBFCreateLL() (#4860) |
| 711 | * Deal better with shapefile directories with foo.shp and FOO.DBF, particularly for REPACK support, and particularly for Windows OS (on Linux, foo.shp and FOO.DBF will be 2 different layers) |
| 712 | * Delete temporary _packed.cpg file generated during REPACK of a layer whose .dbf has an accompaying .cpg file |
| 713 | * In DeleteDataSource(), delete .cpg file if existing |
| 714 | |
| 715 | S57 driver: |
| 716 | * Various fixes when opening ill-formed datasets. |
| 717 | * Preliminary support for FFPT/FFPC update records (#5028) |
| 718 | * Add RECODE_BY_DSS suboption to OGR_S57_OPTIONS configuration option that can be set to YES so that the attribute values are recoded to UTF-8, from the character encoding specified in the S57 DSSI record (#5048, #3421, adapted from patch by julius6) |
| 719 | |
| 720 | SQLite/Spatialite driver: |
| 721 | * Add support for tables with multiple geometry columns (#4768) |
| 722 | * Add (preliminary) support for Spatialite 4.0 database changes (#4784) |
| 723 | * Make GDAL loadable as a SQLite3 extension (named VirtualOGR) (#4782) |
| 724 | * Add support for OFTDateTime/OFTDate/OFTTime field types |
| 725 | * Add a SRID layer creation option |
| 726 | * Make REGEXP function available by using libpcre (#4823) |
| 727 | * Add a COMPRESS_COLUMNS layer creation option to make string columns ZLib compressed |
| 728 | * Implement minimalistic set of spatial functions if Spatialite isn't available |
| 729 | * Spatialite: make use of spatial filter on result layers when the SQL expression is simple enough (no join, etc...) (#4508) |
| 730 | * Spatialite: spatial index can be used even when linking against regular SQLite (#4632) |
| 731 | * Spatialite: to improve performance, defer spatial index creation at layer closing or when a spatial request is done |
| 732 | * Spatialite: use Spatialite 'layer_statistics' and 'spatialite_history' to cache the row count and extent of (spatial) layers |
| 733 | * Spatialite: add support for reading Spatialite 4.0 statistics (filling them on the fly still not implemented) |
| 734 | * Spatialite: for Spatialite 4.0, translate INIT_WITH_EPSG=NO into InitSpatialMetaData('NONE') to avoid filling the spatial_ref_sys table |
| 735 | * On SQL result layers, report the SRS of the geometry of the first feature as the layer SRS |
| 736 | * Defered layer definition building for table and view layers |
| 737 | * Speed-up opening of a result layer that has an ORDER BY |
| 738 | * Cache GetExtent() result |
| 739 | * Allow inserting empty feature |
| 740 | * Return empty layer when SELECT returns 0 rows (#4684) |
| 741 | * Add compatibility for newer SQLite versions when using the VFS layer (#4783) |
| 742 | * Add missing column name quoting |
| 743 | |
| 744 | TIGER driver: |
| 745 | * Fix opening TIGER datasource by full file name (#4443) |
| 746 | * Updated to use VSI*L |
| 747 | |
| 748 | VFK driver: |
| 749 | * SQLite is now a compulsory dependency for VFK |
| 750 | * Store VFK data in SQLite (in-memory) database |
| 751 | * Don't read whole file into buffer, but only on request |
| 752 | * id property of data records in VFK file exceed int limit -> use GUIntBig for id values |
| 753 | * Fix reading multi-line data records |
| 754 | * Recode string feature properties - convert from cp-1250 to utf-8 |
| 755 | * Skip invalid VFK features |
| 756 | |
| 757 | VRT driver: |
| 758 | * Add <OGRVRTWarpedLayer> (on-the-fly reprojection of a base layer) |
| 759 | * Add <OGRVRTUnionLayer> (on-the-fly concatenation of several base layers) |
| 760 | * Add <FeatureCount>, <ExtentXMin>, <ExtentYMin>, <ExtentXMax>, <ExtentYMax> to <OGRVRTLayer> |
| 761 | * Add an optional 'dialect' attribute on the <SrcSQL> element |
| 762 | * Fix OGR VRT sensitive to whitespace and <?xml> nodes (#4582) |
| 763 | * Optimizations to avoid feature translation when possible |
| 764 | * Implement GetFIDColumn() (#4637) |
| 765 | * Implement StartTransaction(), CommitTransaction() and RollbackTransaction() by forwarding to the source layer |
| 766 | * Auto enable bAttrFilterPassThrough when possible |
| 767 | |
| 768 | WFS driver: |
| 769 | * WFS paging: change default base start index to 0 (was 1 before), as now clarified by OGC (#4504) |
| 770 | * Accept several type names if the TYPENAME parameter is specified |
| 771 | * Forward SQL ORDER BY clause as a WFS SORTBY for WFS >= 1.1.0 |
| 772 | * Fix spatial filter with WFS 2.0 GeoServer |
| 773 | * Check that left-side of a binary operator in an attribute filter is a property name before submitting it to server-side |
| 774 | * Major overhaul of URL-escaping |
| 775 | * Fix issues when querying the WFSLayerMetadata and that one of the field contains double-quote characters (#4796) |
| 776 | * Remove auto-added ACCEPTVERSIONS=1.0.0,1.1.1 - when none of VERSION or ACCEPTVERSIONS were specified - because it does not work with WFS 2.0 only servers |
| 777 | * Automagically convert MAXFEATURES= to COUNT= if people still (wrongly) used it for WFS 2.0 |
| 778 | * Honour paging when running GetFeatureCount() and that RESULTTYPE=HITS isn't available (e.g. WFS 1.0.0) (#4953) |
| 779 | * Optimize WFS 1.0 (or WFS 1.1.0 where RESULTTYPE=HITS isn't available) so that in some circumstances the GML stream |
| 780 | downloaded is used to compute GetFeatureCount() and GetExtent() together |
| 781 | * Fix segfault on non-GML output when there's SRS axis swapping but the feature has no geometry (#5031) |
| 782 | |
| 783 | XLS driver: |
| 784 | * Set FID to the row number in the spreadsheet software (first row being 1). In case OGR detects a header line, the first feature will then be assigned a FID of 2 (#4586) |
| 785 | * Non-ascii path support for Windows (#4927) |
| 786 | |
| 787 | == SWIG Language Bindings == |
| 788 | |
| 789 | All bindings: |
| 790 | * Add VSIReadDirRecursive() (#4658) |
| 791 | * Add a osr.CreateCoordinateTransformation(src, dst) method (and for Java, a static method CoordinateTransformation.CreateCoordinateTransformation(src, dst) (#4836) |
| 792 | * Add ogr.ForceToLineString() |
| 793 | * Clear error before OGR_Dr_Open() (#4955) |
| 794 | * Add a SetErrorHandler(handler_name) method |
| 795 | |
| 796 | CSharp bindings: |
| 797 | * Add C# signature for FileFromMemBuffer that accepts byte array (#4701) |
| 798 | |
| 799 | Java bindings: |
| 800 | * Fix compilation issue with SWIG 2.0.6 on Java bindings (#4669) |
| 801 | * New test application: ogrtindex.java |
| 802 | * Fix values of gdalconst.DCAP_* and gdalconst.DMD_* constants (#4828) |
| 803 | * Fix check for opaque colors in getIndexColorModel() |
| 804 | |
| 805 | Perl bindings: |
| 806 | * Specify module files to install |
| 807 | * Return values have to be mortal, this was not the case in many instances. |
| 808 | * New method Driver::Name aka GetName |
| 809 | * doc target in GNUmakefile to call doxygen |
| 810 | * Default to first band in GetRasterBand. |
| 811 | * New method Geo::OGR::Layer::DataSource |
| 812 | * New method Geo::OGR::Layer::HasField |
| 813 | * Geometry method accepts geometries in Perl structures |
| 814 | * Fixed a bug in FeatureDefn::create which changed the fields. |
| 815 | * New experimental methods ForFeatures and ForGeometries. |
| 816 | * InsertFeature, Tuple and Row methods use the Tuple and Row methods from Feature. |
| 817 | * Do not use pattern my var = value if ...; as it seemingly may cause unexpected things. |
| 818 | target_key is optional argument. |
| 819 | * Allow setting geometry type with schema argument. |
| 820 | * Fix incorrect behavior of Geo::OGR::Geometry method Points in the case of a Point (#4833) |
| 821 | * Preserve the coordinate dimension in Move method |
| 822 | |
| 823 | Python bindings: |
| 824 | * setup.py: Changes to run without setuptools (#4693) |
| 825 | * setup.py: Automatically run 2to3 for Python3 |
| 826 | * Define __nonzero__ on Layer object to avoid GetFeatureCount() being called behind our back when doing 'if a_layer:' (#4758) |
| 827 | * Fix performance problem when instanciating Feature, especially with Python 3 |
| 828 | * Add RasterBand.ReadBlock(), mostly for driver testing |
| 829 | * Reject strings when array of strings are expected |
| 830 | * make gdal.PushErrorHandler() also accept a Python error handler function as an argument (#4993) |
| 831 | * Fix Feature.ExportToJSon() to write the id attribute when it is 0 (the undefined value is NullFID == -1) |