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


Ignore:
Timestamp:
Jan 23, 2011, 8:10:19 AM (13 years ago)
Author:
warmerdam
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Release/1.8.0-News

    v1 v1  
     1= GDAL/OGR 1.8.0 release notes =
     2
     3(Note: Most changes/bugfixes between 1.7.0 and 1.8.0 that have already gone
     4to the 1.7.X maintenance releases are not mentioned hereafter.)
     5
     6== In a nutshell... ==
     7
     8 * New GDAL drivers : GTX, HF2, JPEGLS, JP2OpenJPEG, JPIPKAK, KMLSUPEROVERLAY, LOS/LAS, MG4Lidar, NTv2, OZI, PDF, RASDAMAN, XYZ
     9 * New OGR drivers : AeronavFAA, ArcObjects, GPSBabel, HTF, LIBKML, MSSQLSpatial, NAS, OpenAir, PDS, PGDump, SOSI, SUA, WFS
     10 * Significantly improved OGR drivers : DXF, GML
     11 * New implemented RFCs : RFC 7, RFC 24, RFC 28, RFC 29, RFC 30, RFC 33
     12 * New utility : gdallocationinfo
     13
     14== Backward compatibility issues ==
     15
     16 * MITAB driver: use "," for the OGR Feature Style id: parameter delimiter, not "." as per the spec. Known impacted application :
     17  MapServer (http://trac.osgeo.org/mapserver/ticket/3556)
     18 * RFC 33 changes the way PixelIsPoint is handled for GeoTIFF (#3838,#3837)
     19 * GML driver: write valid <gml:MultiGeometry> element instead of the non-conformant <gml:GeometryCollection>. For backward compatibility, recognize both syntax for the reading part (#3683)
     20
     21== GDAL/OGR 1.8.0 - General Changes ==
     22
     23Build(All):
     24 * Make sure that 'import gdal' can work in a --without-ogr build
     25
     26Build(Unix):
     27 * Fix compilation on RHEL/Centos 64bit for expat and sqlite3 (#3411)
     28 * Update to autoconf 2.67 and libtool 2.2.6
     29 * During the external libtiff autodetection check whether library version is 4.0 or newer, fallback to internal code otherwise. It is still possible to link with older libtiff using the explicit configure option (#3695)
     30 * Make --with-threads=yes the default
     31 * Allow using --with-spatialite=yes
     32 * Check /usr/lib64/hdf for RedHat 64bit
     33
     34Build(Windows):
     35 * Change the default MSVC version to VS2008.
     36
     37== GDAL 1.8.0 - Overview of Changes ==
     38
     39Port:
     40 * RFC 7 : Use VSILFILE for VSI*L Functions (#3799)
     41 * RFC 30 : Unicode support for filenames on Win32
     42 * Implement Rename() for /vsimem
     43 * New virtual file system handlers :
     44    - /vsicurl/ : to read from HTTP or FTP files (partial downloading)
     45    - /vsistdin/ : to read from standard input
     46    - /vsistdout/ : to write to standard output
     47    - /vsisparse/ :mainly to make testing of large file easier
     48    - /vsitar/ : to read in .tar or .tgz/.tar.gz files
     49 * Add C API to create ZIP files
     50 * Add support for writable /vsizip/
     51 * Add VSIBufferedReaderHandle class that is usefull to improve performance when doing backward seeks by a few bytes on underlying file handles for which backward seeks are very slow, such as GZip handle
     52 * Add service for base64 decoding
     53 * CPL ODBC : Add transaction support (#3745)
     54 * CPL ODBC: Increase the default connection timeout to 30 sec
     55 * Add VSIStatExL() that has a flag to specify which info is really required (potential speed optimization on slow virtual filesystems such as /vsicurl)
     56 * Add VSIIsCaseSensitiveFS() to avoid ugly #ifndef WIN32 / #endif in the code of various drivers
     57 * Add Recode() convenience method to CPLString
     58 * HTTP downloader: add PROXY and PROXYUSERPWD options (and GDAL_HTTP_PROXY and
     59   GDAL_HTTP_PROXYUSERPWD configurations option) to allow request to go through a
     60   proxy server.
     61
     62Core:
     63 * RFC 24: progressive/async raster reading
     64 * On Unix, add capability of opening the target of a symlink through GDALOpen() even if it not a real filename. Usefull for opening resources expressed as GDAL virtual filenames in software offering only file explorers (#3902)
     65 * Assume anything less than 100000 for GDAL_CACHEMAX is measured in metabytes.
     66 * Read cartesian coordinates if applicable in GDALLoadOziMapFile().
     67 * Avoid being overly sensitive to numeric imprecision when comparing pixel value and nodata value in GDALRasterBand::ComputeStatistics()/
     68   ComputeRasterMinMax(), especially for GeoTIFF format where nodata is stored as text (#3573)
     69 * Better handling of NaN (not a number) (#3576)
     70 * Add C wrapper GDALSetRasterUnitType() for GDALRasterBand::SetUnitType() (#3587)
     71 * Add GDALLoadRPCFile() to read RPCs from GeoEye _rpc.txt files (#3639)
     72 * Allow GDALLoadRPB/RPC/IMDFile() to be called directly with the RPB/RPC/IMD filename
     73 * In GDAL cache block, use 64-bit variables for cache size
     74 * Add GDALSetCacheMax64(), GDALGetCacheMax64() and GDALGetCacheUsed64() (#3689)
     75 * Improve formatting of seconds in DecToDMS()
     76 * Support negative nPixelOffset values for RawRasterBands
     77 * GDALDatasetCopyWholeRaster(): improve performance in certains cases by better fitting to input/output block sizes
     78 * Add GDALRasterBandCopyWholeRaster()
     79 * Make sure band descriptions are properly captured and cloned (#3780)
     80 * GDALDataset/GDALRasterBand::CreateMaskBand(): invalidate pre-existing raster band mask that could be created lazily with GetMaskBand()/GetMaskFlags(), so that a later GetMaskBand() returns the newly created mask band
     81 * Overview computation : speed improvements in resampling kernels
     82 * Fix dereferencing of open datasets for GetOpenDatasets (#3871)
     83 * Add DllMain callback to set-up and tear-down internal GDAL library resources automatically (#3824)
     84 * List .aux file if it used in GDALPamDataset::GetFileList()
     85 * PAM dataset : try retrieving projection from xml:ESRI metadata domain
     86
     87Algorithms:
     88 * rasterize: Burn the attribute value in ALL the bands during rasterization. (#3396)
     89 * geoloc : Allow using XBAND and YBAND with height == 1 in the case of a regular geoloc grid, suc h as for LISOTD_HRAC_V2.2.hdf (#3316)
     90 * GDALFillNodata(): improve&fix progress report
     91 * warper : Try to determine if we will need a UnifiedSrcDensity buffer when doing memory computations (#3515).
     92 * warper : GDALSuggestedWarpOutput2(): use more sample points around the edge of the raster to get more accurate result (#3742)
     93 * warper : added (preliminary) support for mask bands that aren't nodata or alpha
     94 * warper : integrate Google Summer of Code OpenCL implementation of warper
     95 * gdalgrid: Move ParseAlgorithmAndOptions from apps/gdal_grid.cpp to alg/gdalgrid.cpp (#3583)
     96 * RPCTransformer: take into account optionnal DEM file to extract elevation offsets (RPC_HEIGHT_SCALE and RPC_DEM transformation options added) (#3634)
     97 * GDALReprojectImage() : correctly assign nSrcAlphaBand and nDstAlphaBand (#3821)
     98 * gdalgrid : Properly initialize the first nearest distance in GDALGridNearestNeighbor().
     99
     100Utilities :
     101 * gdallocationinfo : new
     102 * nearblack: add -setalpha option to add/set an alpha band + -of, -q, -co
     103 * nearblack: add -setmask option to use a mask band to mask the nodata areas
     104 * gdalbuildvrt: support stacking ungeoreferenced images when using -separate, provided they have the same size (#3432)
     105 * gdalbuildvrt: implement a check to verify that all color tables are identical
     106 * gdalbuildvrt: automatically create a VRT mask band as soon one of the sources has a dataset mask band (non-trivial = neither alpha, neither alldata, neither nodata)
     107 * gdalbuildvrt: use OSRIsSame() to check if all source raster have same SRS (#3856)
     108 * gdal_translate: Transfer GEOLOCATION in the -of VRT case if spatial arrangement of the data is unaltered
     109 * gdal_translate : add support for resizing datasets with mask bands
     110 * gdal_translate : add -mask option to add a mask band from an input band/mask band.  Also extend syntax for the value of the -b option to allow specifying mask band as input band
     111 * gdal_translate : support '-a_nodata None' as a way of unsetting the nodata value
     112 * gdal_translate : invalidate statistics when using -scale, -unscale, -expand, -srcwin, -projwin or -outsize and a new -stats option to force their (re)computation (#3889)
     113 * gdal_rasterize: Add capability of creating output file (#3505)
     114 * gdaldem: add a new option, -compute_edges, that enable gdaldem to compute values at image edges or if a nodata value is found in the 3x3 window, by interpolating missing values
     115 * gdaldem : add '-alg ZevenbergenThorne' as an alternative to Horn formula for slope, aspect and hillshade
     116 * gdaldem : support GMT .cpt palette files for color-relief (#3785)
     117 * gdalwarp: add -crop_to_cutline to crop the extent of the target dataset to the extent of the cutline
     118 * gdalwarp: add a -overwrite option (#3759)
     119 * gdal_grid : Properly use the spatial filter along with the bounding box.
     120 * epsg_tr.py: added -copy format for INGRES COPY command
     121 * hsv_merge.py: support RGBA dataset as well as RGB dataset, add -q and -of options, avoid using hillband when it is equal to its nodata value
     122 * val_repl.py: copy geotransform and projection from input dataset to output dataset
     123 * gdal_retile.py : assign color interpretation (#3821)
     124 * gdal_retile.py : add -useDirForEachRow option to create a different output structure (#3879)
     125 * Make gdal_translate and gdalwarp return non-zero code when block writing failed for some reason (#3708)
     126 * loslas2ntv2.py : new utility : .los/.las to NTv2 converter
     127 * gdal_calc.py : new utility
     128 * Add -tap option to gdal_rasterize, gdalbuildvrt, gdalwarp and gdal_merge.py to align on a standard grid (#3772)
     129
     130AAIGRID driver:
     131 * Cast nodata value to float to be consistant with precision of pixel data in GDT_Float32 case; small optimization to avoid reading the first 100K when we know that the datatype is already Float32
     132 * Allow reading files where decimal separator is comma (#3668)
     133 * Detect 1e+XXX as a real value among integer values (#3657)
     134 * Add a AAIGRID_DATATYPE configuration option that can be set to Float64
     135 * speed-up CreateCopy(), particularly on windows, by buffering the output
     136
     137AIGrid driver:
     138 * Support sparse sets of tile files {w,z}001???.adf (#3541)
     139
     140BSB driver:
     141 * Capture extension lines for headers
     142 * Added UNIVERSAL TRANSVERSE MERCATOR, LCC and POLYCONIC handling (#3409)
     143 * provide an option (BSB_IGNORE_LINENUMBERS) to ignore line numbers as some generators do them wrong but the image is otherwise readable (#3776)
     144 * Avoid turning missing values to indice 255 (#3777)
     145
     146DODS driver:
     147 * Compilation fix to support libdap 3.10
     148
     149DTED driver:
     150 * Add origin metadata in original format (#3413)
     151 * Report NIMA Designator field as 'DTED_NimaDesignator' metadata (#3684)
     152 * Fixes to read some weird DTED3 file
     153
     154ECW driver:
     155 * Support building against 4.1 SDK (compat with older versions maintained) (#3676)
     156 * Add alpha support with 4.1 SDK, and various configuration options
     157 * Add pseudo powers of two overviews.
     158
     159EHdr driver:
     160 * Improvements to deal with http://www.worldclim.org/futdown.htm datasets
     161
     162ENVI driver:
     163 * Support tabulation character in .hdr files (#3741)
     164 * Support reading gzipped image file (#3849)
     165
     166ERS driver:
     167 * Read "Units" child of the "BandId" node and set it as unit type for RasterBand.
     168
     169FITS driver:
     170 * Accept files whose metadata list doesn't end with 'END' (#3822)
     171
     172GeoRaster driver :
     173 * Suppress error when testing SRID code as EPSG (#3326)
     174 * Several improvements and fixes (#3424)
     175 * Deprecates JPEG-B compression (#3429)
     176 * Fix GetColorInterpretation() on RGBA's alpha channel (#3430)
     177 * Allows OS authentication (#3185)
     178 * Add support for Point Cloud, add transaction control wrapper
     179 * use OCI Bind to load VAT (#3277)
     180 * Change order of NODATA tag on XML metadata (#3673)
     181 * Add support for per band NoData value - Oracle 11g (#3673)
     182 * Add support to ULTCoordinate - (#3718)
     183 * Fix interleaving cache error (#3723)
     184 * Fix compress vs nbits order error (#3763)
     185 * Fix writing interleaved jpeg #3805 and reading default blocksize #3806
     186 * Add create option blocking=(YES,NO,OPTIMUM) #3807, also fix #3812
     187
     188GRASS driver:
     189 * Update GDAL and OGR GRASS drivers to compile against GRASS 7.0SVN (#2953)
     190
     191GTiff driver :
     192 * RFC 33 : Adjust PixelIsPoint handling (#3838,#3837)
     193 * Refresh internal libtiff with upstream
     194 * Refresh internal libgeotiff with upstream
     195 * Add PREDICTOR_OVERVIEW configuration option to set the predictor value for LZW or DEFLATE compressed external overviews; Also make sure that the predictor value gets well propagated in the case of internal overviews (#3414)
     196 * Add a COPY_SRC_OVERVIEWS creation option (for CreateCopy()) that copies existing overviews in the source dataset.
     197 * Make GetScale() and GetOffset() retrieve values from PAM if not available in internal metadata
     198 * Use GCP info from PAM if available
     199 * Support CreateCopy() on datasets with a color indexed channel and an alpha channel (#3547)
     200 * Allow reading geotransform when opening with GTIFF_DIR prefix (#3478)
     201 * Add a warning when clipping pixel values for odd-bits band
     202 * Make sure that 16bit overviews with jpeg compression are handled using 12bit jpeg-in-tiff (#3539)
     203 * Add GDAL_TIFF_OVR_BLOCKSIZE configuration option to specify block size used for overviews
     204 * Read RPCs from GeoEye _rpc.txt files (#3639)
     205 * Implement GetUnitType() and SetUnitType(); make sure to remove TIFFTAG_GDAL_METADATA tag if it existed before and there are no more   metadata; fix to make sure we can unset offset & scale stored in PAM
     206 * Speed-up writing of blocks in case of multi-band 8 bit images
     207 * Support TIFF_USE_OVR config option to force external overviews
     208 * Add special ability to for xml:ESRI metadata into PAM
     209 * Try to detect build-time vs runtime libtiff version mismatch (*nix only)
     210 * Added logic to expand verticalcs using importFromEPSG() when possible
     211 * Create internal masks with deflate compression if available
     212 * Fix jpeg quality propagation (particularly remove warning when using a deflate compressed internal mask band with jpeg compressed main IFD)
     213 * Add support for JPEG_QUALITY_OVERVIEW configuration option for internal overviews when adding them after dataset reopening
     214 * auto-promote mask band to full 8 bits by default (unless GDAL_TIFF_INTERNAL_MASK_TO_8BIT is set TO FALSE).
     215 * add LZMA compression optionnal support (requires latest libtiff4 CVS HEAD)
     216 * Supporting writing compound coordinate systems.
     217
     218GTX driver:
     219 * New for GDAL/OGR 1.8.0
     220 * Read NOAA .gtx vertical datum shift files.
     221
     222GXF driver:
     223 * Cast nodata value to float to be consistant with precision of pixel data in GDT_Float32 case
     224 * Introduce a GXF_DATATYPE configuration option that can be set to Float64
     225 * Use GDALGetScanline() instead of GDALGetRawScanline() so that #SENS is applied to normally return things in conventional orientation as is assumed by the geotransform.  (#3816).
     226
     227HDF4 driver:
     228 * Prevent reading unexisting subdatasets
     229 * Allow reading 1D subdatasets, in particular for GEOLOC bands
     230 * Workaround strange test that swaps xsize, ysize and nbands for the particular case of the dataset of ticket #3316
     231 * Speed up access to HDF4_SDS datasets; allow multi-line block dimension for HDF4_EOS datasets (#2208)
     232 * HDF4_EOS_GRID : detect tile dimensions and use them as block size; increase HDF4_BLOCK_PIXELS default value to 1,000,000 (#3386)
     233 * Support reading of L1G MTL metadata (#3532)
     234 * Read as HDF if HDFEOS returned 0 datasets
     235 * Improve fetching the geolocation data in case of one-to-one mapping and absence of dimension maps (#2079)
     236 * Properly set the GCP projection for MODIS Aerosol L2 Product.
     237 * Fetch scale/offset, unit type and descriptions for some HDF-EOS datasets.
     238
     239HDF5 driver:
     240 * Avoid setting bogus projection if we don't get georeferencing from CreateProjections().  Avoid trying to operate if DeltaLat/Lon is zero.  Avoid crashing on NULL poH5Object->pszPath in CreateMetadata().  (#3534)
     241 * Ensure backslashes are preserved in paths for UNC on win32 (#3851)
     242
     243HF2 driver:
     244 * New for GDAL/OGR 1.8.0
     245 * Read and write HF2/HFZ heightfield raster
     246
     247HFA driver:
     248 * Ensure that an .aux file created for overviews has AUX=YES set so a base raster will not be created.
     249 * Various robustness improvements (#3428)
     250 * Support pulling overviews from an .rrd file even if the .aux does not reference it (#3463)
     251 * avoid using empty names for layer, if we have one generate a fake name, use for overviews (#3570)
     252 * Add support for New Zealand Map Grid to HFA driver (#3613)
     253 * Support EPT_s8 in BASEDATA (#3819)
     254 * Substantial improvements for Rename/CopyFiles (#3897)
     255
     256Idrisi driver:
     257 * Allow color items greater than maximum value (#3605)
     258
     259JPEGLS driver:
     260 * New for GDAL/OGR 1.8.0
     261 * JPEG-LOSSLESS driver based on CharLS library
     262
     263JP2KAK driver:
     264 * Allow quality as low as 0.01
     265 * Major restructuring, all reading now goes through DirectRasterIO (#3295)
     266 * Introduce YCC optimization
     267 * Ensure we fetch <= 8 bit images with their true precision (#3540)
     268
     269JP2OpenJPEG:
     270 * New for GDAL/OGR 1.8.0
     271 * JPEG2 driver based on OpenJPEG library
     272
     273JPIPKAK driver:
     274 * New for GDAL/OGR 1.8.0
     275 * JPIP driver based on Kakadu library
     276
     277KMLSUPEROVERLAY driver :
     278 * New for GDAL/OGR 1.8.0
     279 * Added new plug-in GDAL Super-Overlay Driver. The driver allows converts raster (like TIF/GeoTIFF, JPEG2000, JPEG, PNG) into a directory structure of small tiles and KML files which can be displayed in Google Earth.
     280
     281LOS/LAS driver:
     282 * New for GDAL/OGR 1.8.0
     283 * Read NADCON .los/.las Datum Grid Shift files
     284
     285MG4Lidar driver
     286 * New for GDAL/OGR 1.8.0
     287 * Read MG4 Lidar point cloud data and expose it as a Raster. It depends on the current, freely-available-though-not-open-source MG4 Lidar SDK v1.1
     288
     289MrSID:
     290 * Updated to support MrSID SDK v8.0.0 (compat with older versions maintained) (#3889)
     291 * Updated to support writing MG4/Raster (#3889)
     292 * Support reading projection from .met files accompanying NASA LandSat SID files
     293
     294NetCDF driver:
     295 * Improve coordinate system support (#3425)
     296 * Add support for multiple standard_parallel tags to support LCC single standard parallel (#3324)
     297 * Add CF-1 spheroid tag support for netcdf driver
     298 * Add support for weather/climate files with pixel size in km
     299 * Attempt to fix flip image (#3575)
     300 * Add support for Scale and Offset (#3797)
     301
     302NITF driver:
     303 * Ensure that igeolo corners are not messed up if irregular, keep center/edge of pixel location info (#3347)
     304 * Add capture of select RPF attribute metadata (#3413)
     305 * Carry raw IGEOLO and ICORDS through as metadata (#3419)
     306 * Added NITFPossibleIGEOLOReorientation() in an attempt to deal with files written with the IGEOLO corners out of order.
     307 * Implement readonly support for RSets (#3457)
     308 * Add capability of writing CGM segment as creation option (or from the source CGM metatada domain if no CGM= creation option); for consistency, also add the capability of writing TEXT segment as creation option, in addition to the existing capability of writing it from the source TEXT metadata domain (#3376)
     309 * Fix read out of buffer for NBPP < 8 and very small block size; fix decoding of NBPP=4 (#3517)
     310 * Add FILE_TRE creation option to write TRE content in XHD field of file header
     311 * Add SDE_TRE creation option to write GEOLOB and GEOPSB TREs. This is limited to geographic SRS, and to CreateCopy() for now
     312 * Allow using NITF header located in STREAMING_FILE_HEADER DE segment when header at beginning of file is incomplete
     313 * Improve NITF to NITF translation
     314 * Fetch TREs from DE segment
     315 * Support reading CSSHPA DES & extracting embedded shapefile
     316 * Support writing image comments (ICOM)
     317 * Add description for NITF file & image header fields in creation options XML
     318 * Accept A.TOC files with frame entries that have same (row,col) coordinates
     319 * Avoid erroring out when file or image user TRE size is just 3
     320 * Load subframe mask table if present (typically, for CADRG/CIB images with IC=C4/M4) (#3848)
     321 * A few hacks to accept some (recoverable) file inconsistencies (#3848)
     322
     323NTv2 driver:
     324 * New for GDAL/OGR 1.8.0
     325 * Read&write NTv2 Datum Grid Shift files
     326
     327OZI driver:
     328 * New for GDAL/OGR 1.8.0
     329 * Read OZI OZF2/OZFX3 files
     330
     331PAUX driver:
     332 * Add support for INTERLEAVE option
     333
     334PCIDSK2 driver:
     335 * PCIDSK SDK refreshed from upstream
     336 * Remove svn:external for pcidsk sdk; Copy it directly in GDAL tree
     337 * Support for reading and writing descriptions added to the PCIDSK SDK.
     338 * Add bitmap support
     339 * Support for reading/writing complex PCIDSK files through libpcidsk
     340 * Support worldfile if lacking internal georef (#3544)
     341 * Fix locking state at CPLThreadMutex creation (#3755)
     342 * Improved projection support.
     343
     344PDF driver:
     345 * New for GDAL/OGR 1.8.0
     346 * Read Geospatial PDF (through poppler library), either encoded according to OGC Best practice or Adobe ISO32000 extensions.
     347
     348PDS driver:
     349 * Support quoted SAMPLE_TYPE. Check for UNSIGNED in SAMPLE_TYPE for UInt16.
     350 * Support files where scanlines are broken over several records.
     351 * Support newline continuation
     352 * Recognize ENCODING_TYPE = "N/A" (N/A surrounded by double-quotes)
     353 * Take into account MINIMUM, MAXIMUM, MEAN and STANDARD_DEVIATION when available to set the statistics
     354
     355PNG driver:
     356 * Update internal libpng to 1.2.44
     357 * Internal libpng : Make screwy MSPaint "zero chunks" only a warning, not error (#3416).
     358 * Added ZLEVEL creation option
     359
     360PostGIS Raster (formerly WKTRaster driver):
     361 * Improved block reading and raster settings reading in WKT Raster driver
     362 * Functions SetRasterProperties and GetGeoTransform modified to allow both referenced and not referenced rasters
     363 * Connection string parsing simplified. Schema, table name and where clause can be passed with or without quotes
     364 * New parameter "mode"
     365
     366RASDAMAN driver:
     367 * New for GDAL/OGR 1.8.0
     368 * Read rasters in rasdaman databases
     369
     370RMF driver:
     371 * Significant improvements. Implemented decompression scheme typically used in DEM data.
     372
     373SRP driver:
     374 * Relax strict equality test for TSI size for unusual products (#3862)
     375
     376TerraSAR driver:
     377 * Enhancements related to GCPs handling (#3564).
     378
     379USGSDEM driver:
     380 * Support non-standard DEM file (#3513)
     381
     382VRT driver:
     383 * Preliminary Overview support on VRT bands (#3457)
     384 * Support for mask band : VRT may expose a mask band, and mask bands can be used as VRTRasterBand sources
     385 * Port to VSIF*L API; advertize GDAL_DCAP_VIRTUALIO=YES
     386 * Make format identification less strict (#3793)
     387 * Support for LocationInfo metadata item on bands
     388
     389WCS driver:
     390 * Decode base64 encoded multipart data
     391
     392WMS driver:
     393 * Adds a <UserAgent> optional parameter so that the user be able to provide its own useragent string for picky WMS servers (#3464)
     394 * Default color interpretation for wms driver (#3420)
     395 * Add UnsafeSSL setting (#3882)
     396
     397XYZ driver:
     398 * New for GDAL/OGR 1.8.0
     399 * Read ASCII XYZ gridded datasets
     400
     401== OGR 1.8.0 - Overview of Changes ==
     402
     403Core:
     404 * RFC 28 : OGR SQL Generalized Expressions
     405 * RFC 29 : Support for ignoring fields in OGR
     406 * Add OGRLayer::GetName() and OGRLayer::GetGeomType() virtual methods, and their C and SWIG mappings (#3719)
     407 * On Unix, add capability of opening the target of a symlink through OGROpen() even if it not a real filename. Usefull for opening ressources expressed as GDAL virtual filenames in software offering only file explorers (#3902)
     408 * Expat based XML readers : add support for reading files with Windows-1252 encoding
     409 * Use transactions in CopyLayer for better speed. (#3335)
     410 * OGRGeometry::importFromWkt() : allow importing SF-SQL 1.2 style WKT while preserving compatibility with previously recognized non conformant WKT (#3431)
     411 * Add C functions : OGR_G_ForceToPolygon(), OGR_G_ForceToMultiPolygon(), OGR_G_ForceToMultiPoint() and OGR_G_ForceToMultiLineString()
     412 * Add C functions : OGR_G_Length(), OGR_G_Simplify(), OGR_G_Area(), OGR_G_Boundary(), OGR_G_SymDifference() and OGR_G_UnionCascaded()
     413 * Add C function: OGR_F_StealGeometry()
     414 * Move Centroid() method from OGRPolygon to OGRGeometry base class to be able to operate on various geometry types, and to be consistant with PostGIS ST_Centroid() capabilities and the underlying GEOS method
     415 * Make the GetStyleTable() SetStyleTable() SetStyleTableDirectly() methods on datasources and layers virtual (#2978)
     416 * Add OGRSFDriverRegistrar::DeregisterDriver() and OGRDeregisterDriver()
     417 * Improve detection of rounding errors when outputing coordinates as text with OGRMakeWktCoordinate()
     418 * OGR SQL: allow comparing datetime columns in WHERE clause
     419 * OGR indexing: re-use .ind file in read-write mode when calling CreateIndex() but the index was opened as read-only (follow up of #1620); ensure that the .ind file is closed before being unlink()'ed
     420 * AssemblePolygon: ensure largest area ring is used as exterior ring (#3610)
     421 * OGRGeometryFactory::createFromGEOS() : preserve coordinate dimension (with GEOS >= 3.3) (#3625)
     422 * Allow calling transformWithOptions() with a NULL poCT
     423 * Improve wrapdateline, especially on LINESTRING
     424 * Fix getEnvelope() for OGRPolygon and OGRGeometryCollection to avoid taking into empty sub-geometries; Fix OGRLayer::GetExtent() to avoid taking into account empty geometries
     425 * Support attribute index scan with the sql 'IN' operator (#3686)
     426 * Add attribute index support for the sql queries in mapinfo tab format (#3687)
     427 * OGRGometry: add a swapXY() virtual method
     428 * Implement special field support for IsFieldSet
     429 * OGRLineString::transform() : allow partial reprojection if OGR_ENABLE_PARTIAL_REPROJECTION configuration option is set to YES (#3758)
     430 * Add OGR_G_ExportToGMLEx() that can take options to enable writing GML3 geometries compliant with GML3 SF-0
     431 * OGRFeature::SetField() : support setting integer and real lists from a string in the format (n:value,value,value,...)
     432
     433OGRSpatialReference:
     434 * Big upgrade to EPSG 7.4.1 with improved datum logic
     435 * Use PROJ 4.8.0 thread-safe functions if available to avoid global OGR PROJ4 mutex when doing OGRProj4CT::TransformEx()
     436 * Support for defining VERT_CS and COMPD_CS from EPSG and from/to PROJ.4
     437 * Implement OGRSpatialReference:IsVertival() and OGRSpatialReference::IsSameVertCS() methods
     438 * add RSO gamma handling (proj #62)
     439 * TMSO support
     440 * Adjust handling of NAD27 to avoid towgs84 parms, use +datum when no towgs84, do not emit +ellipse if +datum used (#3737)
     441 * exportToProj4() : add +towgs84= instead of +datum= if both information are available. This behaviour can be turned off by setting OVERRIDE_PROJ_DATUM_WITH_TOWGS84=NO (#3450)
     442 * Add PROJ4_GRIDS EXTENSION as a way of preserving datum grids
     443 * ogr_srs_proj4: add a table for Prime Meridians; improve recognition of prime meridian to export them as names when possible with exportToProj4()
     444 * importFromProj4(): recognize +f= option
     445 * Correct handling of Mercator2SP from EPSG (#2744)
     446 * Make GetAxis() const
     447 * Improve axis orientation recognition for stuff like EPSG:3031
     448 * Fix Amersfoort (geotiff #22)
     449 * Panorama: Added zone number to the list of projection parameters list. Use the zone number when we need to compute Transverse Mercator projection.
     450 * Panorama: Use Pulkovo 42 coordinate system instead of WGS84 as a fallback if the CS is not specified.
     451 * ESRI: added support for Mercator in an old style file
     452 * Add Bonne, Gauss-Schreiber Transverse Mercator, Mercator (2SP), Two Point Equidistant and Krovak to the list of projections description dictionary.
     453 * SRS validation : various fixes
     454 * Exposure OSRImportFromERM() and OSRExportToERM() functions in C API.
     455 * PCI : Fix the transfer of scale for Stereographic Projection (#3840).  Add support for Oblique Stereographic (SGDO) (#3841)
     456 * Substantially upgrade PCI datum conversions using PCI datum/ellips.txt files
     457
     458Various drivers:
     459 * Improve behaviour of DXF, VFK, GPX, SHAPE, PG, LIBKML, KML, VRT, CSV, GML, BNA, GeoRSS, GEOJSON drivers when LC_NUMERIC is not the C locale
     460
     461Utilities:
     462 * ogr2ogr: copy datasources and layers style table
     463 * ogr2ogr: use OGRGeometryFactory::forceToMultiLineString() when -nlt MULTILINESTRING is specified
     464 * ogr2ogr: allow -wrapdateline if neither input or output srs is specified, but input layer srs is geographic
     465 * ogr2ogr: add -splitlistfields and -maxsubfields options to split fields of type IntegerList, RealList or StringList into as many subfields of single type as necessary.
     466 * ogr2ogr: accept None or Null as a special value of -a_srs to nullify the output SRS
     467 * ogr2ogr: ignore -overwrite options if the output datasource does not yet exist (#3825)
     468 * ogr2ogr: special case when output datasource is a existing single-file Shapefile : auto-fill the -nln argument if not specified (#2711)
     469 * ogr2ogr: add a -explodecollections option to split multi geometries into several features
     470 * ogr2ogr: add a -zfield option to set the Z coordinate of a 3D geometry from the value of a field
     471
     472AeronavFAA driver:
     473 * New for GDAL/OGR 1.8.0
     474
     475ArcObjects driver:
     476 * New for GDAL/OGR 1.8.0
     477
     478BNA driver:
     479 * Ported to use VSIF*L API
     480
     481CSV driver:
     482 * For files structured as CSV, but not ending with .CSV extension, the 'CSV:' prefix can be added before the filename to force loading by the CSV driver
     483 * Support reading airport data coming from http://www.faa.gov/airports/airport_safety/airportdata_5010
     484 * If a datasource is created with the extension .csv assume this should be the first layer .csv file instead of a directory
     485 * Skip empty lines (#3782)
     486 * Port to VSI*L API for read&write; support writing to /vsistdout/
     487
     488DGN driver:
     489 * Correct computation of abyLevelsOccuring (#3554).
     490
     491DODS driver:
     492 * Compilation fix to support libdap 3.10
     493
     494DXF driver:
     495 * Smooth polyline entity support added
     496 * Read blocks as a distinct layer instead of inlining
     497 * Assemble file at end with changes to header template - so far only inserting new layer definitions
     498 * Support for writing user defined blocks
     499 * Add limited hatch support
     500 * Add support for writing linetypes.  Support using complete dxf files as the header or trailer template.
     501 * Apply the INSERT entity id to all features inserted in its place (#3817)
     502 * various fixes
     503 * Implement Win1252/utf8 conversion for dxf text
     504 * Fix issues with text angles, text escape and multiline text
     505 * add support for \U+xxxx unicode chars in labels
     506
     507GeoJSON driver:
     508 * Add reader to parse JSON output of FeatureService following GeoServices REST
     509 * Read and write "id" member at feature object level
     510 * Various robustness fixes to avoid crashes
     511 * Fix combined spatial and attribute filtering (#3803)
     512
     513GeoRSS driver:
     514 * Ported to use VSIF*L API
     515 * Recognize <gml:MultiPoint>, <gml:MultiLineString> and <gml:MultiPolygon>
     516 * Support reading GeoRSS inside <rdf:RDF>
     517
     518GML driver:
     519 * Adding support for xlink:href. (#3630)
     520 * Add support for Polish TBD GML
     521 * Support reading <gml:Curve>, <gml:MultiCurve>, <gml:TopoCurve>, <gml:TopoSurface>, <gml:Ring>, <gml:Surface>, <gml:PolygonPatch>,
     522   <gml:pointMembers>, <gml:curveMembers>, <gml:surfaceMembers>, <gml:Triangle>, <gml:Rectangle>, <gml:Tin/gml:TriangulatedSurface>,
     523   <gml:Arc>, <gml:Circle> elements in GML3 geometries
     524 * Recognize <gml:Solid> and <gml:CompositeSurface>, <gml:OrientableSurface> elements (dealt as an approximation as multipolygons, and not as volumes)
     525 * Add support for "complex structure flattening" of attributes, and OFTStringList, OFTRealList and OFTIntegerList field types in case of multiple occurences of a GML element (such as UK Ordnance Survey Mastermap) (#3680)
     526 * Add support for CityGML generic attributes <stringAttribute>, <intAttribute> and <doubleAttribute>
     527 * Various improvements for better support of AIXM 5.1
     528 * Write and retrieve layer geometry type to/from .gfs file (#3680)
     529 * Support using the <GeometryElementPath> to retrieve the appropriate geometry in case several ones are available per feature
     530 * Use VSIF*L API for read&write
     531 * XSD reader : various improvements, in particular to support various types of schema returned by WFS DescribeFeatureType
     532 * XSD writer: change the default GeometryPropertyType to a more precise type name according to the layer geometry type
     533 * Write valid <gml:MultiGeometry> element instead of the non-conformant <gml:GeometryCollection>. For backward compatibility, recognize both syntax for the reading part (#3683)
     534 * Support reading SRS per layer when possible, and deal with urn:ogc:def:crs:EPSG::xxx geographic coordinate systems (as returned by WFS 1.1.0 for example) to restore (longitude, latitude) order (unless GML_INVERT_AXIS_ORDER_IF_LAT_LONG is set to NO) Also add a GML_CONSIDER_EPSG_AS_URN option that can be set to YES when EPSG:XXXX should be considered as urn:ogc:def:crs:EPSG::XXXX
     535 * Expose gml:id as a string field when reading <wfs:FeatureCollection>
     536 * Add dataset creation option FORMAT=GML3 to write GML3 SF-0 compliant data
     537 * Add dataset creation option SPACE_INDENTATION=YES/NO to optionnaly disable space indentation when writing GML.
     538 * Recognize GML answer of MapServer WMS GetFeatureInfo request
     539 * Fix datatype detection to fallback to Real when an integer cannot fit into a 32bit int (#3866)
     540 * GML/WFS : use SRS defined in global gml:Envelope if no SRS is set for any feature geometry
     541
     542GMT driver:
     543 * Add support for multilinestring reading (#3802)
     544
     545GPSBabel driver:
     546 * New for GDAL/OGR 1.8.0
     547 * Read/Write files supported by GPSBabel utility
     548
     549GPX driver:
     550 * Port write side of the driver to VSIF Large API
     551 * Add LINEFORMAT dataset creation option
     552 * Allow writing track points and route points with their own attributes by writing point features in track_points and route_points layers
     553
     554HTF driver:
     555 * New for GDAL/OGR 1.8.0
     556 * Read Hydrographic Transfer Format (HTF)
     557
     558Ingres driver:
     559 * Implement support for spatial reference systems (atrofast, #3159)
     560 * Added support for GEOMETRYCOLLECTION as a generic geometry type, and fleshed out the layer creation logic to support all geometry types.
     561
     562KML driver:
     563 * KML vertex output: avoid warning for coordinates just above 90 and 180 degrees due to numerical imprecisions
     564 * Port to VSI*L API for write
     565
     566LIBKML driver:
     567 * New for GDAL/OGR 1.8.0
     568 * Alternate KML driver relying on Google libkml
     569
     570MITAB driver:
     571 * Use "," for the OGR Feature Style id: parameter delimiter, not "." as per the spec.
     572 * Synchronized with mitab CVS HEAD
     573 * Fixed crash when trying to get the same mitab feature twice
     574
     575MSSQLSpatial driver:
     576 * New for GDAL/OGR 1.8.0
     577 * Read/write support for MS SQL Spatial databases
     578
     579NAS driver:
     580 * New for GDAL/OGR 1.8.0
     581 * Reads the NAS/ALKIS format used for cadastral data in Germany
     582
     583OCI driver:
     584 * Allows OS authentication (#3185)
     585 * Uppercase table_name on SQL queries #1960 - OCI: ogr2ogr with append option is not considering layer creation
     586 * Support creation of non-spatial tables (#3690)
     587 * Set MULTI_LOAD as default #3656, for new layer and update
     588
     589OGDI driver:
     590 * Add OGR_OGDI_LAUNDER_LAYER_NAMES configuration option to simplify reported layer names
     591 * Fix GetFeatureCount() when used with SetAttributeFilter()
     592
     593OpenAir driver:
     594 * New for GDAL/OGR 1.8.0
     595 * Read Special Use Airspace in OpenAir format
     596
     597PCIDSK driver:
     598 * Implement creation/update and coordinate system support
     599
     600PDS driver:
     601 * New for GDAL/OGR 1.8.0
     602 * Read NASA Planetary Data Systems TABLE objects
     603
     604PGeo driver:
     605 * Add PGEO_DRIVER_TEMPLATE option
     606
     607PGDump driver:
     608 * New for GDAL/OGR 1.8.0
     609 * To output PostgreSQL SQL dump (very similar to shp2pgsql utility)
     610
     611PostgreSQL driver:
     612 * Add support for PostgreSQL >= 9.0 new binary data format
     613 * Use canonical (HEXEWKB) form to get geometry to speed-up feature retrieval.  WKT-based retrieval can still be used if PG_USE_TEXT configuratino option is set to YES
     614 * If the PG_USE_BASE64 configuration option is set to YES, geometries will be requested as BASE64 encoded EWKB instead of canonical HEX encoded EWKB. (useful when bandwidth is the limiting factor)
     615 * Don't instanciate layer defn at layer creation. This can speed up significantly database opening when they are many tables and the user just needs to fetch one with GetLayerByName().
     616 * Implement efficient OGRLayer::GetName() and OGRLayer::GetGeomType()
     617 * Allow creating layer with eType = wkbNone
     618 * Don't require to have found a layer in readonly mode to succeed in opening the datasource.
     619 * Add TEMPORARY (ON/OFF) layer creation option to create TEMPORARY tables
     620 * CreateLayer() : don't launder schema_name if passed string is schema_name.table_name, and when testing if the layer already exists prepend or remove the schema_name to the table_name when comparing to layer names
     621 * Handle Nan and Inf values for float types in INSERT, UPDATE and COPY SQL commands. (#3667)
     622 * Retrieve the FID of a newly inserted feature (#3744)
     623 * Remove use of deprecated PostGIS functions when running against PostGIS 2.0SVN
     624
     625S57 driver:
     626 * Avoid crashing if there is a missing VRPT field in a vector record.
     627
     628SOSI driver:
     629 * New for GDAL/OGR 1.8.0
     630 * Read Norwegian SOSI-standard
     631
     632Shapefile driver:
     633 * Use VSI*L API for .prj file so it works in virtual circumstances (#3536).
     634 * CreateLayer(): Check that the layer doesn't already exist
     635 * Implement multipatch read support
     636 * Remove ESRI style spatial indexes from Shapefile on update via OGR (#2798)
     637 * Fix conflict between spatial and attribute indexes (#3722)
     638 * Create integer fields with unknown width as 10 characters instead of 11 to avoid them getting immediately considered to be real when reopening (#2151)
     639 * Make 'ogr2ogr -overwrite dst.shp src.shp -nln dst' work when dst.shp already exists
     640
     641SQLite driver:
     642 * Spatialite : use MBRIntersects operator instead of MBRWithin (#3810)
     643 * Spatialite: avoid executing some Spatialite functions several times when issuing SQL queries
     644 * Add a INIT_WITH_EPSG dataset creation option to fill the spatial_ref_sys table with content of EPSG CSV files (default to NO); several fixes to be robust to single quote characters in SRS strings
     645 * Fix to make CopyLayer() work when src layer is a SQL result layer (#3617)
     646 * Add OGR_SQLITE_SYNCHRONOUS configuration option that, when set to OFF, can speed up considerably write operations (e.g. on EXT4 filesysstems), at the expense of extra robustness w.r.t system crashes.
     647 * Spatialite: when creating a spatialiate DB, add a srs_wkt column in the spatial_ref_sys table, as introduced in libspatialite 2.4.0
     648 * Implement the DeleteLayer() interface and report the ODsCDeleteLayer capability
     649
     650SUA driver:
     651 * New for GDAL/OGR 1.8.0
     652 * Read Special Use Airspace in Tim Newport-Peace's format
     653
     654VRT driver :
     655 * Fix GetExtent() on non VGS_Direct VRT layers (#3783)
     656
     657WFS driver:
     658 * New for GDAL/OGR 1.8.0
     659 * WFS client that brings read & write (WFS-T) support for WFS 1.0.0 and 1.1.0
     660
     661== SWIG Language Bindings ==
     662
     663General :
     664 * Add Geometry.Length(), Geometry.Area(), Geometry.Simplify(), Geometry.UnionCascaded(), Geometry.SymDifference, Geometry.Boundary()
     665 * Add SpatialReference.GetUTMZone()
     666 * Add Geometry.ForceToPolygon(), Geometry.ForceToMultiPolygon(), Geometry.ForceToMultiPoint() and Geometry.ForceToMultiLineString()
     667 * Add Band.SetScale() Band.SetOffset(), and Band.SetUnitType()
     668 * Add ogr.RegisterDriver() and ogr.DeregisterDriver()
     669 * Move ogr.GeometryTypeToName() and ogr.GetFieldTypeName() from Java bindings to all bindings
     670 * Initialize return values of GetRasterStatistics() so that we know if they have been updated
     671 * Add Feature.SetFromWithMap()
     672 * Add gdal.GridCreate() (#3661)
     673 * Expose OSR GetSemiMajor(), GetSemiMinor(), GetInvFlattening() and ImportFromERM() functions
     674
     675CSharp bindings:
     676 * Use the .NET Framework 2.0 transparency rules (level 1 transparency) for the VC2010 builds (#3559)
     677 * Fix GDAL_DMD_ and GDAL_DCAP_ constants for Csharp (#3601)
     678
     679Java bindings:
     680 * Add GdalGrid.java, GDALContour.java
     681 * Add 'make test' target for Unix/Windows
     682
     683Perl bindings:
     684 * Support polygons in TransformPoints.
     685 * Test for existence of capability before comparison (avoid unnecessary warning)
     686 * Added CAPABILITIES lists to driver, datasource and layer classes; Capabilities and TestCapability methods return and use strings as documented already earlier; added FIELD_TYPES, JUSTIFY_TYPES, GEOMETRY_TYPES and BYTE_ORDER_TYPES lists into appropriate classes
     687 * "create" constructor for FeatureDefn
     688 * Add aliases Equals and Intersects as mentioned in #3492
     689 * Changes to support RFC 30
     690 * Add bindings for ReadDir, Stat, FillNodata
     691 * Simple support for PostGIS HEX EWKB (remove/add SRID)
     692 * The Schema method of FeatureDefn returns a schema, where each field hash contains also key 'Index' and the field index as the value.
     693
     694Python bindings:
     695 * Fix compilation of Python bindings with Python 3.X on 64 bit platform
     696 * Optimize Band.ReadRaster() and Dataset.ReadRaster() to avoid extra buffer copy; also add the capability to pass the result buffer such as
     697   result_buf = ' '; ReadRaster(0, 0, 1, 1, buf_obj = result_buf) (#3521)
     698 * NumPy Band.WriteArray() : use numpy object directly instead of converting to string
     699 * Band.ReadAsArray() : instantiate the numpy object before calling RasterIO() instead of creating it from a string
     700 * NumPy : add support for signed byte
     701 * Make sure that feat.SetField('field_name', double_value) goes through OGR_F_SetFieldDouble() instead of being first converted to string
     702 * Add an optional parameter can_return_null to Dataset.GetGeoTransform(); when used and set to True, None is returned when GDALGetGeoTransform() returns CE_Failure (instead of the fake (0,1,0,0,0,1)); backward compatibility preserved when the parameter isn't specified
     703 * Avoid supressing warnings and errors when exceptions are used (#3632)
     704 * Add gdalinfo.py, ogrinfo.py and ogr2ogr.py as sample scripts, direct ports of corresponding C/C++ utilities
     705 * Allow manipulating buffer > 2 GB on 64bit builds for ReadRaster() and WriteRaster()
     706 * Map gdal.GetCacheMax(), gdal.SetCacheMax() and gdal.GetCacheUsed() to the corresponding 64bit new API
     707 * Reset error status before new GDAL/OGR call when using gdal.UseExceptions() (#3077)
     708 * Changes to support RFC 30
     709 * Fix Feature.ExportToJson() (#3870)
     710