| 1 | |
| 2 | = *Intermediate* GDAL/OGR 1.9.0 release notes (unreleased version) = |
| 3 | |
| 4 | Established from r21484 up to r23606 |
| 5 | |
| 6 | == In a nutshell... == |
| 7 | |
| 8 | * New GDAL drivers: ACE2, CTG, E00GRID, ECRGTOC, GRASSASCIIGrid, GTA, NGSGEOID, SNODAS, WebP, ZMap |
| 9 | * New OGR drivers: ARCGEN, CouchDB, DWG, EDIGEO, FileGDB, Geomedia, GFT, IDRISI, MDB, SEGUKOOA, SEGY, SVG, XLS |
| 10 | * Significantly improved drivers: NetCDF |
| 11 | * Encoding support for shapefile/dbf (#882) |
| 12 | * RFC 35: Delete, reorder and alter field definitions of OGR layers |
| 13 | * RFC 37: Add mechanism to provide user data to CPLErrorHandler (#4295) |
| 14 | |
| 15 | == New installed files == |
| 16 | |
| 17 | * data/nitf_spec.xml and data/nitf_spec.xsd |
| 18 | |
| 19 | == Backward compatibility issues == |
| 20 | |
| 21 | * GTiff: ensure false easting/northing in geotiff geokeys are treated as being in geosys units (#3901) |
| 22 | * OGR SQL: with DISTINCT, consider null values are such, and not as empty string (#4353) |
| 23 | |
| 24 | == GDAL/OGR 1.9.0 - General Changes == |
| 25 | |
| 26 | Build(Unix): |
| 27 | * Add --with-rename-internal-libtiff-symbols and --with-rename-internal-libgeotiff-symbols |
| 28 | flags in order to safely link against an external libtiff (3.X) and a GDAL built with |
| 29 | internal libtiff (4.0) support (#4144) |
| 30 | * Add --with-mdb --with-java,--with-jvm-lib, --with-jvm-lib-add-rpath options |
| 31 | * Add --with-podofo, --with-podofo-lib, --with-podofo-extra-lib-for-test options |
| 32 | * Add --with-armadillo |
| 33 | * Update to libtool 2.4 |
| 34 | * Fix linking against static libkml (#3909) |
| 35 | * Fix Xerces detection by using LIBS instead of LDFLAGS (#4195) |
| 36 | * Check for .dylib too, when configuring MrSID SDK paths (#3910) |
| 37 | * Fix wrong include order in GNUmakefile of GPX and GeoRSS drivers (#3948) |
| 38 | * cpl_strtod.cpp: Enable android support (#3952). |
| 39 | * ensure swig-modules depends on lib-target so make -j works with swig bindings |
| 40 | * Change how we check for GEOS >= 3.1 (#3990) |
| 41 | * Define SDE64 on at least x86_64 platforms (#4051) |
| 42 | * Make ./configure --with-rasdaman=yes work (#4349) |
| 43 | * MinGW cross compilation: clear GEOS_CFLAGS and XERCES_CFLAGS |
| 44 | if headers found in /usr/include, do not use Unix 64 bit IO |
| 45 | * MinGW build: define __MSVCRT_VERSION__ to 0x0601 if not already set |
| 46 | |
| 47 | Build(Windows): |
| 48 | * Move MSVC warning disabling to nmake.opt, add SOFTWARNFLAGS for external code |
| 49 | * Use nmake.local (#3959) |
| 50 | * cpl_config.h.vc: fix up so it also works with mingw (#3960) |
| 51 | * Build testepsg utility by default when OGR is enabled (#2554) |
| 52 | |
| 53 | == GDAL 1.9.0 - Overview of Changes == |
| 54 | |
| 55 | Port: |
| 56 | * /vsigzip/ : Avoid reading beyond file size in case of uncompressed/stored files in zip (#3908) |
| 57 | * /vsicurl/ : Better support for escaped and UTF-8 characters |
| 58 | * /vsicurl/ : speed-up with a per-thread Curl connection cache |
| 59 | * /vsicurl/ : read https directory listing |
| 60 | * /vsicurl/ : look for GDAL_DISABLE_READDIR_ON_OPEN configuration option in |
| 61 | Open() and Stat() to avoid trying fetching the directory file list |
| 62 | * /vsicurl/ : fix performance problem when parsing large directory listings (#4164) |
| 63 | * /vsicurl/ : recognize listing of Apache 1.3 |
| 64 | * /vsicurl/ : fix ReadDir() after reading a file on the same server |
| 65 | * /vsicurl/ : fetch more info (size, date) when listing FTP or HTTP directories and save it in cache; use those info for ReadDir() and Stat() |
| 66 | * /vsicurl/: accept 225 as a valid response code for FTP downloads (#4365) |
| 67 | * /vsicurl/ : add CPL_VSIL_CURL_ALLOWED_EXTENSIONS configuration option that can be used to restrict files whose existence is going to be tested. |
| 68 | * /vsitar/ : Recognize additionnal .tar files with slightly header differences |
| 69 | * /vsizip/ : wrap the returned file handle in a BufferedReader |
| 70 | * /vsizip/ : fix 1900 year offset for year returned by VSIStatL() |
| 71 | * /vsizip and /vsitar: remove leading './' pattern at the beginning of filenames contained in the archive |
| 72 | * /vsistdout_redirect/ : New virtual file system driver that has the same |
| 73 | behaviour as /vsistdout/ (write-only FS) except it can redirect the output to |
| 74 | any VSIVirtualFile instead of only stdout (useful for debugging purposes) |
| 75 | * Implement VSI*L read caching - useful for crappy io environments like Amazon |
| 76 | * VSI*L: Add Truncate() virtual method and implement it for unix, win32 and /vsimem file systems |
| 77 | * VSI*L: Add ReadMultiRange() virtual method to read several ranges of data in single call; add an optimized implementation for /vsicurl/ |
| 78 | * VSIFEofL(): make it more POSIX compliant. |
| 79 | * Fine tune CPLCorrespondingPaths() for different basenames when paths involved. |
| 80 | * VSIWin32FilesystemHandler::Open() : implement append mode. Needed by ISIS2 driver with attached label (#3944) |
| 81 | * CPLString: add case insensitive find operator (ifind) |
| 82 | * RFC23: Add the iconv() based implementation of the CPLRecode() function (#3950) |
| 83 | * Preliminary support for wchar_t with iconv recode (#4135) |
| 84 | * Avoid calling setlocale if we are already in the C locale, or GDAL_DISABLE_CPLLOCALEC is TRUE (#3979) |
| 85 | * CPLMiniXML: emit warnings when encountering non-conformant XML that is however accepted by the parser |
| 86 | * add CPLBase64Encode(); move cpl_base64.h contents to cpl_string.h |
| 87 | * Use CRITICAL_SECTION instead of Mutex on win32 |
| 88 | * CPLHTTPFetch(): Add a CLOSE_PERSISTENT option to close the persistant sessions |
| 89 | * CPLHTTPFetch(): Add support for "NEGOTIATE" http auth mechanism |
| 90 | * CPLHTTPFetch(): Add a CUSTOMREQUEST option |
| 91 | * VSIBufferedReaderHandle: fix Eof() |
| 92 | * Add CPLStringList class |
| 93 | * Add CPLEmergencyError() - to call when services are too screwed up for normal error services to work (#4175) |
| 94 | * CPLEscapeString(,,CPLES_URL) : don't escape dot character; fix escaping of characters whose code >= 128 |
| 95 | |
| 96 | Core: |
| 97 | * Provide for ABI specific plugin subdirectories on all platforms |
| 98 | * Force cleanup of datasets when destroying the dataset manager |
| 99 | * Add a GDALDataset::CloseDependantDatasets() that can be used by GDALDriverManager::~GDALDriverManager() to safely close remaining opened datasets (#3954) |
| 100 | * Add GDALRasterBand::ReportError() and GDALDataset::ReportError() to prepend dataset name (and band) before error message (#4242) |
| 101 | * Fix performance problem when serializing huge color tables, metadata, CategoryNames and GCPs to VRT/PAM (#3961) |
| 102 | * Be careful about Nan complex values getting histogram, avoid locale issues with statistics metadata |
| 103 | * GDALRasterBand::IRasterIO() default implementation : don't try to use full-res band if I/O failed on the appropriate overview band (for WMS errors) |
| 104 | * RasterIO: Return earlier when a write error occured while flushing dirty block |
| 105 | * GDAL_DISABLE_READDIR_ON_OPEN can be set to EMPTY_DIR to avoid reading the dir, but it set an empty dir to avoid looking for auxiliary files |
| 106 | * Use sibling file list to look for .aux.xml, .aux, .ovr, world files, tab files |
| 107 | * Add GDALFindAssociatedFile() (#4008) |
| 108 | * PAM: Make sure GCPs loaded from a .aux.xml override any existing ones from other sources, like an .aux file |
| 109 | * PAM: Add cloning of CategoryNames |
| 110 | * PAM : PamFindMatchingHistogram() - fix floating-point comparison |
| 111 | * GMLJP2: Use http://www.opengis.net/gml as the schemaLocation |
| 112 | * GMLJP2: Support for capturing and writing page resolution in a TIFF compatible way (#3847) |
| 113 | * GDALJP2Box::SetType() : remove byte-swapping so that SetType()/GetType() correctly round-trips. Do appropriate changes in JP2KAK and ECW drivers. (#4239) |
| 114 | * GDALReplicateWord(): fix off-by-one error initialization (#4090) |
| 115 | |
| 116 | Algorithms: |
| 117 | * polygonize: Added GDALFPolygonize() as an alternative version of GDALPolygonize() using 32b float buffers instead of int32 ones. (#4005) |
| 118 | * gdalwarp: take into account memory needed by DstDensity float mask (#4042) |
| 119 | * rasterfill: create working file as a bigtiff if at all needed (#4088) |
| 120 | * gdalrasterize: use double instead of float to avoid precision issues (#4292) |
| 121 | |
| 122 | Utilities: |
| 123 | * gdalsrsinfo: new supported utility to report SRS in various form (supercedes testepsg) |
| 124 | * gdalinfo: add '-nofl' option to only display the first file of the file list |
| 125 | * gdalinfo: add '-sd num' option to report subdataset with the specified number. |
| 126 | * gdalinfo: add '-proj4' option to gdalinfo, to report a PROJ.4 string for the CRS |
| 127 | * gdal_translate: propagate INTERLEAVE metadata to intermediate VRT dataset |
| 128 | * gdal_translate: force quiet mode when outputing to /vsistdout/ |
| 129 | * gdalwarp: Disable CENTER_LONG rewrapping for cutline (#3932) |
| 130 | * gdalwarp: add -refine_gcps option to discard outliers GCPs before warping (#4143) |
| 131 | * gdalwarp: add warning if user specifies several of -order, -tps, -rpc or -geoloc options |
| 132 | * gdalwarp: speed-up when using -tps with large number of GCPs |
| 133 | * gdalwarp: add support for optional use of libarmadillo to speed-up matrix inversion in -tps mode |
| 134 | * gdalwarp: detect situations where the user will override the source file |
| 135 | * gdallocationinfo: do not let one off-db pixel cause all the rest to be supressed (#4181) |
| 136 | * gdal_rasterize: fix half pixel shift when rasterizing points; make gdal_rasterize utility increase the computed raster extent by a half-pixel for point layers (#3774) |
| 137 | * gdal_rasterize: when source datasource has a single layer, use it implicitely if none of -l or -sql is specified |
| 138 | * nearblack: add -color option (#4085) |
| 139 | * nearblack: improve detection of collar |
| 140 | * nearblack: remove useless restrictions on number of bands for -setmask and -setalpha options (#4124) |
| 141 | * gcps2vec.py: Fix command line parsing; Add SRS definition to created vector layer; Use Point geometry when dumping pixel/line coordinates. |
| 142 | * gdal_merge.py: add support for -separate with multiband inputs (#4059) |
| 143 | * gdal_merge.py: add a -a_nodata option (#3981) |
| 144 | * gdal_proximity.py: -co option existed, but was unused... |
| 145 | * gdal_fillnodata.py: add -co option |
| 146 | * Add gdal_ls.py and gdal_cp.py as Python samples |
| 147 | * Add new sample utility, gdal_edit.py, to edit in place various information of an existing GDAL dataset (projection, geotransform, nodata, metadata) (#4220) |
| 148 | * gdalcopyproj.py: make it copy GCPs too |
| 149 | * Add warning if a target filename extension isn't consistant with the output driver |
| 150 | * Add --pause for convenient debugging, document it and --locale |
| 151 | |
| 152 | Multi-driver topics: |
| 153 | * Implement reading XMP metadata from GIF, JPEG, PNG, GTiff, PDF and the 5 JPEG2000 drivers. The XMP metadata is stored as raw XML content in the xml:XMP metadata domain (#4153) |
| 154 | * Mark BT, DIPEx, ERS, FAST, GenBIN, GSC, GSBG, GSAG, GS7BG, JDEM, JP2ECW, PNM, RMF, TIL, WCS and WMS drivers as compatible with VSI virtual files |
| 155 | * Port DOQ1, DOQ2, ELAS, Idrisi, L1B, NDF, NWT_GRD, NWT_GRC, USGSDEM to VSI virtual file API |
| 156 | * PAM-enable BT and BLX drivers |
| 157 | * Implement Identify() for AAIGrid, ACE2, DTED, NWT_GRD, NWT_GRC, WMS, WCS, JDEM and BSB drivers |
| 158 | * Make GIF, JPEG and PNG drivers return a non NULL dataset when outputing to /vsistdout/ |
| 159 | * HFA and GTiff: add explicit error message when trying to add external overviews when there are already internal overviews (#4044) |
| 160 | * Initialize overview manager to support external overviews for AAIGRID, DIPX, ELAS, GXF, FIT, FITS, GMT, GRIB, GSAG, GSBG, GS7BG, ILWIS, L1B, LCP, Leveller, NWT_GRD, NWT_GRC, RIK, SDTS and SAGA |
| 161 | |
| 162 | AAIGrid: |
| 163 | * Make opening from /vsicurl/ work even when the server returns an empty file list |
| 164 | |
| 165 | ACE2 driver: |
| 166 | * New for GDAL/OGR 1.9.0 |
| 167 | * Read ACE2 DEM |
| 168 | |
| 169 | AIG driver: |
| 170 | * Support uncompressed integer files, new in ArcGIS 10 it seems (#4035) |
| 171 | * Use color table from PAM if no native one (#4021) |
| 172 | * Fallback to PAM mechanism for RAT (#4021) |
| 173 | |
| 174 | BSB driver: |
| 175 | * Parse the GD keyword in BSB_KNP to recognize European 1950 datum (#4247) |
| 176 | |
| 177 | CEOS2 driver: |
| 178 | * avoid potential crash reading past end of string. (#4065) |
| 179 | |
| 180 | CTG driver: |
| 181 | * New for GDAL/OGR 1.9.0 |
| 182 | * Read USGS LULC Composite Theme Grid files |
| 183 | |
| 184 | DIMAP driver: |
| 185 | * Check underlying raster for SRS. There are cases where HORIZONTAL_CS_CODE is empty and the underlying raster is georeferenced |
| 186 | |
| 187 | E00GRID driver: |
| 188 | * New for GDAL/OGR 1.9.0 |
| 189 | * Read Arc/Info Export E00 GRID |
| 190 | |
| 191 | ECRGTOC driver: |
| 192 | * New for GDAL/OGR 1.9.0 |
| 193 | * Read TOC.xml file of ECRG products |
| 194 | |
| 195 | ECW driver: |
| 196 | * Use a long refresh time for ecwp:// connections to ensure we get full resolution data, make configurable |
| 197 | * Re-enable writing non8bit data in jpeg2000 |
| 198 | * Add implementation of an Async reader (4.x SDK) |
| 199 | * Improve to support all /vsi stuff (#2344) |
| 200 | * Ensure ECW_ENCODE_ values are applied for direct Create as well as CreateCopy |
| 201 | * force adfGeoTransform[5] sign to negative. (#393) |
| 202 | * Mark GDAL_DCAP_VIRTUALIO=YES when the driver is configured in read-only mode |
| 203 | * Ensure we fallback to native geotransform if no pam override |
| 204 | * Try to read projection info embedded in ECW file before reading the worldfile (#4046) |
| 205 | * Add support for updating geotransform and projection info of a ECW file (#4220) |
| 206 | * Fix ECW_CACHE_MAXMEM that was without effect and ECW_AUTOGEN_J2I that set an unrelated ECW parameter (#4308) |
| 207 | * Allow to open a ECW file with invalid EPSG code from SWIG bindings (#4187) |
| 208 | |
| 209 | EHdr driver: |
| 210 | * Improve floating point detection (#3933) |
| 211 | * Recognize MIN_VALUE and MAX_VALUE as found in ETOPO1 header |
| 212 | * Try opening the .sch file for GTOPO30 or SRTM30 source file |
| 213 | * Ignore bogus .stx file where min == nodata |
| 214 | |
| 215 | EIR driver: |
| 216 | * Add support for DATA_TYPE keyword |
| 217 | |
| 218 | ENVI driver: |
| 219 | * Add support for ESRI style coordinate system string (#3312) |
| 220 | * Try to guess interleave mode from file extension, if interleave keyword is missing |
| 221 | * Refuse to open unsupported types, but attempt to open everything else. |
| 222 | |
| 223 | ENVISAT driver: |
| 224 | * Correct dfGCPLine values for stripline products (#3160, #3709) |
| 225 | * Fix checking of tie points per column for MERIS GCPs (#4086) |
| 226 | * Report metadata from the ASAR ADS and GADS in the RECORDS metadata domain (#4105) |
| 227 | * Read MERIS metadata (#4105) |
| 228 | * Read data from ERS products in ENVISAT format (#4105) |
| 229 | * Improved MERIS Level 2 bands datection (#4141 and #4142) |
| 230 | |
| 231 | EPSILON driver: |
| 232 | * Now require libepsilon 0.9.1 to build (now dual LGPL/GPL) (#4084) |
| 233 | |
| 234 | ERS driver: |
| 235 | * Use case insensitive find so case does not matter (#3974) |
| 236 | * Handle case of 1 m pixel resolution when CellInfo is missing (#4067) |
| 237 | * Implement ERSRasterBand::SetNoDataValue() (#4207) |
| 238 | * Add support for DATUM, PROJ and UNITS creation option; report the values read from the .ers file in the ERS metadata domain (#4229) |
| 239 | |
| 240 | GeoRaster driver: |
| 241 | * Set nodata causes invalid XML metadata (#3893) |
| 242 | * Fix SetStatistics() failure (#4072) |
| 243 | * Fix defaut interleaving (#4071) |
| 244 | * modelCoordinateLocation=CENTER default (#3266) |
| 245 | * Cache block/level error in update (#4089) |
| 246 | * Fix sequence.nextval not supported (Oracle 10g) (#4132) |
| 247 | * change BLOCKING option to OPTIMALPADDING |
| 248 | * fix 'cannot specify columns on insert create option' (#4206) |
| 249 | * Fix ULTCoordinate Rows/Columns swapping (#3718) |
| 250 | |
| 251 | GIF driver: |
| 252 | * Make CreateCopy() more friendly with outputing in /vsistdout/ |
| 253 | |
| 254 | GRIB driver: |
| 255 | * Fix grid vs cell-center convention wrong |
| 256 | * use /vsi for all jpeg2000 files now |
| 257 | * Fix to allow GFS data to show up properly (#2550) |
| 258 | * Added a ConfigOption in GRIB driver to not normalize units to metric when reading the data |
| 259 | * Fixed grib1 & grib2 : pixel size precision introduces error for corner coordinates (#4287) |
| 260 | |
| 261 | GTA driver: |
| 262 | * New for GDAL/OGR 1.9.0 |
| 263 | * Read/write support for Generic Tagged Arrays |
| 264 | |
| 265 | GTiff driver: |
| 266 | * Ensure false easting/northing in geotiff geokeys are treated as being in geosys units. Add GTIFF_LINEAR_UNITS=BROKEN config option to try and read old broken files, and logic to cover for older libgeotiffs when reading (#3901) |
| 267 | * Add support for a special tag to keep track of properly written linear units (#3901) |
| 268 | * Implement deferred directory chain scanning to accelerate simple opens |
| 269 | * Make GTiff COPY_SRC_OVERVIEWS to deal with unusual source overview sizes (#3905) |
| 270 | * Fix bug when using -co COPY_SRC_OVERVIEWS=YES on a multiband source with external overviews (#3938) |
| 271 | * Add logic to fill out partial tiles on write in for jpeg images (#4096) |
| 272 | * Refresh with libtiff 4.0.0beta7 |
| 273 | * Refresh with libgeotiff 1.4.0, to support for GeogTOWGS84GeoKey |
| 274 | * Add support for Geocentric SRS |
| 275 | * libtiff: Enable DEFER_STRILE_LOAD |
| 276 | * Turn warning 'ASCII value for tag xx into more silent CPLDebug message |
| 277 | * Overviews: Improve error reporting for >16bit images to JPEG compression |
| 278 | * Use CPLAtof() for geotiff and epsg .csv file handling (#3886, #3979) |
| 279 | * Lots of Imagine and ESRI PE string citation handling changes from 1.8-esri. Some citation related changes only compiled in if ESRI_SPECIFIC defined. |
| 280 | * Give PAM information precidence over metadata from GeoTIFF itself. Avoid unnecessary (default) writes of scale/offset. Treat (0,1,0,0,0,-1) as a default geotransform as well as (0,1,0,0,0,1). |
| 281 | * Migrate in some ESRI only logic for 1bit color tables, AdjustLinearUnits and default for 1bit data |
| 282 | * Add a GTIFF_IGNORE_READ_ERRORS configuration option (#3994) |
| 283 | * Lazy loading of RPC/RPB/IMD files (#3996) |
| 284 | * Add mutex protection in GTiffOneTimeInit() to avoid occasionnal segfaults |
| 285 | * Stop interpreting 4th band as alpha when not defined |
| 286 | * Also list nSubType == FILETYPE_PAGE as subdatasets |
| 287 | * CreateCopy(): copies category names from the source bands |
| 288 | * Add capability of writing TIFFTAG_MINSAMPLEVALUE and TIFFTAG_MAXSAMPLEVALUE |
| 289 | * Don't prevent from loading GTiff driver even if libtiff version mismatch detected (#4101) |
| 290 | * Use GTIFF_ESRI_CITATION flag to disable writing special meaning ESRI citations |
| 291 | * Optimize GTiffRGBABand implementation (#3476) |
| 292 | * Add GTIFF_DIRECT_IO config. option that can be set to YES so that IRasterIO() reads directly bytes from the file using ReadMultiRange(). |
| 293 | * Use VSI_TIFFOpen() in GTIFFBuildOverviews() to make it work on virtual file systems |
| 294 | * Treat _UNASSALPHA as alpha |
| 295 | |
| 296 | GRASSASCIIGrid driver: |
| 297 | * New for GDAL/OGR 1.9.0 |
| 298 | * Read GRASS ASCII grids (similar to ArcInfo ASCII grids) |
| 299 | |
| 300 | GRIB driver: |
| 301 | * Check for memory allocation failures |
| 302 | |
| 303 | HDF4 driver: |
| 304 | * Use larger object name buffer |
| 305 | * Handle SWopen failures |
| 306 | |
| 307 | HDF5 driver: |
| 308 | * Fix HDF5/BAG handle/memory leaks (#3953) |
| 309 | * Better error checking |
| 310 | * Do not return NULL from getprojectionref() (#4076) |
| 311 | * Identify datasets whose header starts with some XML content (#4196) |
| 312 | * Fixed HDF5 variable length string attributes reading (#4228) |
| 313 | |
| 314 | HFA driver: |
| 315 | * Add support for writing RATs (#999) |
| 316 | * Add support for reading 2bit compressed .img files (#3956) |
| 317 | * Update EPRJ_ list based on input from Erdas, round trip Krovak and Mercator Variant A (#3958) |
| 318 | * Major push to move projections from 1.6-esri into trunk in HFA driver (#3958) |
| 319 | * Reinitialize RRDNamesList and ExternalRasterDMS (#3897) |
| 320 | * Ensure the whole entry is reinitialized when writing proparams and datum (#3969) |
| 321 | * Ensure PEString cleared if we aren't writing it (#3969) |
| 322 | * Get nodata from an overview if not present on main band. Set geotransform[1] and [5] to 1.0 if pixelSize.width/height are 0.0. Improve error checking if MakeData() fails. |
| 323 | * atof() changed to CPLAtofM() to avoid locale issues. |
| 324 | * Altered Edsc_BinFunction column "Value" to "BinValues" and changed type. |
| 325 | * Equirectangular StdParallel1 changed to LatitudeOfOrigin. |
| 326 | * Logic to preserve psMapInfo->proName as the PROJCS name for UTM/StatePlane. |
| 327 | * Special state plane zone handling. |
| 328 | * Special wisconsin handling for some LCC and TM SRSes. |
| 329 | * 1-bit null blocks to default to 1 in ESRI_BUILDs |
| 330 | * Add support for GDA94 (#4025) |
| 331 | |
| 332 | Idrisi driver: |
| 333 | * Fix segfaults when fields are missing in .ref or .rdc files (#4100) |
| 334 | * Fix problem with inverse flattening when reading a SRS of a sphere (#3757) |
| 335 | |
| 336 | INGR driver: |
| 337 | * Set NBITS for 1 bit bands |
| 338 | |
| 339 | ISIS2/ISIS3 driver: |
| 340 | * Various improvements to PDS related drivers (#3944) |
| 341 | |
| 342 | JaxaPalsar driver: |
| 343 | * Fixed datatype of ALOS PALSAR products Level 1.5 (#4136) |
| 344 | * Fixed detection of unsupported PALSAR Level 1.0 products (#2234) |
| 345 | |
| 346 | JPIPKAK driver: |
| 347 | * Add try to in GetNextUpdatedRegion() to protect against kakadu exceptions (#3967) |
| 348 | * Fixed a serious bug in the computation of fsiz and region. (#3967) |
| 349 | |
| 350 | KMLSUPEROVERLAY driver : |
| 351 | * Remove spaces between coordinates in coordinate triplets as mandated by KML 2.2 spec, to restore compatibility with Google Earth 6.1.0.5001 (#4347) |
| 352 | |
| 353 | LAN driver: |
| 354 | * Preliminary support for writing gis/lan files |
| 355 | |
| 356 | MEM driver: |
| 357 | * Add support for remembered histograms and PIXELTYPE |
| 358 | |
| 359 | MG4Lidar driver: |
| 360 | * Clamp nOverviewCount, some LiDAR files end up with -1 overviews |
| 361 | |
| 362 | MrSID driver: |
| 363 | * Initialize overview manager to enable RFC 15 mask band support (#3968) |
| 364 | * Mark GDAL_DCAP_VIRTUALIO=YES when the driver is configured in read-only mode |
| 365 | * Handle LTI_COLORSPACE_RGBA |
| 366 | |
| 367 | NetCDF driver: |
| 368 | * Set cylindrical equal area representation to the proper cf-1.x notation (#3425) |
| 369 | * Fix precision issue in geotransform (#4200) and metadata |
| 370 | * Add support for netcdf filetypes nc2(64-bit) and nc4 to netCDFDataset (#3890, #2379) |
| 371 | * Add function Identify and IdentifyFileType() (#3890, #2379) |
| 372 | * Temporarily disabling PAM for netcdf driver (#4244) |
| 373 | * Make creation of geographic grid CF compliant (#2129) |
| 374 | * Fixes for netcdf metadata export: duplication, Band metadata, int/float/double vs. char* and add_offset/scale_factor (#4211, #4204), double precision ( 4200) |
| 375 | * Fix netcdf metadata import (float and double precision) (#4211) |
| 376 | * Improve import of CF projection |
| 377 | * Add netcdf history metadata (#4297) |
| 378 | * CF-1.5 compatible export of projected grids (optional lon/lat export) |
| 379 | * Fix LCC-1SP import and export (#3324) |
| 380 | * New driver options |
| 381 | * Add simple progress indicator |
| 382 | * Add support for netcdf-4, HDF4 and HDF5 (#4294 and #3166) |
| 383 | * Add support for deflate compression |
| 384 | * Add format support information and CreateOptionList to driver metadata |
| 385 | * Add support for valid_range/valid_min/valid_max |
| 386 | * Proper handling of singed/unsigned byte data |
| 387 | * Add support for Create() function and significantly refactor code for export (#4221) |
| 388 | * Improvements to CF projection support (see wiki:NetCDF_ProjectionTestingStatus) |
| 389 | |
| 390 | NGSGEOID driver: |
| 391 | * New for GDAL/OGR 1.9.0 |
| 392 | * Read NOAA NGS Geoid Height Grids |
| 393 | |
| 394 | NITF driver: |
| 395 | * Add a generic way of decoding TREs from a XML description file located in data/nitf_spec.xml |
| 396 | * Add a new metadata domain xml:TRE to report as XML content the decoded TREs |
| 397 | * Add NITF_OPEN_UNDERLYING_DS configuration option that can be set to FALSE to avoid opening the underlying image with the J2K/JPEG drivers |
| 398 | * Support JP2KAK driver for jpeg2000 output, use /vsisubfile/ in all cases |
| 399 | * NITFCreate(): deal with cases where image_height = block_height > 8192 or image_width = block_width > 8192 (#3922) |
| 400 | * Add IREPBAND and ISUBCAT creation option (#4343) |
| 401 | * Make sure scanline access is used only on single block image (#3926) |
| 402 | * Add a NITF_DISABLE_RPF_LOCATION_TABLE_SANITY_TESTS configuration option that can be set to TRUE to blindly trust the RPF location table (#3930) |
| 403 | * Correctly assign hemisphere for a ICORDS='U' NITF file with accompagnying .nfw and .hdr files (#3931) |
| 404 | * Make PAM available at band level for JPEG/JPEG2000 compressed datasets (#3985) |
| 405 | * Read IMRFCA TRE for RPC info. Read CSEXRA TRE. |
| 406 | * Read CSDIDA and PIAIMC TREs as metadata |
| 407 | * Optional support for densifying GCPs and applying RPCs to them |
| 408 | * Add GetFileList() that captures associated files with some NITF products. |
| 409 | * Added ESRI only ExtractEsriMD() function. Add raw header capture in NITF_METADATA domain in base64 encoded form. |
| 410 | * Fetch NITF_DESDATA in segment data; decode specialized fields of XML_DATA_CONTENT and CSATTA DES |
| 411 | * Truncate TRE name to 6 character (#4324) |
| 412 | * Take into account the presence of comments when patching COMRAT for JPEG/JPEG2000 NITF (#4371) |
| 413 | |
| 414 | NWT_GRD driver: |
| 415 | * Fix interpolation of color when the maximum z value is below a threshold of the color scheme (#4395) |
| 416 | |
| 417 | OPENJPEG driver: |
| 418 | * Optimize decoding of big images made of a single block |
| 419 | * Fallback to PAM to get projection and geotransform |
| 420 | |
| 421 | PCIDSK driver: |
| 422 | * Refresh PCIDSK SDK from upstream |
| 423 | * Fix support for band description setting, add BANDDESCn creation option |
| 424 | * Implement GetCategoryNames(), and color table from metadata for PCIDSK |
| 425 | * Fix exception on files with bitmaps as bands in GetFileList() |
| 426 | * Avoid closing and reopening file so we don't fracture the SysBMData with a metadata write |
| 427 | * In read-only, if .pix is raster (resp. vector) only, then make sure that OGR (resp. GDAL) cannot open it |
| 428 | |
| 429 | PDF driver: |
| 430 | * Support linking against podofo library (LGPL) instead of poppler --> however |
| 431 | pdftoppm binary from poppler distribution is needed for rasterization |
| 432 | |
| 433 | PDS driver: |
| 434 | * Add support for MISSING and MISSING_CONSTANT keywords for nodata values (#3939) |
| 435 | * Add support for uncompressed images in the UNCOMPRESSED_FILE subdomain (#3943) |
| 436 | * Add support for PDS_Sample/LineProjectOffset_Shift/Mult (#3940) |
| 437 | * Preliminary qube write support (#3944) |
| 438 | * Fix band offset computation in BSQ (#4368) |
| 439 | |
| 440 | PNG driver: |
| 441 | * Add compatibility with libpng >= 1.5.0 (#3914) |
| 442 | * Upgrade internal libpng to 1.2.46 |
| 443 | |
| 444 | PNM driver: |
| 445 | * Make it compatible with VSI virtual files |
| 446 | |
| 447 | PostgisRaster driver: |
| 448 | * Speed of PostGIS Raster driver improved. (#3228, #3233) |
| 449 | |
| 450 | Rasterlite driver: |
| 451 | * Robustness against buggy databases |
| 452 | * Enable QUALITY creation option for WEBP tiles |
| 453 | |
| 454 | RS2 driver: |
| 455 | * Setup to properly support subdataset oriented metadata and overviews (#4006) |
| 456 | * Allow opening subdatasets by passing in the folder (#4387) |
| 457 | |
| 458 | SAGA driver: |
| 459 | * Fix reading & writing .sdat files bigger than 2GB (#4104) |
| 460 | * Use nodata value from source dataset in CreateCopy() (#4152) |
| 461 | |
| 462 | SDE driver: |
| 463 | * Break assumption that LONG==long (#4051) |
| 464 | |
| 465 | SNODAS driver: |
| 466 | * New for GDAL/OGR 1.9.0 |
| 467 | * Read Snow Data Assimilation System datasets |
| 468 | |
| 469 | SRP driver: |
| 470 | * Set Azimuthal Equidistant projection/geotransform info for ASRP north/south polar zones (#3946) |
| 471 | * ASRP/USRP: fix skipping of padding characters on some datasets (#4254) |
| 472 | |
| 473 | SRTMHGT driver: |
| 474 | * Fix segfault in CreateCopy() if we cannot create the output file |
| 475 | |
| 476 | Terralib driver: |
| 477 | * Removed driver: was unfinished and is unmaintained (#3288) |
| 478 | |
| 479 | TIL driver: |
| 480 | * Implement GetFileList() (#4008) |
| 481 | |
| 482 | TSX driver: |
| 483 | * Add support for selecting a directory |
| 484 | * Make Terrasar-X driver also open TanDEM-X data (#4390) |
| 485 | * Fix memleaks |
| 486 | |
| 487 | USGSDEM driver: |
| 488 | * Ensure blocks read in C locale (#3886) |
| 489 | |
| 490 | VRT driver: |
| 491 | * Implement VRTDataset::IRasterIO() that can delegate to source Dataset::RasterIO() in particular cases |
| 492 | * Implement GetMinimum() and GetMaximum() |
| 493 | * GetFileList(): for /vsicurl/ ressources, don't actually test their existence as it can be excruciating slow |
| 494 | * VRTComplexSource: correctly deal with complex data type (#3977) |
| 495 | * Fix 2 segfaults related to using '<VRTDataset', but with invalid XML, as the target filename of VRTDataset::Create() |
| 496 | * Fix 'VRTDerivedRasterBand with ComplexSource and nodata value yields potentially uninitialized buffer' (#4045) |
| 497 | * VRTDerivedRasterBand: Recognize PixelFunctionType and SourceTransferType options in AddBand() for (#3925) |
| 498 | * Copy GEOLOCATION metadata in CreateCopy(). |
| 499 | * VRTDerivedRasterBand: register pixel functions in a map for faster access (#3924) |
| 500 | * VRT warped dataset: limit block size to dataset dimensions (#4137) |
| 501 | |
| 502 | WCS driver: |
| 503 | * Add time support (#3449) |
| 504 | * Honour dimensionLimit restrictions on WCS request size. |
| 505 | * Fetch projection from returned image file chunks if they have them (ie. GeoTIFF). |
| 506 | * Honour Resample option for WCS 1.0. |
| 507 | * Include service url in GetFileList if ESRI_BUILD defined |
| 508 | * Check validity of 'OverviewCount' parameter |
| 509 | * Add support for getting the coverage offering details from the xml:CoverageOffering domain |
| 510 | * Try to preserve the servers name for a CRS (WCS 1.0.0) (#3449). |
| 511 | |
| 512 | WebP driver: |
| 513 | * New for GDAL/OGR 1.9.0 |
| 514 | * Read/write GDAL driver for WebP image format |
| 515 | |
| 516 | WMS driver: |
| 517 | * Implementation of the OnEarth Tiled WMS minidriver (#3493) |
| 518 | * Implementation of a VirtualEarth minidriver |
| 519 | * Improve handling of .aux.xml files, ensure colorinterp support works for tiled wms server |
| 520 | * Report subdatasets when being provided WMS:http://server.url (classic WMS), WMS:http://server.url?request=GetTileService or a url to a TMS server; recognize datasets specified as a pseudo GetMap request |
| 521 | * Add capability to open the URL of a REST definition for a ArcGIS MapServer, like http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=json |
| 522 | * Parse WMS-C TileSet info in VendorSpecificCapabilities of GetCapabilities |
| 523 | * Implement CreateCopy() when source is a WMS dataset to serialize to disk the definition of a WMS dataset |
| 524 | * WMS dataset : report INTERLEAVE=PIXEL |
| 525 | * Make autodetection of TMS work with http://maps.qualitystreetmap.org/tilecache |
| 526 | * Add capability to set Referer http header |
| 527 | * Add a TMS-specific hack for some servers that require tile numbers to have exactly 3 characters (#3997) |
| 528 | * Fix to make file:// URL to work |
| 529 | * Add hack for OSGEO:41001 |
| 530 | * Fix GDALWMSRasterBand::IReadBlock() to avoid the ReadBlocks() optimization to become an anti-optimization in some use cases |
| 531 | * Add service=WMS parameter if not already provided in <ServerUrl> (#4080) |
| 532 | * Add options, ZeroBlockHttpCodes and ZeroBlockOnServerException, to control which http error codes should be considered as meaning blank tile (#4169) |
| 533 | |
| 534 | ZMap driver: |
| 535 | * New for GDAL/OGR 1.9.0 |
| 536 | * Read/write GDAL driver for ZMap Plus Grid format |
| 537 | |
| 538 | == OGR 1.9.0 - Overview of Changes == |
| 539 | |
| 540 | Core: |
| 541 | * RFC35: Add OGRLayer::DeleteField(), ReorderField(), ReorderFields() and AlterFieldDefn() |
| 542 | * Avoid OGRLineString::addPoint( OGRPoint * poPoint ) to always force the geometry to be 3D (#3907) |
| 543 | * Add a OGREnvelope3D object and getEnvelope( OGREnvelope3D * psEnvelope ) / OGR_G_GetEnvelope3D() method |
| 544 | * Add OGR_G_SimplifyPreserveTopology() / OGRGeometry::SimplifyPreserveTopology() |
| 545 | * OGR SQL: recognize optional ESCAPE escape_char clause |
| 546 | * OGR SQL: allow NULL to be used as a value, so that 'SELECT *, NULL FROM foo works' |
| 547 | * OGR SQL: Accept doublequoting of column_name in 'SELECT DISTINCT "column_name" FROM table_name' (#3966) |
| 548 | * OGR SQL: OGRGenSQLResultsLayer: if the dialect is explicitely set to OGRSQL, don't propagate the WHERE clause of the SELECT to the source layer, but evaluate it instead at the OGRGenSQLResultsLayer level (#4022) |
| 549 | * OGR SQL: Avoid error emission on requests such as 'SELECT MIN(EAS_ID), COUNT(*) FROM POLY' |
| 550 | * OGR SQL: Avoid setting width/precision for AVG column |
| 551 | * OGR SQL: Add a mechanism to delete a layer (DROP TABLE x) |
| 552 | * OGR SQL: fix segfault when evaluating a 'IS NULL' on a float column (#4091) |
| 553 | * OGR SQL: add support for new special commands : 'ALTER TABLE layername ADD COLUMN columnname columntype', 'ALTER TABLE layername RENAME COLUMN oldname TO new name', 'ALTER TABLE layername ALTER COLUMN columnname TYPE columntype', 'ALTER TABLE layername DROP COLUMN columnname' |
| 554 | * OGR SQL: Add implicit conversion from string to numeric (#4259) |
| 555 | * OGR SQL: Correctly parse big SQL statements (#4262) |
| 556 | * OGR SQL: fix joining a float column with a string column (#4321) |
| 557 | * OGR SQL: with DISTINCT, consider null values are such, and not as empty string (#4353) |
| 558 | * OGR SQL: fix offset convertion for SUBSTR() (#4348) |
| 559 | * Add OGR_G_GetPoints() |
| 560 | * Fix parsing of WKT geometries mixing 2D and 3D parts |
| 561 | * OGR_Dr_CopyDataSource() and OGRSFDriver::CopyDataSource() : make sure that the driver is attached to the created datasource (#4350) |
| 562 | * OGRFeature::SetFrom() supports more conversions between field types. |
| 563 | |
| 564 | OGRSpatialReference: |
| 565 | * Update to EPSG 7.9 database |
| 566 | * Add Geocentric SRS Support |
| 567 | * Add support for Interrupted Goode Homolosine projection (#4060) |
| 568 | * Add SRS vertical unit support |
| 569 | * Add SetVertCS(), OSRSetVertCS(), SetCompound(), IsCompound() and target oriented set/get linear units functions |
| 570 | * ESRI : Improve spheroid remapping (#3904) |
| 571 | * ESRI: Compare whole names in RemapNameBasedOnKeyName() (#3965). |
| 572 | * ESRI: addition of ImportFromESRIStatePlaneWKT and ImportfromESRIWisconsinWKT methods |
| 573 | * ESRI: importFromESRI() : support POLYCONIC projection from old style files (#3983) |
| 574 | * ESRI: importFromESRI() : support LAMBERT_AZIMUTHAL projection from old style files (#4302) |
| 575 | * ESRI: fix EPSG:32161 mapping |
| 576 | * ESRI: fix Stereo/Oblique_Stereo/Double_Stereo (bugs #1428 and #4267) |
| 577 | * ESRI: fix projection parameter mapping for Orthographic projection (#4249) |
| 578 | * ESRI: add optional fixing of TOWGS84, DATUM and GEOGCS (#4345 and #4378) |
| 579 | * ESRI: fix add Krassowsky/Krasovsky 1940 spheroid mapping |
| 580 | * Add EPSG:102113 in the data/esri_extra.wkt file |
| 581 | * Add Germany zone 1-5 in range 31491-31495 in the data/esri_extra.wkt file |
| 582 | * fix NAD_1983_Oregon_Statewide_Lambert_Feet_Intl code |
| 583 | * added/updated coordinates systems provided by IGNF (#3868) |
| 584 | * ERM: add support for EPSG:n based coordinate sysetms (#3955) |
| 585 | * ImportFromEPSG(): Add default support for various degree units without supporting .csv file. |
| 586 | * ImportFromEPSG(): Add support for spherical LAEA (#3828) |
| 587 | * ImportFromEPSG(): use CoLatConeAxis parameter to build Krovak azimuth parameter (#4223) |
| 588 | * importFromURN(): support compound SRS |
| 589 | * importFromURN(): accept 'urn:opengis:crs:' syntax found in some TOP10NL GML files |
| 590 | * Add CRS: support and for importing two part ESRI PE SRS with VERTCS |
| 591 | * SetFromUserInput() : recognize 'IGNF:xxx' |
| 592 | * Ensure that the result of importFromEPSGA() always has keyword ordering fixed up (#4178) |
| 593 | * exportToERM() : deal with GDA94 datum and its UTM projections (#4208) |
| 594 | * Fix ESRI_DATUM_NAME for D_MOLDREF99 and D_Philippine_Reference_System_1992 (#4378) |
| 595 | |
| 596 | Utilities: |
| 597 | * ogr2ogr: Make 'ogr2ogr someDirThatDoesNotExist.shp dataSourceWithMultipleLayer' create a directory |
| 598 | * ogr2ogr: make -overwrite/-append work with non-spatial tables created by GDAL 1.8.0; |
| 599 | * ogr2ogr: take into account fields specified in the -where clause in combinations with -select to create the correct list of fields to pass to SetIgnoredFields() (#4015) |
| 600 | * ogr2ogr: fix -zfield option so that the modified geometry properly reports coordinate dimension = 3. Also avoids it to be in the list of ignored field names |
| 601 | * ogr2ogr: add -simplify option to simplify geometries |
| 602 | * ogr2ogr: add a warning if the target filename has an extension or a prefix that isn't consistant with the default output format (i.e. Shapefile), but which matches another driver. Can be made quiet with -q option |
| 603 | * ogrinfo/ogr2ogr: exit when SetAttributeFilter() fails, instead of silently going on (#4261) |
| 604 | |
| 605 | Multi driver topics: |
| 606 | * RFC35 : implementation in Shapefile, Memory and PG drivers (#2671) |
| 607 | * DXF, EDIGEO, KML, LIBKML, Shapefile, SDE, SOSI: Mark as supporting UTF-8 |
| 608 | * BNA, CSV, GPX, KML, GeoRSS, GML, LIBKML, GeoJSON, PGDump : accept both /dev/stdout and /vsistdout/ as filenames; remove 'stdout' as a valid alias that could be used in some of them (#4225, #4226) |
| 609 | |
| 610 | ARCGEN driver: |
| 611 | * New for GDAL/OGR 1.9.0 |
| 612 | * Read-only OGR driver for Arc/Info Generate files |
| 613 | |
| 614 | CouchDB driver: |
| 615 | * New for GDAL/OGR 1.9.0 |
| 616 | * Read/write OGR driver for CouchDB / GeoCouch |
| 617 | |
| 618 | CSV driver: |
| 619 | * Add special recognition and handling for USGS GNIS (Geographic Names Information System) files |
| 620 | * Directly recognize the structure of the allCountries file from GeoNames.org |
| 621 | * Implement GetFeatureCount() to be a little bit faster |
| 622 | * Accept /dev/stdout as a filename for CreateDataSource() |
| 623 | * Fix handling of non-numeric values in numeric columns (NULL instead of 0) |
| 624 | * Fix handling of column names with numbers |
| 625 | * Recognize numeric fieldnames inside quotes |
| 626 | * Accept real numbers with ',' as decimal separator when ';' is the field separator (CSV export in French locale) |
| 627 | |
| 628 | DXF driver: |
| 629 | * Add support for DXF_ENCODING config var and DWGCODEPAGE header field (#4008) |
| 630 | * Added DXF_MERGE_BLOCK_GEOMETRIES |
| 631 | * Treat ATTDEFs the same as TEXT entities |
| 632 | * Implement hatch polyline and elliptical arc support, hatch fill, do not polygonize closed smoothed lines |
| 633 | * Add handling of hidden/frozen/off layers. |
| 634 | |
| 635 | DWG driver: |
| 636 | * New for GDAL/OGR 1.9.0 |
| 637 | * Read DWG files through the use of Open Design Alliance Teigha Libraries |
| 638 | |
| 639 | EDIGEO driver: |
| 640 | * New for GDAL/OGR 1.9.0 |
| 641 | * Read files of French EDIGEO exchange format |
| 642 | |
| 643 | FileGDB driver: |
| 644 | * New for GDAL/OGR 1.9.0 |
| 645 | * Read/write support based on FileGDB API SDK |
| 646 | |
| 647 | GeoJSON driver: |
| 648 | * Support writing 3D lines and polygons |
| 649 | * Add a bbox attribute with the geometry bounding box if WRITE_BBOX layer creation option is set (#2392) |
| 650 | * Write bbox of FeatureCollection before features when file is seekable |
| 651 | * Remove unsetting of FID that caused FID not at the last position of properties to be lost |
| 652 | * Properly deal with null field values in reading and writing |
| 653 | * Handle OFTIntegerList, OFTRealList and OFTStringList fields |
| 654 | * Recognize other arrays as OFTString field |
| 655 | * Fix assertion on unhandled ESRI json (#4056) |
| 656 | * Fix segfault on feature where 'properties' member exists but isn't an object (#4057) |
| 657 | * Better detection of OGR type for numeric JSON fields (#4082) |
| 658 | * Add COORDINATE_PRECISION layer creation option to specify the maximum number of figures after decimal point in coordinates; set to 15 by default with smart truncation of trailing zeros (like done for WKT) |
| 659 | * Add OGR_G_ExportToJsonEx() to accept a list of options |
| 660 | * Add ability to detect geojson files without an extension (#4314) |
| 661 | |
| 662 | Geomedia driver: |
| 663 | * New for GDAL/OGR 1.9.0 |
| 664 | * Read-only driver to read Geomedia .MDB databases |
| 665 | |
| 666 | GeoRSS driver: |
| 667 | * Parse RSS documents without <channel> element |
| 668 | |
| 669 | GFT driver: |
| 670 | * New for GDAL/OGR 1.9.0 |
| 671 | * Read/write driver for Google Fusion Tables |
| 672 | |
| 673 | GML driver: |
| 674 | * Major performance improvement when reading large multi-layer GML files. See usage of new GML_READ_MODE configuration option |
| 675 | * Support gml:xlink resolving for huge GML files through GML_SKIP_RESOLVE_ELEMS=HUGE (requires SQLite) |
| 676 | * Add GML_GFS_TEMPLATE config option to specify a template .gfs file that can be used for several GML files with similar structure (#4380) |
| 677 | * Be able to build the driver with support of both Expat and Xerces libraries and add ability of select one at runtime. For UTF-8 documents, we select Expat if it is available, because it is faster than Xerces |
| 678 | * Expose fid or gml_id as feature fields if autodetected. This behaviour can be altered by the GML_EXPOSE_FID / GML_EXPOSE_GML_ID configuration option. |
| 679 | * Improve handling of .gml and .xsd produced by FME (in particular for CanVec GML) |
| 680 | * Be able to open .gz file directly (like OS Mastermap ones), and read/write the .gfs file next to the .gz file |
| 681 | * Fix segfault when encountering an invalid (or unhandled by OGR) geometry and when the axis order is lat/long (#3935) |
| 682 | * GML3: support Curve as a valid child for curveProperty inside directEdge parsing (#3934) |
| 683 | * GML3: don't force the linestring to be 3D when inverting its orientation during parsing of directedEdge (#3936) |
| 684 | * GML3: accept <pointProperty> element in <gml:LineString> or <gml:LineStringSegment> |
| 685 | * OGR_G_CreateFromGML(): accept <gml:coordinates> with coordinate tuples separated by comma and coordinate components separated by space |
| 686 | * Recognized schemas with <complexType> inside <element>, such as the one returned by http://deegree3-demo.deegree.org:80/deegree-utah-demo/services |
| 687 | * Write the Z component of bounding box for 25D geometries |
| 688 | * Force layer geometry type to 3D when there's only a .xsd file and we detect a hint that the bounding box is 3D |
| 689 | * Handle layers of type wkbNone appropriately (#4154) |
| 690 | * Change format of (GML 2.1.1) FID generated from Fxxx to layer_name.xxx (where xxx is the OGR FID) to ensure uniqueness (#4250) |
| 691 | * Accept 'GML3Deegree' as a valid value for the dataset creation option FORMAT, to produce a .XSD that should be better handled by Deegree3 (#4252), and 'GML3.2' to produce GML file and schema that validate against GML 3.2.1 schema. |
| 692 | * Don't try to parse successfully a feature type in the .xsd if there are elements we don't know how to parse. Better to rely on the .gfs mechanism (#4328) |
| 693 | * Fix bug in OGRAtof() that caused wrong parsing of coordinates in GML files written in scientific notation (#4399) |
| 694 | |
| 695 | GMT driver: |
| 696 | * Fix GetExtent() result that swallowed the first char of the minx bound (#4260) |
| 697 | |
| 698 | IDRISI driver: |
| 699 | * New for GDAL/OGR 1.9.0 |
| 700 | * Read Idrisi .VCT vector files |
| 701 | |
| 702 | ILI1 driver: |
| 703 | * Fix for missing geometry in ILI1 |
| 704 | |
| 705 | LIBKML driver: |
| 706 | * Set the OGRStylePen unit type to pixel when reading <LineStyle> |
| 707 | * Avoid ingesting zip files that are not valid kmz (#4003) |
| 708 | * Do not use displayname to set the field name |
| 709 | * Recognize <Data> elements of <ExtendedData> in case <ExtendedData> doesn't use a <SchemaData> |
| 710 | * Fix mapping of the type attribute of <SimpleType> elements inside <Schema> to OGR field type (#4171) |
| 711 | * Parse correctly kml docs containing only one placemark |
| 712 | * Properly set the feature style string from a placemarks style |
| 713 | * Improve OGRStyleLabel <-> KmlLabelStyle mapping |
| 714 | * Combine styles from the style table and features styles when LIBKML_RESOLVE_STYLE=YES (#4231) |
| 715 | * Check that string values put in fields are valid UTF-8 (#4300) |
| 716 | |
| 717 | MDB driver: |
| 718 | * New for GDAL/OGR 1.9.0 |
| 719 | * Read-only driver to read PGeo and Geomedia .MDB databases |
| 720 | * Relies on using the Java Jackcess library (LGPL) through JNI. |
| 721 | |
| 722 | MITAB driver: |
| 723 | * Add support for reading google mercator from mapinfo (#4115) |
| 724 | * Fixed problem of the null datetime values (#4150) |
| 725 | * Fix problem with tab delimiter used in MIF files (#4257) |
| 726 | |
| 727 | MSSQLSpatial driver: |
| 728 | * Removing 'Initial Catalog' which is not supported in the ODBC SQL driver connection strings. |
| 729 | * Allow to specify 'Driver' in MSSQL connection strings (#4393) |
| 730 | * Fix for the IDENTITY INSERT problem with MSSQL Spatial (#3992) |
| 731 | * Add more verbose warnings to the geometry validator |
| 732 | * Fix for the schema handling problem with MSSQL Spatial (#3951) |
| 733 | * Fix for the corrupt geometry report when using the ogr2ogr -sql option (#4149) |
| 734 | |
| 735 | MySQL driver: |
| 736 | * Recognize columns with types POINT, LINESTRING, etc. as geometry columns |
| 737 | |
| 738 | NAS driver: |
| 739 | * Add support for treating wfs:Delete as a special Delete feature with typeName and FeatureId properties |
| 740 | * Handle empty files gracefully (#3809) |
| 741 | * Preliminary support for SRS in NAS files, including 3GKn SRS |
| 742 | * Implement special treatement for <lage> to be zero passed and string (NAS #9) |
| 743 | * Add special handling of punktkennung (NAS #12) |
| 744 | * Add special handling for artDerFlurstuecksgrenze (#4255) |
| 745 | * Add support for wfsext:Replace operations (PostNAS #11) |
| 746 | * Correct NASHandler::dataHandler() to avoid trimming non-leading white space |
| 747 | |
| 748 | NTF driver: |
| 749 | * Create and manage height field as floating point since some DTM products have floating point elevations. |
| 750 | |
| 751 | OCI driver: |
| 752 | * Added TRUNCATE layer creation option (#4000) |
| 753 | * Clear errors after speculative dimension calls (#4001) |
| 754 | * Fix multithreading related problems (#4039) |
| 755 | * Ensure that AllocAndBindForWrite does not mess up if there are no general attributes (#4063) |
| 756 | * Implement DeleteLayer(int) method |
| 757 | * Ensure extents updated by SyncToDisk(), and that new features are merged into existing extents (#4079) |
| 758 | |
| 759 | OGDI driver: |
| 760 | * Fix GetFeature() that did not like switching between layers |
| 761 | |
| 762 | PG driver: |
| 763 | * Write geometries as EWKB by default to avoid precision loss (#4138) |
| 764 | * Return the table columns in the order they are in the database (#4194) |
| 765 | * Add a NONE_AS_UNKNOWN layer creation option that can be set to TRUE to force layers with geom type = wkbNone to be created as if it was wkbUnknown (PostGIS GEOMETRY type) to be able to revert to behaviour prior to GDAL 1.8.0 (#4012) |
| 766 | * Add EXTRACT_SCHEMA_FROM_LAYER_NAME layer creation option that can be set to OFF to disable analysis of layer name as schema_name.table_name |
| 767 | * Add FID layer creation option to specify the name of the FID column |
| 768 | * ogr2ogr: make sure that for a PG datasource, -nln public.XXX can also be used with -append |
| 769 | * Fix CreateFeatureViaInsert() to emit 'INSERT INTO xx DEFAULT VALUES' |
| 770 | * Fix handling of Nan with fields with non-zero width (#2112) |
| 771 | * Use wrapper for PQexec() to use PQexecParams() instead in most cases |
| 772 | * Add proper escaping of table and column names |
| 773 | * OGR SQL: add proper column name escaping and quoting for PostgreSQL datasources |
| 774 | * Launder single quote character in table name |
| 775 | * Better reporting of error in case of failed ExecuteSQL() |
| 776 | * Create field of type OFTString and width > 0, as VARCHAR(width) (#4202) |
| 777 | * Add more compat with Postgis 2.0SVN (geometry_columns- #4217, unknown SRID handling) |
| 778 | * Better behaviour, in particular in error reporting, of ExecuteSQL() when passed with non-select statements, or with select statements that have side-effects such as AddGeometryColumn() |
| 779 | |
| 780 | PGDump driver: |
| 781 | * fix handling of Nan with fields with non-zero width (#2112) |
| 782 | * Add CREATE_SCHEMA and DROP_TABLE layer creation option (#4033) |
| 783 | * Fix crash when inserting a feature with a geometry in a layer with a geom type of wkbNone; |
| 784 | * PG and PGDump: fix insertion of features with first field being a 0-charachter string in a non-spatial table and without FID in COPY mode (#4040) |
| 785 | * Add NONE_AS_UNKNOWN, FID, EXTRACT_SCHEMA_FROM_LAYER_NAME layer creation options |
| 786 | * Better escaping of column and table names |
| 787 | * Create field of type OFTString and width > 0, as VARCHAR(width) (#4202) |
| 788 | |
| 789 | PGeo driver: |
| 790 | * Move CreateFromShapeBin() method to an upper level |
| 791 | * Only try to open .mdb files that have the GDB_GeomColumns string |
| 792 | * Decode Z coordinate for a POINTZM shape |
| 793 | * Aad support for decoding multipoint/multipointz geometries |
| 794 | * Fix setting of the layer geometry type |
| 795 | * Add support for zlib compressed streams |
| 796 | * Implement MultiPatch decoding |
| 797 | |
| 798 | SDE driver: |
| 799 | * Add support for decoding NSTRING fields (#4053) |
| 800 | * Add support in CreateLayer() to clean up partially registered tables that aren't full spatial layers |
| 801 | * Add logic to force envelope for geographic coordsys objects (#4054) |
| 802 | * Add USE_STRING layer creation and configuration options information |
| 803 | * Set SE_MULTIPART_TYPE_MASK for multipolygon layers (#4061). |
| 804 | * Change how offset and precision are set for geographic coordinate systems to more closely match SDE |
| 805 | |
| 806 | SEGUKOOA driver: |
| 807 | * New for GDAL/OGR 1.9.0 |
| 808 | * Read files in SEG-P1 and UKOOA P1/90 formats |
| 809 | |
| 810 | SEGY driver: |
| 811 | * New for GDAL/OGR 1.9.0 |
| 812 | * Read files in SEG-Y format |
| 813 | |
| 814 | Shapefile driver: |
| 815 | * Encoding support for shapefile/dbf (#882) |
| 816 | * Allow managing datasources with several hundreds of layers (#4306) |
| 817 | * Lazy loading of SRS and lazy initialization of attribute index support |
| 818 | * Use VSI*L API to access .qix spatial index files |
| 819 | * Add special SQL command 'RECOMPUTE EXTENT ON layer_name' to force recomputation of the layer extent (#4027) |
| 820 | * Faster implementation of GetFeatureCount() in some circumstances. |
| 821 | * Fix crash in CreateField() if there is no DBF file |
| 822 | * Fix add field record flushing fix (#4073) |
| 823 | * Fix decoding of triangle fan in a multipatch made of several parts (#4081) |
| 824 | * Refuse to open a .shp in update mode if the matching .dbf exists but cannot be opened in update mode too (#4095) |
| 825 | * Recognize blank values for Date fields as null values (#4265) |
| 826 | * Recognize 'NULL' as a valid value for SHPT creation option as documented |
| 827 | * Check that we are not trying to add too many fields. |
| 828 | * Support reading measure values as Z coordinate. |
| 829 | |
| 830 | SQLite/Spatialite driver: |
| 831 | * Spatialite: major write support improvements (creation/update of Spatialite DB now limited to GDAL builds with libspatialite linking) |
| 832 | * Spatialite: add support for 3D geometries (#4092) |
| 833 | * Spatialite: speed-up spatial filter on table layers by using spatial index table (#4212) |
| 834 | * Spatialite: add support for reading Spatialite views registered in the views_geometry_columns |
| 835 | * Spatialite: better support for building against amalgamated or not |
| 836 | * Spatialite: when it exists, use srs_wkt column in spatial_ref_sys when retrieving/inserting SRS |
| 837 | * Spatialite: add COMPRESS_GEOM=YES layer creation option to generate Spatialite compressed geometries |
| 838 | * Spatialite: add support for VirtualXLS layers. |
| 839 | * Spatialite: imported VirtualShape support, in particular it is now possible to open on-the-fly a shapefile as a VirtualShape with 'VirtualShape:shapefile.shp' syntax as a datasource |
| 840 | * Implement RFC35 (DeleteField, AlterFieldDefn, ReorderFields) |
| 841 | * Implement DeleteDataSource() |
| 842 | * Implement DeleteFeature() |
| 843 | * Implement SetFeature() by using UPDATE instead of DELETE / INSERT |
| 844 | * Add capability to use VSI Virtual File API when needed (if SQLite >= 3.6.0) |
| 845 | * Make CreateDataSource(':memory:') work |
| 846 | * Enforce opening update/read-only mode to allow/forbid create/delete layers, create/update features (#4215) |
| 847 | * Launder single quote character in table name; properly escape table name if no laundering (#1834) |
| 848 | * Use ALTER TABLE ADD COLUMN by default to create a new field; older method can still be used by defining the OGR_SQLITE_USE_ADD_COLUMN config option to FALSE in order to provide read-compat by sqlite 3.1.3 or earlier |
| 849 | * Fix bug in CreateField() : if there was already one record, the content of the table was not preserved, but filled with the column names, and not their values |
| 850 | * Map 'DECIMAL' columns to OGR real type (#4346) |
| 851 | * Add OGR_SQLITE_CACHE configuration option for performance enhancements |
| 852 | * Try to reuse INSERT statement to speed up bulk loading. |
| 853 | |
| 854 | SVG driver: |
| 855 | * New for GDAL/OGR 1.9.0 |
| 856 | * Read only driver for Cloudmade Vector Stream files |
| 857 | |
| 858 | S57 driver: |
| 859 | * Add support for Dutch inland ENCs (#3881) |
| 860 | * Allow up to 65536 attributes, use GUInt16 for iAttr (#3881) |
| 861 | * Be cautious of case where end piont of a line segment has an invalid RCID |
| 862 | * Correct handling of update that need to existing SG2D into an existing feature without it (#4332) |
| 863 | |
| 864 | VRT driver: |
| 865 | * Do not try to read too big files |
| 866 | * Lazy initialization of OGRVRTLayer |
| 867 | * Don't set feature field when source feature field is unset |
| 868 | |
| 869 | WFS driver: |
| 870 | * Add preliminary support for WFS 2.0.0, but for now don't request it by default. |
| 871 | * Increase performance of layer definition building by issuing a DescribeFeatureType request for several layers at the same time |
| 872 | * Better server error reporting |
| 873 | * Use the layer bounding box for EPSG:4326 layers (restricted to GEOSERVER for now) (#4041) |
| 874 | * Add capability of opening a on-disk Capabilities document |
| 875 | * Add special (hidden) layer 'WFSLayerMetadata' to store layer metadata |
| 876 | * Add special (hidden) layer 'WFSGetCapabilities' to get the raw XML result of the GetCapabilities request |
| 877 | * CreateFeature()/SetFeature(): use GML3 geometries in WFS 1.1.0 (make TinyOWS happy when it validates against the schema) |
| 878 | * Make spatial filtering work with strict Deegree 3 servers |
| 879 | * Fix reading when layer names only differ by their prefix |
| 880 | |
| 881 | XLS driver: |
| 882 | * New for GDAL/OGR 1.9.0 |
| 883 | * Read only driver for MS XLS files and relies on FreeXL library. |
| 884 | |
| 885 | XPlane driver: |
| 886 | * Port to VSI*L API |
| 887 | |
| 888 | XYZ driver: |
| 889 | * Ignore comment lines at the beginning of files |
| 890 | |
| 891 | == SWIG Language Bindings == |
| 892 | |
| 893 | General : |
| 894 | * RFC 30: Correct the signature of Datasource.CreateDataSource() and DeleteDataSource(), gdal.Unlink() to accept UTF-8 filenames (#3766) |
| 895 | * Add Band.GetCategoryNames() and Band.SetCategoryNames() |
| 896 | * Add Geometry.GetPoints() (only for Python and Java) (#4016) |
| 897 | * Add Geometry.GetEnvelope3D() |
| 898 | * Add Geometry.SimplifyPreserveTopology() |
| 899 | * Extend SWIG Geometry.ExportToJson() to accept a list of options (#4108) |
| 900 | * Add (OGR)DataSource.SyncToDisk() |
| 901 | * Add SpatialReference.SetVertCS(), IsSameVertCS(), IsVertical(), SetCompount(), IsCompound() |
| 902 | * Add SpatialReference.SetIGH() (#4060) |
| 903 | * RFC 35: Add OGRLayer.DeleteField(), ReorderField(), ReorderFields(), AlterFieldDefn() |
| 904 | * Add gdal.VSIFTruncateL() |
| 905 | |
| 906 | CSharp bindings: |
| 907 | * Implement the typemap for utf8_path in C# (#3766) |
| 908 | * Correcting the signature of OGRDataSource.Open to make the utf8 typemap to work (#3766) |
| 909 | |
| 910 | Java bindings: |
| 911 | * Turn the gdalJNI, gdalconstJNI and osrJNI into package private classes |
| 912 | * Make Layer.GetExtent() return null when OGR_L_GetExtent() fails. |
| 913 | |
| 914 | Perl bindings: |
| 915 | * The "Points" method of Geometry was not accepting its own output in the case of a single point. It accepted only a point as a list. Now it accepts a point both as a list containing one point (a ref to a point as a list) and a point as a list. |
| 916 | * Fixed UTF-8 support in decoding names (datasource, layer, field etc.). |
| 917 | * Assume all GDAL strings are UTF-8, handle all changes in typemaps. |
| 918 | * Additions to Perl bindings due to new developments etc: Layer capabilities, GeometryType method for Layer, improved create, new Export and Set methods for SpatialReference. |
| 919 | * Detect context in a typemap which returns a array, this now returns a list in list context; the change affects at least GetExtent and GetEnvelope methods, which retain backward compatibility though new and/or changed methods: FeatureDefn::Name, FeatureDefn::GeometryIgnored, FeatureDefn::StyleIgnored, Feature::ReferenceGeometry, Feature::SetFrom, FieldDefn::Ignored, Geometry::AsJSON |
| 920 | * Perl typemaps: more correct manipulation of the stack, more cases where a list is returned in a list context, better handling of callback_data @Band::COLORINTERPRETATIONS, Band methods Unit, ScaleAndOffset, GetBandNumber, RasterAttributeTable method LinearBinning |
| 921 | * Typemaps for VSIF{Write|Read}L, tests and docs for some VSI* functions. |
| 922 | * Perl bindings: better by name / by index logics, some checks for silent failures, return schema as a hash if wanted, support ->{field} syntax for features, return list attributes as lists or listrefs as wished so that ->{field} works for lists too (API change) |
| 923 | |
| 924 | Python bindings: |
| 925 | * Improvements for ogr.Feature field get/set |
| 926 | * Add hack to bring Python 3.2 compatibility |
| 927 | * First argument of VSIFWriteL() should accept buffers for Python3 compat |
| 928 | * Fix reference leak in 'typemap(in) char **dict' |
| 929 | * Add gdal.VSIStatL() |
| 930 | * swig/python/setup.py : fix for virtualenv setups (#4285) |
| 931 | * Layer.GetExtent() : add optional parameter can_return_null that can be set to allow returning None when OGR_L_GetExtent() fails |
| 932 | * Make gdal.VSIFSeekL(), gdal.VSIFTellL() and gdal.VSIFTruncateL() use GIntBig instead of long for compat with 32bit platforms |
| 933 | * Add script to build the python extensions with Python 2.7 and a mingw32 cross-compiler under Linux/Unix |
| 934 | |
| 935 | Ruby bindings: |
| 936 | * Build SWIG Ruby Bindings against modern Ruby versions (1.8.7 and 1.9.2) (#3999) |
| 937 | |