| 1 | = GDAL/OGR 1.7.0 = |
| 2 | |
| 3 | Some of the bugfixes mentioned below might also have gone into 1.6.X maintenance releases. |
| 4 | |
| 5 | == In a nutshell... == |
| 6 | |
| 7 | * New GDAL drivers : BAG, EPSILON, Northwood/VerticalMapper, R, Rasterlite, SAGA GIS Binary, SRP (USRP/ASRP), EarthWatch .TIL, WKT Raster |
| 8 | * GDAL PCIDSK driver using the new PCIDSK SDK by default |
| 9 | * New OGR drivers : DXF, GeoRSS, GTM, PCIDSK and VFK |
| 10 | * New utility : gdaldem, gdalbuildvrt now compiled by default |
| 11 | * Add support for Python 3.X. Compatibility with Python 2.X preserved (#3265) |
| 12 | * Remove old-generation Python bindings. |
| 13 | * Significantly improved GDAL drivers: GeoRaster, GeoTIFF, HFA, JPEG2000 Jasper, JPEG2000 Kakadu, NITF |
| 14 | * Significantly improved OGR drivers: CSV, KML, SQLite (SpatiaLite support), VRT |
| 15 | * WARNING: incompatibility between MrSID GeoDSDK and libgeotiff 1.3.0 or internal libgeotiff on some platforms (see #3309) |
| 16 | |
| 17 | == GDAL/OGR 1.7.0 - General Changes == |
| 18 | |
| 19 | Build (All) : |
| 20 | * Add gdalbuildvrt to the list of utilities built by default (#2747) |
| 21 | * Improve Mingw compatibility (#2649) |
| 22 | * Add Expat read support for GML driver when Xerces is unavailable (#2999) |
| 23 | * Fix GML and ILI reading problems with Xerces 3.x (#3156) |
| 24 | * Add 8/12bit JPEG-in-TIFF support |
| 25 | * Fix trunk compilation against libdap 3.9.X (#3105) |
| 26 | |
| 27 | Build (Windows) : |
| 28 | * Check for CURL_LIB instead of CURL_DIR |
| 29 | * ensure OGR_ENABLED gets defined if INCLUDE_OGR_FRMTS set (#2784) |
| 30 | * Change quoting in VCDIR and SETARGV to avoid likely problems. |
| 31 | * added dll and target-lib targets |
| 32 | * fix _findfirst handle type for win64 (#3035) |
| 33 | * Add support to compile OGR-postgis as a plugin (#3125) |
| 34 | * Trap failures in subdirectories and stop build |
| 35 | |
| 36 | Build (Unix) : |
| 37 | * Use proper object file names when building prerequsites lists (#1878) |
| 38 | * Updated man page generation |
| 39 | * Add new ./configure test to check that the GCC 4.1 built-in functions for atomic memory access are really available |
| 40 | * Handle external libz (#2942) |
| 41 | * Add support for 64bit file i/o on BSD systems, through fseeko/ftello |
| 42 | * Add support for linking against libspatialite to benefit from spatial functions in SQL queries (#2666) |
| 43 | * Fix support for --with-threads configure option on BSDs (tested on DragonFlyBSD 2.2.1) |
| 44 | * Add support for autodetection of ogdi 3.2 in ./configure (#3007) |
| 45 | * Remove additional dependency to libgdal.so added during linking in gdal/apps (#2970) |
| 46 | * Improved ax_oracle_oci.m4 macro to handle libnnzXX for Oracle 10 and 11. |
| 47 | * support using the Oracle Instant Client SDK |
| 48 | * Make --with-ingres work with newer versions (#3126) |
| 49 | * Search for alternative HDF4 flavor in HDF4 testing macro. Alternative HDF4 |
| 50 | (libmfhdfalt/libdfalt) build is NetCDF-compatible and used in Debian. |
| 51 | * Support MacOSX "fat" binary building |
| 52 | |
| 53 | Port : |
| 54 | * Provide API and implementation for thread and SMP safe atomic increments (#2648) |
| 55 | * Add /vsisubfile virtual file driver |
| 56 | * Added gzip write implementation |
| 57 | * VSI ZIP : Allow natural chaining of VSI drivers without requiring double slash |
| 58 | * Add a shortcut when looking for .csv files that are already open |
| 59 | * Add CPLSetThreadLocalConfigOption() |
| 60 | * Add CPLIsUTF8() and CPLForceToASCII(); Use them in GML, KML, GPX and GeoRSS drivers (#2971) |
| 61 | * Add CPLStrlcpy() and CPLStrlcat(), clones of BSD strlcpy() and strlcat() functions |
| 62 | * Add CPLStrnlen() |
| 63 | * Add CSLLoad2() and CPLReadLine2L() with max number of lines and chars per line allowed |
| 64 | * cplkeywordparser.cpp: Support parsing IMD files with values of the form list of lists |
| 65 | * odbc: Fixed the null terminators for columns of length (x*511)+1, where x>1. (#2727) |
| 66 | * unix VSIF*L : reworked to avoid unnecessary seeks which can be expensive |
| 67 | * added HTTPAUTH and USERPWD options for http fetch (#3091) |
| 68 | |
| 69 | == GDAL 1.7.0 - Overview of Changes == |
| 70 | |
| 71 | Algorithms: |
| 72 | * cutline : optimize by clipping cutline to region of interest (#2736) |
| 73 | * cutline : avoid scanline to scanline blending problems (#2740) |
| 74 | * rasterfill : substantially reworked |
| 75 | * rasterfill : deprecate bConicSearch option - unused |
| 76 | * rasterize : optimized |
| 77 | * rasterize : Added GDALRasterizeLayersBuf() function to rasterize geometries directly |
| 78 | into the supplied raster array. |
| 79 | * rasterize : Add ALL_TOUCHED rasterize option (#2840) |
| 80 | * rasterize : Added 3D support for rasterizing points and lines. (#3202) |
| 81 | * rasterize : correct case of vertical/horizontal lines on raster right/bottom edge (#3268) |
| 82 | * Added GDALCreateGenImgProjTransformer3() function |
| 83 | * warp: Reduce destination file size, especially when it has compression (#1688) |
| 84 | * warp: Fix crash when reprojecting to irrelevant SRS (#3079) |
| 85 | * warp: avoid using the destination nodata value for integer datatypes (#3142) |
| 86 | * warp: fix panDstValid generation, and avoid using it improperly (#3222) |
| 87 | * warp: Restore support of reprojection of a lat-long image crossing 180E/180W longitude (#3206) |
| 88 | * contour: Fix name of GDAL_CG_Create in contour.cpp (#2795) |
| 89 | * contour: Generate contours with correct orientation (#3129) |
| 90 | * gdalgeoloc: Improve geoloc backmap interpolation (#2501) |
| 91 | * overview: added support for cubic convolution overviews |
| 92 | * gdal_grid: 3 new metrics: data point count, average distance between data points |
| 93 | and a grid node, average distance between data points. |
| 94 | * gdal_grid: Properly cast the poOptions parameter in data metrics computation functions. (#3207) |
| 95 | |
| 96 | Core : |
| 97 | * Added mechanism to clear overviews if zero overviews requested. Implemented by GTiff and HFA drivers (#2915) |
| 98 | * Support for overviews in subdatasets |
| 99 | * Support for overviews in proxydb directory (#2432) |
| 100 | * SetColorTable(NULL) is permitted and means delete (#2421) |
| 101 | * Preserve NBITS and SIGNEDBYTE in CreateCopy() for supporting drivers (#2902) |
| 102 | * GDALCopyWords() : performance optimizations |
| 103 | * Add GDALCheckDatasetDimensions() and GDALCheckBandCount() |
| 104 | * Add GDALGetColorInterpretationByName() |
| 105 | * Use tiff .ovr for overviews if .aux is just metadata (#2854) |
| 106 | * Add missing argument in function declaration for GDALRATTranslateToColorTable() |
| 107 | * Do not use colortable for bit2grayscale overviews (#2914) |
| 108 | * Support world files with blank lines (ESRI Merge) |
| 109 | * Add worldfiles in GetFileList() (ESRI Merge) |
| 110 | * Fix rpb/imd loading with a path (#3047) |
| 111 | * Add support for using overviews in GDALDataset::BlockBasedRasterIO() (#3124) |
| 112 | * Take into account SIGNEDBYTE for GetStatistics() & GetHistogram() (#3151) |
| 113 | * Add GDALReadOziMapFile() and GDALLoadOziMapFile() to read projection |
| 114 | and georeferencing information from OziExplorer .MAP files. |
| 115 | * Added declarations for GDALLoadTabFile() and GDALReadTabFile() |
| 116 | * Add missing case for CInt16 and CInt32 in GDALNoDataMaskBand and GDALNoDataValuesMaskBand |
| 117 | |
| 118 | Utilities : |
| 119 | * gdaldem: new for GDAL/OGR 1.7.0 (#2640) |
| 120 | * gdalinfo: |
| 121 | - add -norat switch |
| 122 | - do not report RPC or GEOLOCATION metadata with -nomd |
| 123 | - Use pretty wkt to display GCP projection |
| 124 | * gdalwarp: |
| 125 | - fix cutline blend distance setting (#2733) |
| 126 | - in -te case, adjust the resolution after computing the image dimensions |
| 127 | - improved cutline support (#2733, #2847, #2884, #2984) |
| 128 | - avoid overwriting an existing destination file that cannot be opened in update mode with a new GTiff file |
| 129 | - better heuristics to guess output extent when projection from lat/long world |
| 130 | extent to other world global projections (#2305) |
| 131 | * gdaltindex: |
| 132 | - Avoid unnecessary error message in gdaltindex when creating a new shapefile (#2779) |
| 133 | - Rewritten to use OGR API instead of ShapeLib API, so as to produce .prj files more easily (#982) |
| 134 | * gdal_contour: |
| 135 | - make -3d option work even after -fl option (#2793) |
| 136 | - Call GDALGetProjectionRef() on the dataset, not the raster band (#3062) |
| 137 | * gdalbuildvrt: |
| 138 | - Add -separate, -allow_projection_difference, -te, -tr, -q, -addalpha options |
| 139 | - Add -srcnodata and -vrtnodata options (#3254) |
| 140 | - Add -hidenodata option (#3327) |
| 141 | - Avoid accidental overwriting of a non VRT dataset due to revered filename order |
| 142 | - Fix -resolution lowest/highest (#3198) |
| 143 | * gdaladdo: add -clean option (#2915) |
| 144 | * gdaladdo: add -q option |
| 145 | * gdal_grid: Add support for spatial filtering with -clipsrc option |
| 146 | * gdal_translate: support translation of a dataset with subdatasets if the parent has bands |
| 147 | * gdal_translate: Add 'gray' as a value of -expand rgb option |
| 148 | * gdal_translate: Add -unscale commandline option |
| 149 | * gdal_merge.py: Add progress report |
| 150 | * gdal_vrtmerge.py: Fix -separate case (#2836) |
| 151 | * gdal_vrtmerge.py: Write the <SourceProperties> element (#1985) |
| 152 | * gdal_retile.py: add lanczos resampling (#2859) |
| 153 | * gdal_fillnodata.py: ensure dstfile support works by copying source (#2866) |
| 154 | * GDAL2Tiles: --srcnodata support + fixed KML rendering for -p raster |
| 155 | * rgb2pct.py: Added ability to use a preexisting color table from a file (#2958) |
| 156 | * pct2rgb.py and rgb2pct.py : Copy the GCPs and their projection to the target dataset. |
| 157 | * classify.py: Fix order of args to numpy.ones() and numpy.zeros() (#3089) |
| 158 | * hsv_merge.py: New sample script to greyscale as intensity into an RGB image, |
| 159 | for instance to apply hillshading to a dem colour relief. |
| 160 | * support filename globbing for various Python scripts (#2783) |
| 161 | * --formats will add 'v' in report on drivers that support virtual io |
| 162 | * all utilities and scripts : consistently advertize -q as the official quiet |
| 163 | option, but accept both -q and -quiet (#3820) |
| 164 | |
| 165 | Changes in various drivers : |
| 166 | * Implement support for overviews on subdatasets for HDF4, HDF5, NetCDF, NITF, XPM, TERRAGEN, PCIDSK (#2719) |
| 167 | * Add support for 64bit offsets in /vsisubfile, JPEG and JP2ECW drivers |
| 168 | * External overviews support added to some drivers (JDEM, ...) |
| 169 | * Avoid incorrect GEOGCS AXIS settings (#2713) |
| 170 | * Use GDALCheckDatasetDimensions() and GDALCheckBandCount() in various drivers |
| 171 | * Many memory leak fixes (HDF5, HKV, Leveler, MFF, NITF, RMF, JPEG2000, WCS ... drivers) |
| 172 | * Many fixes to improve robustness against corrupt data in many drivers |
| 173 | * Error out when trying to open a read-only dataset in update mode (#3147) |
| 174 | * Ensure that the same JPEG2000 driver that has been used with CreateCopy() is used to re-open it (#1596) |
| 175 | |
| 176 | ADRG driver: |
| 177 | * Support PSP != 100 (#3193) |
| 178 | |
| 179 | AIG driver: |
| 180 | * Differ opening of the RAT only when GetDefaultRat() is called. |
| 181 | Will improve performances and make less likely the error message of #3031 |
| 182 | |
| 183 | AAIGRID driver: |
| 184 | * Fix bad reading of AAIGRID dataset whose last line doesn't have a linebreak character (#3022) |
| 185 | * Make the ArcInfo ASCII driver more Mac-compatible. (#3212) |
| 186 | |
| 187 | BAG driver : |
| 188 | * New for GDAL/OGR 1.7.0 |
| 189 | |
| 190 | BLX driver: |
| 191 | * Implement progress callback in CreateCopy() (#2830) |
| 192 | |
| 193 | BMP driver: |
| 194 | * Modify GetGeoTransform() to return geotransform based on the resolution |
| 195 | information in the BMP header if nothing else is available (ESRI merge). |
| 196 | * use pam functions properly for geotransform when not using world file |
| 197 | |
| 198 | BSB driver: |
| 199 | * Fix several issues with BSB files reading (#2782) |
| 200 | * Handle properly more than 256 GCPs (#2777) |
| 201 | * Add logic to chip GCPs around to avoid split over dateline problems (#2809) |
| 202 | * Add logic to reproject GCPs into Mercator for mercator projected images. |
| 203 | |
| 204 | DTED driver: |
| 205 | * Re-enable DTED driver to recognize files not starting by a UHL record (#2951) |
| 206 | |
| 207 | ECW driver: |
| 208 | * Enable the JP2ECW driver to open JP2 files with the VSILAPI |
| 209 | * Fix build with MSVC2008 (#2850) |
| 210 | * Fix memory overwrite while zooming an ECW image (#2934) |
| 211 | * Speed-up de-registeration of the driver that can take up to 3 seconds (#3134) |
| 212 | |
| 213 | EHDR driver: |
| 214 | * Add color table update. Add limited support for floating point |
| 215 | files (.flt) (ESRI Merge) |
| 216 | * added support for SIGNEDBYTE pixels (#2717) |
| 217 | * Restructure stats handling so pam capture works right when stx write fails |
| 218 | * improve a bit .clr reading (#3253) |
| 219 | |
| 220 | ENVI driver: |
| 221 | * Move RPC info into the RPC domain (#3063) |
| 222 | * Converted to using VSI Large File API (#3274) |
| 223 | * re-enabled complex support (#3174) |
| 224 | |
| 225 | EPSILON driver: |
| 226 | * New for GDAL/OGR 1.7.0 |
| 227 | * Mainly used coupled with Rasterlite |
| 228 | |
| 229 | ERS driver: |
| 230 | * Added PIXELTYPE support to report/create SIGNEDBYTE (#2902) |
| 231 | * Give precidence to PAM SRS, and even check for .aux file. (ESRI Merge) |
| 232 | |
| 233 | FAST driver: |
| 234 | * Support 7 bands (#3307) |
| 235 | |
| 236 | Fujibas driver: |
| 237 | * Fix to work on big-endian hosts |
| 238 | |
| 239 | GenBin driver: |
| 240 | * Implemented custom class for 1bit (U1) files (#2730) |
| 241 | * Fix inverse flattening computation (#2755). |
| 242 | * Added U2 and U4 support |
| 243 | * Look for LSB, assuming MSB if not found (#2730) |
| 244 | |
| 245 | GeoRaster driver: |
| 246 | * Fix compression problems |
| 247 | * Add MaskBand support |
| 248 | * Support UNICODE metadata |
| 249 | * Support cross database schema/user access |
| 250 | * add COORDLOCATOR create option |
| 251 | |
| 252 | GeoTIFF driver : |
| 253 | * Add 8/12bit jpeg in tiff support |
| 254 | * Add support for creating external BigTIFF overview files, |
| 255 | with BIGTIFF_OVERVIEW configuration option. (#2785) |
| 256 | * Add support for deleting a color table (#2421) |
| 257 | * Add logic for Imagine citation parsing |
| 258 | * Add logic for encoding and reading ESRI PE string from citation. |
| 259 | * Add support for reading and writing vertical datum info from geotiff |
| 260 | * Changes to units handling. (#2755) |
| 261 | * Optimize opening speed by defering fetching the coordinate system till GetProjectionRef (#2957) |
| 262 | * Optimize GTiffRasterBand::IReadBlock() for multi-band interleaved case. |
| 263 | * Avoid uncesserary re-writting the TIFF directory (#3021) |
| 264 | * Use official value for inverse flattening of the WGS84 ellipsoid (#2787) |
| 265 | * Add metadata domain for XML documents (#2786) |
| 266 | * Make GTiff driver friendly with files with huge number of bands and pixel interleaving (#2838) |
| 267 | * Avoid precaching other bands if block cache size is not big enough to accomodate them (#2838) |
| 268 | * Internal libtiff (4.0.0beta5) and libgeotiff (1.3.0beta) upgraded |
| 269 | * use the SetCitationToSRS call for the PCSCitationGeoKey in a similar fashion to the GTCitationGeoKey (#2933) |
| 270 | * NBITS set for GTiffOddBits. YCbCr JPEG added as a compression type. |
| 271 | generate MINISWHITE IMAGESTRUCTURE metadata item. Set missing blocks |
| 272 | to the nodata value if there is one. (ESRI Merge) |
| 273 | * Support GeoTIFF with only ProjectedCSTypeGeoKey defined (#3019) |
| 274 | * External overviews: try to preserve the bit depth of the original image |
| 275 | * Allow reading and creation of big all-in-one-strip 8bit TIFF (#3094) |
| 276 | * Handle projection methods for Google Mercator special case (#3217) |
| 277 | |
| 278 | GFF driver : |
| 279 | * Fix support for big endian host (#2832) |
| 280 | * Add pam, and overview support. Switch to VSI*L API to support virtualio (#3014) |
| 281 | |
| 282 | GIF driver : |
| 283 | * Introduced a BIGGIF driver to handle GIF files without using the |
| 284 | slurp into memory approach. (#2542) |
| 285 | * CreateCopy() reports now progress |
| 286 | * Replace internal libungif by giflib-4.1.6 (#1825) |
| 287 | * Read projection and georeferencing from OziExplorer .MAP file if possible. |
| 288 | |
| 289 | GRASS driver: |
| 290 | * Add support for GRASS 7.0 GDAL and OGR plugins (#2953) |
| 291 | * Use GRASS_GISBASE for GDAL GRASS driver instead of hard-coded path (#2721) |
| 292 | |
| 293 | GRIB driver: |
| 294 | * only scan for PDS templates in GRIB2 files (#2858) |
| 295 | * Avoid dumping GribLen debug message if built with -DDEBUG. |
| 296 | * Remove verbosity from GRIB driver (#2887) |
| 297 | * Make GRIB detection thread safe (#3209) |
| 298 | * Check that bands have the same dimensions (#3246) |
| 299 | |
| 300 | GS7BG driver: |
| 301 | * Recognize version 2 datasets (#3123) |
| 302 | |
| 303 | HDF4 driver : |
| 304 | * Allow HDF4 subdataset name to include Windows letter drive (#2823) |
| 305 | |
| 306 | HDF5 driver : |
| 307 | * subdatsets need to be numbered from 1 not 0 (#2462) |
| 308 | * Block size recognition. (#2270) |
| 309 | * Fix initial value for nGCPCount in HDF5ImageDataset (#2774) |
| 310 | * Fixes to type classification, and to avoid listing subdatsets for unsupported pixel data types (#2941) |
| 311 | * Mark PAM for not saving .aux.xml files at this level. Directly open |
| 312 | subdatasets in HDF5Dataset::Open() if there is only one subdataset. |
| 313 | |
| 314 | HFA driver: |
| 315 | * Support reading and evaluating 3rd order xforms (#2716) |
| 316 | * Various improvements to SRS support, particularly to preserve PE |
| 317 | compatability. (#2755) |
| 318 | * Added HFAEntry::RemoveAndDestroy() method to remove nodes from tree (#2421) |
| 319 | * Added support for deleting color tables (#2421) |
| 320 | * Add a scaled progress monitor for HFADataset::IBuildOverviews() |
| 321 | * Fix HFA u2 compression/decompression (ESRI merge) |
| 322 | * Add support for reading compressed s8 HFA (#3152) |
| 323 | * Defer opening overviews till they are first requested (#3155) |
| 324 | * Support multiple excluded values (#3252) |
| 325 | * added a variety of additional coordinate system based types missing in some files (#3262) |
| 326 | * Various fixes (#2421, #2842, #2755, #3082, #2730) |
| 327 | |
| 328 | Idrisi driver: |
| 329 | * Writing text file in CRLF format (#3199) |
| 330 | * forward porting esri changes + other changes |
| 331 | * provide default values on Create() (#3243) |
| 332 | |
| 333 | INGR driver: |
| 334 | * Fix INGR driver that was failing on big endian hosts (#2898) |
| 335 | * Fix RLE support (#3106) |
| 336 | * Added overview building (#2904) |
| 337 | |
| 338 | JPEG driver: |
| 339 | * Enable the JPEG driver to read and create 12bit JPEG images when JPEG12_ENABLED=yes |
| 340 | * Internal libjpeg: additional changes to ensure operation with IPP enabled apps (#2606,#2845) |
| 341 | * JPEG read optimizations : differ extraction of EXIF metadata and internal maskband |
| 342 | |
| 343 | JPEG2000 (JasPer) Driver: |
| 344 | * Allow proper reading of JP2 images where dimensions are not multiple of 256 (#2399) |
| 345 | * Add a virtual I/O interface to able to read from/write to JPEG2000-NITF files |
| 346 | * Do not deregister jas_image_clearfmts() to avoid failure when gdal_translat'ing from JP2 streams |
| 347 | * Add proper reading of YCbCr images as RGB |
| 348 | * fix decoding of bit depth for BPCC and PCLR boxes |
| 349 | |
| 350 | JP2KAK (Kakadu) Driver : |
| 351 | * Fix band selection from ycbcr to rgb converted images in DirectRasterIO (#2732) |
| 352 | * Support jpc vsisubfile streams |
| 353 | * add handling of reversibly compressed data with 9 to 16 bits precision (#2964) |
| 354 | * Modify transfer_bytes() buf32 case to offset/scale based on precision. (#2964) |
| 355 | Fixed _WriteTile() lossless 16bit case to avoid improper 32K offset. |
| 356 | Added support for NBITS image structure metadata, and creation option. |
| 357 | * Added logic to limit tiles to 64K due to jpeg2000 limitation. (ESRI Merge) |
| 358 | * Fix offseting of 16U buf32 data (#3027) |
| 359 | * Support 16u/16s imagery through DirectRasterIO interface (#3049) |
| 360 | * Support external overviews as an override to internal overviews |
| 361 | * Rework jp2kak support to use natural kakadu builds (Windows build) |
| 362 | * ensure external overviews get used if available (#3276) |
| 363 | * add preliminary multi-threading read support via DirectRasterIO() |
| 364 | |
| 365 | |
| 366 | LAN driver: |
| 367 | * Give preference to PAM coordinate system since built-in info is very |
| 368 | limited. Fallback to PAM geotransform if internal missing. (ESRI Merge) |
| 369 | |
| 370 | LCP driver: |
| 371 | * Add projection file support (#3255) |
| 372 | |
| 373 | MEM driver: |
| 374 | * Allow creating bands of more than 2GB each if size_t is large enough. |
| 375 | * Added GetInternalHandle() implementation to fetch band memory buffer |
| 376 | |
| 377 | MrSID driver: |
| 378 | * Implement faster resampling for 1:1 case |
| 379 | * Improve stream implementation so it works for jp2 with v7 |
| 380 | * Make the JP2MrSID driver accept .ntf extension to allow reading jpeg2000 |
| 381 | datastream in NITF files |
| 382 | * Avoid reporting large metadata objects. Add MG version to metadata. |
| 383 | |
| 384 | NetCDF driver: |
| 385 | * Fix handling of pixel validity mask (#3112) |
| 386 | * correct a problem with 5+ dimensional data access (#2583) |
| 387 | * fix y flip detection in common case (#2654) |
| 388 | * add support for subdataset names with Windows full path names, like NETCDF:D:\... |
| 389 | |
| 390 | NITF driver: |
| 391 | * Add support for reading & creating large (>4GB) NITF files. |
| 392 | * Add support for NITF/JPEG2000 overviews (JP2KAK) |
| 393 | * Add support for reading & creating 12bit JPEG compressed NITF files when JPEG12_ENABLED=yes |
| 394 | * Add support for creating a NITF file with many bands and big TRE content |
| 395 | * Add support for creating several uncompressed images in a NITF file (#2989) |
| 396 | * Add support for creating M3 (masked multi-block JPEG compressed) images |
| 397 | * Add support for unpacking a wider variety of pixel depths. |
| 398 | * Add support for overriding IGEOLO with GEOLOB TRE precision georef (#3180) |
| 399 | * Add support for for CFloat32 reading & writing (#2526) |
| 400 | * Add support for reading and writing NITF file with large single block (#3263) |
| 401 | * Allow Jasper driver to be used for NITF IC=C8 (JPEG2000) CreateCopy() if JP2ECW is not available |
| 402 | * Allow JP2MrSID driver to be used for reading JPEG2000 datastreams in NITF |
| 403 | * Avoid issues when reading M3 single block images |
| 404 | * Fix CreateCopy() of multi block JPEG-NITF |
| 405 | * Various bugfixes (#2940, #2912, #3029, #3088) |
| 406 | * Support NITF file with a color table and JPEG2000 data content (#3110) |
| 407 | |
| 408 | NWT_GRC / NWG_GRD drivers (Northwood/VerticalMapper) : |
| 409 | * New for GDAL/OGR 1.7.0 |
| 410 | |
| 411 | OGDI driver: |
| 412 | * improve finding of PROJ.4 include files for OGDI (#1242) |
| 413 | |
| 414 | PCIDSK driver (old driver): |
| 415 | * Added worldfile reading. Added PAM fallback for geotransform. |
| 416 | * Added support for default overviews (ie. .ovr or .rrd). (ESRI Merge) |
| 417 | * fail somewhat gracefully on compressed images |
| 418 | |
| 419 | PCIDSK driver (new driver): |
| 420 | * New for GDAL/OGR 1.7.0, using the PCIDSK SDK |
| 421 | |
| 422 | PDS driver: |
| 423 | * Transfer various keywords to metadata |
| 424 | * Made keyword handler more in complaint with ODL (#2956) |
| 425 | * Support detached files with an offset (#3177) |
| 426 | * Support .LBL labelled compressed files |
| 427 | |
| 428 | PNG driver : |
| 429 | * Upgrade internal libpng to 1.2.35 |
| 430 | * Only write a world file if the source datasource has a geotransform |
| 431 | * Allow writing a nodata value of 0 as the transparent color value (#3208) |
| 432 | |
| 433 | R driver: |
| 434 | * New for GDAL/OGR 1.7.0 |
| 435 | |
| 436 | Rasterlite driver |
| 437 | * New for GDAL/OGR 1.7.0 |
| 438 | |
| 439 | RIK driver: |
| 440 | * Improved error checking |
| 441 | |
| 442 | SAGA GIS Binary driver: |
| 443 | * New for GDAL/OGR 1.7.0 |
| 444 | |
| 445 | SDE driver : |
| 446 | * Fix exporting ArcSDE raster results in a displaced image (#2063) |
| 447 | |
| 448 | SRP driver (ASRP/USRP): |
| 449 | * New for GDAL/OGR 1.7.0 |
| 450 | |
| 451 | SRTM driver : |
| 452 | * Set GDALMD_AOP_POINT metadataitem (#1884) |
| 453 | |
| 454 | TIL driver (EarthWatch .TIL) driver: |
| 455 | * New for GDAL/OGR 1.7.0 |
| 456 | |
| 457 | VRT driver : |
| 458 | * Honour the INIT_DEST warp option (#2724) |
| 459 | * Improve performance of LUTs in VRTComplexSource from O(n) to O(log2(n)) (#3003) |
| 460 | * Implement (advertized in doc) support for SetMetadataItem( "source_0", szFilterSourceXML, "vrt_sources" ) on a VRTSourcedRasterBand (#3052) |
| 461 | * Implement GetFileList() to list the source files |
| 462 | * Fix wrong initialization of destination buffer in VRTSourcedRasterBand::IRasterIO() in case of not standard pixel/line spacing. (#2867) |
| 463 | |
| 464 | WCS driver: |
| 465 | * do not try to parse HTML content, which is returned by some provider when the server doesn't exist |
| 466 | * added HttpAuth and UserPwd options for authentication (#3091) |
| 467 | |
| 468 | WKT Raster driver: |
| 469 | * New for GDAL/OGR 1.7.0 |
| 470 | |
| 471 | WMS driver: |
| 472 | * Support TMS/formatted URLs in WMS minidriver (#2878) |
| 473 | * Be tolerant if we have required 3 bands and got 4, or the other way round |
| 474 | * Declare a user agent string |
| 475 | |
| 476 | == OGR 1.7.0 - Overview of Changes == |
| 477 | |
| 478 | Utilities: |
| 479 | * ogrinfo: Preserve order of source layers specified on ogrinfo command line, |
| 480 | and use GetLayerByName() which enables to read some hidden layers |
| 481 | like public.<table> layers from a PG database (#2922, #2026) |
| 482 | * ogr2ogr: |
| 483 | - Add -clipsrc and -clipdst option to clip geometries to the specified extents |
| 484 | - Add -fieldTypeToString option to conveniently cast any fields of given type to fields of type string (#2968) |
| 485 | - Add -progress option for ogr2ogr to displaying progress (#2998) |
| 486 | - Add -wrapdateline option to ogr2ogr to deal with geometries that cross 180 degree longitude (#3158) |
| 487 | - Add -dialect flag to specify SQL dialect |
| 488 | - Preserve order of source layers specified on command line (#2922) |
| 489 | - -overwrite and -append now automatically imply -update (#3048) |
| 490 | - Support converting to a format after field name "laundering" (#3247) |
| 491 | * ogrtindex: |
| 492 | - Skip layers whose schema does not match instead of terminating (#3141) |
| 493 | - Add a -accept_different_schemas option for non-MapServer use cases (#3141) |
| 494 | - Set SRS to tileindex when one is found in the tiles |
| 495 | * ogr2vrt.py : new script that will create a VRT corresponding to a |
| 496 | source datasource (sample script for the moment, not promoted officially) |
| 497 | |
| 498 | Core : |
| 499 | * Improved OGR feature style (#2875, #2808) |
| 500 | * Considerable speed-up of ExportToWkt() for very large geometries |
| 501 | * Added new OGR_GEOM_AREA special field (#2949) |
| 502 | * ensure forceToMultiLineString() works for MultiPolygons (#2735) |
| 503 | * Various fixes in OGR SQL engine (r16116, #2996, #2788, #3143, #3144) |
| 504 | * Add OGREnvelope::Intersect() |
| 505 | * Add OGR_G_ApproximateArcAngles() for ellipses |
| 506 | * Fix crash on Ubuntu 8.10 in GetFieldAsString() because of (too) strict guard logic (#2896) |
| 507 | * add field type max so we can iterate through all possible values |
| 508 | * Avoid making a 2D5 geometry from a 2D only linestring when reprojecting |
| 509 | |
| 510 | OGRSpatialReference : |
| 511 | * Upgrade EPSG derived files to EPSG 7.1 |
| 512 | * Added support to operate on COMPD_CS coordinate systems |
| 513 | * Added support for importing spatial reference definitions from the OziExplorer .MAP files. |
| 514 | * Introduce static methods to destroy OGRSpatialReference and OGRCoordinateTransformation objects |
| 515 | * Expose more of the axis orientation API to C |
| 516 | * Add missing Eckert 1, 2, 3 and 5 projections |
| 517 | * Fix typos in proj4 conversion for Wagner projections |
| 518 | * hack in EXTENSION nodes for google mercators (#3136) |
| 519 | * Validates PROJCS with AXIS definitions (#2739) |
| 520 | * Added support for urn:ogc:def:crs:OGC::CRS:84 (and CRS:83, CRS:27) per WMS spec. |
| 521 | * Wide variety of improvements to preserve PE strings through a morphFromESRI() |
| 522 | and morphToESRI() process (#2755) |
| 523 | * Fix inversion of dictionnary filename and GEOGCS/PROJCS name in OGRSpatialReference::exportToERM() (#2819) |
| 524 | * Fix SpatialReference::IsSame() for LOCAL_CS case (#2849) |
| 525 | * Fix bug in ImportFromXML that prevented from retrieving projection method |
| 526 | * Accept both href and xlink:href in OGC XML |
| 527 | * improve us foot translation handling (#2901) |
| 528 | * OGRSpatialReference::importFromUrl() : add a default 10 second timeout to avoid waiting forever when remote server is stalled |
| 529 | * ensure we can translate mercator1sp with non-zero origin to proj4 (#3026) |
| 530 | * ensure scalefactor preserved in somerc translation (#3032) |
| 531 | * SRS_ESRI: attempt to correct equidistant cylindrical parameter morph (#3036) |
| 532 | * SRS_ESRI: improve plate_carree parameter morphing (#3036) |
| 533 | * SRS_PCI : Fix PCI projection string handling for UTM |
| 534 | * esri_extra.wkt: correct equidistant conic definitions (#3086) |
| 535 | * SRS_PANORAMA : Added support for British National Grid and Pulkovo 1995 datums. |
| 536 | * Improve recognition of WKT text strings when translating into proj4 hard-coded datum names, in particular nzgd49 |
| 537 | (also add ggrs87, carthage, hermannskogel, ire65); Fix ellipsoid parameters for modified airy (#3104) |
| 538 | * OSRGetEllipsoidInfo() available for various OGR SRS modules |
| 539 | * added support for OGC:CRS84 and similar srses from wms/wcs spec in SetFromUserInput (#3090) |
| 540 | |
| 541 | BNA driver : |
| 542 | * Fix output of BNA driver with polygons with inner ring (#2985) |
| 543 | * Proper CRLF output on Windows (#3256) |
| 544 | |
| 545 | CSV driver : |
| 546 | * Add support for reading and writing CSV files with semicolon or tabulation |
| 547 | as the field separator (#2925, #2136) |
| 548 | * Add automatic treatment of WKT column as geometry |
| 549 | * Add 'CREATE_CSVT' layer creation option |
| 550 | |
| 551 | DXF driver : |
| 552 | * New for GDAL/OGR 1.7.0 |
| 553 | |
| 554 | Geoconcept driver: |
| 555 | * Fix 'private Class and SubClass headers are inverted' (#2919) |
| 556 | * Fix error in writing 2.5D/3D export file (#2921) |
| 557 | |
| 558 | GeoJSON driver: |
| 559 | * updated JSON-C library to version 0.9 |
| 560 | * use VSIF*L API |
| 561 | |
| 562 | GML driver : |
| 563 | * Speed-up considerably parsing of GML coordinates in big geometries, in particular on Windows |
| 564 | * Add support for gml3.1.1 srsDimension attribute, to deal with 3D geometries (#2311) |
| 565 | * Support multiple <gml:pos> elements in linearrings of polygons (#3244) |
| 566 | * Limited support for GML3 |
| 567 | * Support direct use of FIDs as long as they are all numeric or they have a completely fixed prefix (#1017) |
| 568 | * Fix OGRGMLLayer::GetFeatureCount() if there's a .XSD file available (#2969) |
| 569 | * Added support for out-of-band attributes on features (for NAS) |
| 570 | * Adding the date field type to xsd writer and precision info for OFTReal fields. (#2857) |
| 571 | |
| 572 | GPX driver: |
| 573 | * Add GPX_SHORT_NAMES configuration option to make the GPX driver report shorter field names |
| 574 | and avoid duplicated field names once translated to shapefile (#2966) |
| 575 | * Write the <bounds> element (write only) |
| 576 | * Avoid escaping XML content when writing <extensions>. |
| 577 | * Add appropriate xmlns when detecting Garmin GPX extensions |
| 578 | |
| 579 | GRASS driver: |
| 580 | * Do not report 3D geometries for 2D GRASS maps (#3009) |
| 581 | |
| 582 | GTM (GPSTrackMaker) driver : |
| 583 | * New for GDAL/OGR 1.7.0 (#3113) |
| 584 | |
| 585 | ILI driver : |
| 586 | * Improved curve segmentation algorithm |
| 587 | * ILI1: Support for multiple point geomtries |
| 588 | * ILI1: Support Real and Integer column types |
| 589 | |
| 590 | Ingres driver: |
| 591 | * Utilize the new OGC based ingres capabilities (#3159) |
| 592 | |
| 593 | KML driver: |
| 594 | * Support reading MultiGeometry and layers with mixed geometry type. |
| 595 | * Speed-up considerably the reading of huge KML geometries (#3005) |
| 596 | * Speed-up considerably with huge number of layers |
| 597 | * Moved the location of the Style element to match the OGC Schema (#2858) |
| 598 | * Advertize 25D geometry type when relevant (#1803, #1853, #2181) |
| 599 | * Relax KML driver about xmlns (#3004) |
| 600 | |
| 601 | MySQL driver : |
| 602 | * Fix mysql driver compilation with mysql 5.1/g++-4.3.2 (Mandriva 2009.1) (#2972) |
| 603 | * Fixed bug MySQL driver truncating decimal places for double field type. (#2852) |
| 604 | |
| 605 | OCI driver : |
| 606 | * OCI varchar2 columns can be up to 4000 bytes (#2876) |
| 607 | |
| 608 | ODBC driver : |
| 609 | * make it slightly less likely that the srs_tablename parsing will interfere with complex DSNs. |
| 610 | * support for schemas (#1969) |
| 611 | |
| 612 | OGDI driver : |
| 613 | * fix to avoid applying old spatial filter to unrelated layer |
| 614 | * fix to force ResetReading() when changing current layer |
| 615 | |
| 616 | PGEO driver : |
| 617 | * Recognize more ESRI shape type constants. (#2991, #3100) |
| 618 | * implement GetFIDColumn() and GetGeometryColumn() methods (#2694) |
| 619 | |
| 620 | PostgreSQL driver: |
| 621 | * Add support for tables with 'geography' column type introduced in PostGIS 1.5 (#3216) |
| 622 | * Extend support of schemas in PG driver with 2 new options in the connection string: |
| 623 | active_schema=foo and schemas=foo[,bar] (#522 and #525) |
| 624 | * Implement OGRPGTableLayer::CreateFeature() by using UPDATE instead of DELETE + INSERT (#2557) |
| 625 | * Implement SetNextByIndex() for layers of PG datasources (#3117) |
| 626 | * Support PG 'real' data type in tables (#3006) |
| 627 | * Speed-up PG database opening by avoiding 2 SQL requests per table |
| 628 | * Avoid evaluating GetFieldIndex() on each field of each feature, |
| 629 | which can be very expensive if the layer has many fields |
| 630 | * allow ST_AsBinary with non binary connections |
| 631 | * added a configuration option PG_SKIP_VIEWS. |
| 632 | |
| 633 | GeoRSS driver : |
| 634 | * New for GDAL/OGR 1.7.0 (#2726) |
| 635 | |
| 636 | OCI driver: |
| 637 | * support blob column binding |
| 638 | |
| 639 | PCIDSK driver : |
| 640 | * New for GDAL/OGR 1.7.0 |
| 641 | |
| 642 | Shape driver : |
| 643 | * Handle duplicate field names in shapefile driver. (#3247) |
| 644 | * Support for opening and handling .DBF files > 2 GB (#3011) |
| 645 | * Optimize to use shape bounds for spatial test before organizing poly (#2775) |
| 646 | * Support for alternate date format (#2746) |
| 647 | * Improve/fix TestCapability() on OGRShapeLayer |
| 648 | * Refreshed shapelib from upstream |
| 649 | |
| 650 | S57 driver : |
| 651 | * Fix incorrect return value of GetFeatureCount() on S57 SOUNDG layer when SPLIT_MULTIPOINT=ON; |
| 652 | also avoid warning on that layer when ADD_SOUNDG_DEPTH=OFF (#3163) |
| 653 | |
| 654 | SQLite driver: |
| 655 | * Add creation and write support in SpatiaLite-compatible databases |
| 656 | * Add SPATIAL_INDEX creation option for SpatiaLite tables if linked against |
| 657 | libspatialite (default to YES) |
| 658 | * Implement OGRSQLiteTableLayer::TestCapability(OLCFastFeatureCount) |
| 659 | * Implement OGRSQLiteLayer::GetFIDColumn() and GetGeometryColumn() |
| 660 | * Implement TestCapability(OLCRandomRead) |
| 661 | * Add a SQLITE_LIST_ALL_LAYERS configuration option to list all(non-spatial) |
| 662 | tables into a SQLite DB even if there are spatial tables |
| 663 | * Avoid reporting the primary key column as a regular column. |
| 664 | * Better precision for double values in CreateFeature() |
| 665 | |
| 666 | VFK driver: |
| 667 | * New for GDAL/OGR 1.7.0 |
| 668 | |
| 669 | VRT driver: |
| 670 | * Allow fast spatial filtering in the VGS_Direct case |
| 671 | * Add support for CreateFeature(), SetFeature() and DeleteFeature() operations |
| 672 | * Added field definition and style control |
| 673 | * Added new vrt/schema creation capability (@dummy@ datasource, ogr2vrt.py script) |
| 674 | * Implement 'SrcRegion' element |
| 675 | * Add a 'reportSrcColumn' attribute to the 'GeometryField' to avoid reporting |
| 676 | the x,y,wkt or wkb source fields in the VRT layer field definition |
| 677 | * Forward TestCapability(), GetExtent(), SetNextByIndex() to source layer when possible |
| 678 | |
| 679 | XPlane/Flightgear driver: |
| 680 | * Improve handling of Bezier curves (#3030) |
| 681 | * Support new file names used by XPlane 9.00 & later |
| 682 | * Cut into 2 pieces airway segments that cross the antemeridian |
| 683 | * Add new layer 'Stopway' that contains the shape of the stopway/blastpad/over-run of a runway |
| 684 | * Recognize code 16 and 17 for seaplane bases and heliports and add a new field to APT layer |
| 685 | |
| 686 | == SWIG Language Bindings == |
| 687 | |
| 688 | General: |
| 689 | * Recommanded SWIG version is 1.3.39 |
| 690 | * Added API : |
| 691 | - GDAL: gdal.!FilldoData(), gdal.!FileFromMemBuffer(), gdal.!Unlink(), gdal.!ApplyGeoTransform(), gdal.!InvGeoTransform(), Band.!GetUnitType(), Band.!GetBand(), Band.!ComputeStatistics(), Band.!HasArbitraryOverviews(), !RasterAttributeTable.!GetLinearBinning() and !SetLinearBinning(), extend [Band|Dataset].[!ReadRaster|!WriteRaster] to accept pixel, line and band spacing parameters |
| 692 | - OGR: ogr.!GeneralCmdLineProcessor(), Geometry.Segmentize(), !FieldDefn.!GetTypeName(),Geometry.!ApproximateArcAngles() |
| 693 | - OSR: osr.!ImportFromMICoordSys(), osr.!ExportToMICoordSys(), !SpatialReference.Clone(),osr.!EPSGTreatsAsLatLong(), osr.!ImportFromEPSGA() |
| 694 | * Make resampling an optionnal parameter for gdal.!RegenerateOverview(), |
| 695 | to be consistant with gdal.!RegenerateOverviews() |
| 696 | * NONNULL checks have been added to check various arguments of methods |
| 697 | * add missing constants : DCAP_VIRTUALIO, color interpretations, OGR constants |
| 698 | |
| 699 | CSharp bindings : |
| 700 | * Add support for !GetFieldAsStringList, !GetFieldAsDoubleList and !GetFieldAsIntegerList in the C# wrapper (#2839) |
| 701 | * Support MSVC2008 builds with the csharp interface (#2862) |
| 702 | * Change the dll mapping rules to support the recent MONO versions |
| 703 | * Use GC pinned arrays instead of the double copy in the RasterIO functions (#3073) |
| 704 | * Add typemaps to support custom CPLErrorHandler via C# swig bindings |
| 705 | |
| 706 | Perl bindings : |
| 707 | * in Polygonize make a local copy of the parameters as they are potentionally edited |
| 708 | |
| 709 | Python bindings : |
| 710 | * Add support for Python 3.X. Compatibility with Python 2.X preserved (#3265) |
| 711 | * Remove old-generation Python bindings (gdal/pymod). |
| 712 | * Add Python binding's version description capabilities (#3137) |
| 713 | * NUMPY : Make Band|Dataset.!ReadAsArray() take into account preallocated array (#2658, #3028) |
| 714 | * Various memory leaks fixed |
| 715 | * Fix gdal.!RegenerateOverviews(), Feature.!GetFieldAsStringList(), |
| 716 | Feature.!GetFieldAsIntegerList(), Feature.!GetFieldAsDoubleList(), |
| 717 | Transform.!TransformPoints and CoordinateTransformation.!TransformPoints |
| 718 | * Extend python !TransformPoints typemap to accept any sequence (#3020) |
| 719 | * Make Geometry iterable (#1886) |
| 720 | |
| 721 | Java bindings (general changes): |
| 722 | * Maintained again. A lot of changes to get them into clean state. |
| 723 | * !RasterIO API : added API for standard Java arrays in addition to !DirectByteBuffer |
| 724 | * Javadoc available at http://gdal.org/java |
| 725 | |