Port:
* /vsigzip/ : Avoid reading beyond file size in case of uncompressed/stored files in zip (3908)
* /vsicurl/ : Better support for escaped and UTF-8 characters
* /vsicurl/ : speed-up with a per-thread Curl connection cache
* /vsicurl/ : read https directory listing
* /vsicurl/ : look for GDAL_DISABLE_READDIR_ON_OPEN configuration option in
Open() and Stat() to avoid trying fetching the directory file list
* /vsicurl/ : fix performance problem when parsing large directory listings (4164)
* /vsicurl/ : recognize listing of Apache 1.3
* /vsicurl/ : fix ReadDir() after reading a file on the same server
* /vsicurl/ : fetch more info (size, date) when listing FTP or HTTP directories and save it in cache; use those info for ReadDir() and Stat()
* /vsicurl/: accept 225 as a valid response code for FTP downloads (4365)
* /vsicurl/ : add CPL_VSIL_CURL_ALLOWED_EXTENSIONS configuration option that can be used to restrict files whose existence is going to be tested.
* /vsitar/ : Recognize additional .tar files with slightly header differences
* /vsizip/ : wrap the returned file handle in a BufferedReader
* /vsizip/ : fix 1900 year offset for year returned by VSIStatL()
* /vsizip and /vsitar: remove leading './' pattern at the beginning of filenames contained in the archive
* /vsistdout_redirect/ : New virtual file system driver that has the same
behavior as /vsistdout/ (write-only FS) except it can redirect the output to
any VSIVirtualFile instead of only stdout (useful for debugging purposes)
* Implement VSI*L read caching - useful for crappy io environments like Amazon
* VSI*L: Add Truncate() virtual method and implement it for unix, win32 and /vsimem file systems
* VSI*L: Add ReadMultiRange() virtual method to read several ranges of data in single call; add an optimized implementation for /vsicurl/
* VSIFEofL(): make it more POSIX compliant.
* Fine tune CPLCorrespondingPaths() for different basenames when paths involved.
* VSIWin32FilesystemHandler::Open() : implement append mode. Needed by ISIS2 driver with attached label (3944)
* CPLString: add case insensitive find operator (ifind)
* RFC23: Add the iconv() based implementation of the CPLRecode() function (3950)
* Preliminary support for wchar_t with iconv recode (4135)
* Avoid calling setlocale if we are already in the C locale, or GDAL_DISABLE_CPLLOCALEC is TRUE (3979)
* CPLMiniXML: emit warnings when encountering non-conformant XML that is however accepted by the parser
* add CPLBase64Encode(); move cpl_base64.h contents to cpl_string.h
* Use CRITICAL_SECTION instead of Mutex on win32
* CPLHTTPFetch(): Add a CLOSE_PERSISTENT option to close the persistent sessions
* CPLHTTPFetch(): Add support for "NEGOTIATE" http auth mechanism
* CPLHTTPFetch(): Add a CUSTOMREQUEST option
* VSIBufferedReaderHandle: fix Eof()
* Add CPLStringList class
* Add CPLEmergencyError() - to call when services are too screwed up for normal error services to work (4175)
* CPLEscapeString(,,CPLES_URL) : don't escape dot character; fix escaping of characters whose code >= 128
Core:
* Provide for ABI specific plugin subdirectories on all platforms
* Force cleanup of datasets when destroying the dataset manager
* Add a GDALDataset::CloseDependentDatasets() that can be used by GDALDriverManager::~GDALDriverManager() to safely close remaining opened datasets (3954)
* Add GDALRasterBand::ReportError() and GDALDataset::ReportError() to prepend dataset name (and band) before error message (4242)
* Fix performance problem when serializing huge color tables, metadata, CategoryNames and GCPs to VRT/PAM (3961)
* Be careful about Nan complex values getting histogram, avoid locale issues with statistics metadata
* GDALRasterBand::IRasterIO() default implementation : don't try to use full-res band if I/O failed on the appropriate overview band (for WMS errors)
* RasterIO: Return earlier when a write error occurred while flushing dirty block
* 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
* Use sibling file list to look for .aux.xml, .aux, .ovr, world files, tab files
* Add GDALFindAssociatedFile() (4008)
* PAM: Make sure GCPs loaded from a .aux.xml override any existing ones from other sources, like an .aux file
* PAM: Add cloning of CategoryNames
* PAM : PamFindMatchingHistogram() - fix floating-point comparison
* GMLJP2: Use http://www.opengis.net/gml as the schemaLocation
* GMLJP2: Support for capturing and writing page resolution in a TIFF compatible way (3847)
* GDALJP2Box::SetType() : remove byte-swapping so that SetType()/GetType() correctly round-trips. Do appropriate changes in JP2KAK and ECW drivers. (4239)
* GDALReplicateWord(): fix off-by-one error initialization (4090)
Algorithms:
* polygonize: Added GDALFPolygonize() as an alternative version of GDALPolygonize() using 32b float buffers instead of int32 ones. (4005)
* gdalwarp: take into account memory needed by DstDensity float mask (4042)
* rasterfill: create working file as a bigtiff if at all needed (4088)
* gdalrasterize: use double instead of float to avoid precision issues (4292)
Utilities:
* gdalsrsinfo: new supported utility to report SRS in various form (supersedes testepsg)
* gdalinfo: add '-nofl' option to only display the first file of the file list
* gdalinfo: add '-sd num' option to report subdataset with the specified number.
* gdalinfo: add '-proj4' option to gdalinfo, to report a PROJ.4 string for the CRS
* gdal_translate: propagate INTERLEAVE metadata to intermediate VRT dataset
* gdal_translate: force quiet mode when writing to /vsistdout/
* gdalwarp: Disable CENTER_LONG rewrapping for cutline (3932)
* gdalwarp: add -refine_gcps option to discard outliers GCPs before warping (4143)
* gdalwarp: add warning if user specifies several of -order, -tps, -rpc or -geoloc options
* gdalwarp: speed-up when using -tps with large number of GCPs
* gdalwarp: add support for optional use of libarmadillo to speed-up matrix inversion in -tps mode
* gdalwarp: detect situations where the user will override the source file
* gdallocationinfo: do not let one off-db pixel cause all the rest to be suppressed (4181)
* 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)
* gdal_rasterize: when source datasource has a single layer, use it implicitly if none of -l or -sql is specified
* nearblack: add -color option (4085)
* nearblack: improve detection of collar
* nearblack: remove useless restrictions on number of bands for -setmask and -setalpha options (4124)
* gcps2vec.py: Fix command line parsing; Add SRS definition to created vector layer; Use Point geometry when dumping pixel/line coordinates.
* gdal_merge.py: add support for -separate with multiband inputs (4059)
* gdal_merge.py: add a -a_nodata option (3981)
* gdal_proximity.py: -co option existed, but was unused...
* gdal_fillnodata.py: add -co option
* Add gdal_ls.py and gdal_cp.py as Python samples
* Add new sample utility, gdal_edit.py, to edit in place various information of an existing GDAL dataset (projection, geotransform, nodata, metadata) (4220)
* gdalcopyproj.py: make it copy GCPs too
* Add warning if a target filename extension isn't consistent with the output driver
* Add --pause for convenient debugging, document it and --locale
Multi-driver topics:
* 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)
* 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
* Port DOQ1, DOQ2, ELAS, Idrisi, L1B, NDF, NWT_GRD, NWT_GRC, USGSDEM to VSI virtual file API
* PAM-enable BT and BLX drivers
* Implement Identify() for AAIGrid, ACE2, DTED, NWT_GRD, NWT_GRC, WMS, WCS, JDEM and BSB drivers
* Make GIF, JPEG and PNG drivers return a non NULL dataset when writing to /vsistdout/
* HFA and GTiff: add explicit error message when trying to add external overviews when there are already internal overviews (4044)
* 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
AAIGrid:
* Make opening from /vsicurl/ work even when the server returns an empty file list
ACE2 driver:
* New for GDAL/OGR 1.9.0
* Read ACE2 DEM
AIG driver:
* Support uncompressed integer files, new in ArcGIS 10 it seems (4035)
* Use color table from PAM if no native one (4021)
* Fallback to PAM mechanism for RAT (4021)
BSB driver:
* Parse the GD keyword in BSB_KNP to recognize European 1950 datum (4247)
* fix compilation issues with -DBSB_CREATE
CEOS2 driver:
* avoid potential crash reading past end of string. (4065)
CTG driver:
* New for GDAL/OGR 1.9.0
* Read USGS LULC Composite Theme Grid files
DIMAP driver:
* Add support for DIMAP2
* Check underlying raster for SRS. There are cases where HORIZONTAL_CS_CODE is empty and the underlying raster is georeferenced
E00GRID driver:
* New for GDAL/OGR 1.9.0
* Read Arc/Info Export E00 GRID
ECRGTOC driver:
* New for GDAL/OGR 1.9.0
* Read TOC.xml file of ECRG products
ECW driver:
* Use a long refresh time for ecwp:// connections to ensure we get full resolution data, make configurable
* Re-enable writing non8bit data in jpeg2000
* Add implementation of an Async reader (4.x SDK)
* Improve to support all /vsi stuff (2344)
* Ensure ECW_ENCODE_ values are applied for direct Create as well as CreateCopy
* force adfGeoTransform[5] sign to negative. (393)
* Mark GDAL_DCAP_VIRTUALIO=YES when the driver is configured in read-only mode
* Ensure we fallback to native geotransform if no pam override
* Try to read projection info embedded in ECW file before reading the worldfile (4046)
* Add support for updating geotransform and projection info of a ECW file (4220)
* Fix ECW_CACHE_MAXMEM that was without effect and ECW_AUTOGEN_J2I that set an unrelated ECW parameter (4308)
* Allow to open a ECW file with invalid EPSG code from SWIG bindings (4187)
EHdr driver:
* Improve floating point detection (3933)
* Recognize MIN_VALUE and MAX_VALUE as found in ETOPO1 header
* Try opening the .sch file for GTOPO30 or SRTM30 source file
* Ignore bogus .stx file where min == nodata
EIR driver:
* Add support for DATA_TYPE keyword
ENVI driver:
* Add support for ESRI style coordinate system string (3312)
* Try to guess interleave mode from file extension, if interleave keyword is missing
* Refuse to open unsupported types, but attempt to open everything else.
ENVISAT driver:
* Correct dfGCPLine values for stripline products (3160, 3709)
* Fix checking of tie points per column for MERIS GCPs (4086)
* Report metadata from the ASAR ADS and GADS in the RECORDS metadata domain (4105)
* Read MERIS metadata (4105)
* Read data from ERS products in ENVISAT format (4105)
* Improved MERIS Level 2 bands detection (4141 and 4142)
EPSILON driver:
* Now require libepsilon 0.9.1 to build (now dual LGPL/GPL) (4084)
ERS driver:
* Use case insensitive find so case does not matter (3974)
* Handle case of 1 m pixel resolution when CellInfo is missing (4067)
* Implement ERSRasterBand::SetNoDataValue() (4207)
* Add support for DATUM, PROJ and UNITS creation option; report the values read from the .ers file in the ERS metadata domain (4229)
GeoRaster driver:
* Set nodata causes invalid XML metadata (3893)
* Fix SetStatistics() failure (4072)
* Fix default interleaving (4071)
* modelCoordinateLocation=CENTER default (3266)
* Cache block/level error in update (4089)
* Fix sequence.nextval not supported (Oracle 10g) (4132)
* change BLOCKING option to OPTIMALPADDING
* fix 'cannot specify columns on insert create option' (4206)
* Fix ULTCoordinate Rows/Columns swapping (3718)
* Fix loading of small images, FlushCache issue (4363)
GIF driver:
* Make CreateCopy() more friendly with writing in /vsistdout/
GRIB driver:
* Fix grid vs cell-center convention (2637)
* use /vsi for all jpeg2000 files now
* Fix to allow GFS data to show up properly (2550)
* Added a ConfigOption in GRIB driver to not normalize units to metric when reading the data
* Fixed grib1 & grib2 : pixel size precision introduces error for corner coordinates (4287)
GTA driver:
* New for GDAL/OGR 1.9.0
* Read/write support for Generic Tagged Arrays
GTiff driver:
* 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)
* Add support for a special tag to keep track of properly written linear units (3901)
* Implement deferred directory chain scanning to accelerate simple opens
* Make GTiff COPY_SRC_OVERVIEWS to deal with unusual source overview sizes (3905)
* Fix bug when using -co COPY_SRC_OVERVIEWS=YES on a multiband source with external overviews (3938)
* Add logic to fill out partial tiles on write in for jpeg images (4096)
* Updated to libtiff 4.0.0 final
* Refresh with libgeotiff 1.4.0, to support for GeogTOWGS84GeoKey
* Add support for Geocentric SRS
* libtiff: Enable DEFER_STRILE_LOAD
* Turn warning 'ASCII value for tag xx into more silent CPLDebug message
* Overviews: Improve error reporting for >16bit images to JPEG compression
* Use CPLAtof() for geotiff and epsg .csv file handling (3886, 3979)
* 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.
* Give PAM information precedence 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).
* Migrate in some ESRI only logic for 1bit color tables, AdjustLinearUnits and default for 1bit data
* Add a GTIFF_IGNORE_READ_ERRORS configuration option (3994)
* Lazy loading of RPC/RPB/IMD files (3996)
* Add mutex protection in GTiffOneTimeInit() to avoid occasional segfaults
* Stop interpreting 4th band as alpha when not defined
* Also list nSubType == FILETYPE_PAGE as subdatasets
* CreateCopy(): copies category names from the source bands
* Add capability of writing TIFFTAG_MINSAMPLEVALUE and TIFFTAG_MAXSAMPLEVALUE
* Don't prevent from loading GTiff driver even if libtiff version mismatch detected (4101)
* Use GTIFF_ESRI_CITATION flag to disable writing special meaning ESRI citations
* Optimize GTiffRGBABand implementation (3476)
* Add GTIFF_DIRECT_IO config. option that can be set to YES so that IRasterIO() reads directly bytes from the file using ReadMultiRange().
* Use VSI_TIFFOpen() in GTIFFBuildOverviews() to make it work on virtual file systems
* Treat _UNASSALPHA as alpha
GRASSASCIIGrid driver:
* New for GDAL/OGR 1.9.0
* Read GRASS ASCII grids (similar to ArcInfo ASCII grids)
GRIB driver:
* Check for memory allocation failures
HDF4 driver:
* Use larger object name buffer
* Handle SWopen failures
HDF5 driver:
* Fix HDF5/BAG handle/memory leaks (3953)
* Better error checking
* Do not return NULL from getprojectionref() (4076)
* Identify datasets whose header starts with some XML content (4196)
* Fixed HDF5 variable length string attributes reading (4228)
HFA driver:
* Add support for writing RATs (999)
* Add support for reading 2bit compressed .img files (3956)
* Update EPRJ_ list based on input from Erdas, round trip Krovak and Mercator Variant A (3958)
* Major push to move projections from 1.6-esri into trunk in HFA driver (3958)
* Reinitialize RRDNamesList and ExternalRasterDMS (3897)
* Ensure the whole entry is reinitialized when writing proparams and datum (3969)
* Ensure PEString cleared if we aren't writing it (3969)
* 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.
* atof() changed to CPLAtofM() to avoid locale issues.
* Altered Edsc_BinFunction column "Value" to "BinValues" and changed type.
* Equirectangular StdParallel1 changed to LatitudeOfOrigin.
* Logic to preserve psMapInfo->proName as the PROJCS name for UTM/StatePlane.
* Special state plane zone handling.
* Special wisconsin handling for some LCC and TM SRSes.
* 1-bit null blocks to default to 1 in ESRI_BUILDs
* Add support for GDA94 (4025)
Idrisi driver:
* Fix segfaults when fields are missing in .ref or .rdc files (4100)
* Fix problem with inverse flattening when reading a SRS of a sphere (3757)
INGR driver:
* Set NBITS for 1 bit bands
ISIS2/ISIS3 driver:
* Various improvements to PDS related drivers (3944)
JaxaPalsar driver:
* Fixed datatype of ALOS PALSAR products Level 1.5 (4136)
* Fixed detection of unsupported PALSAR Level 1.0 products (2234)
JPIPKAK driver:
* Add try to in GetNextUpdatedRegion() to protect against kakadu exceptions (3967)
* Fixed a serious bug in the computation of fsiz and region. (3967)
KMLSUPEROVERLAY driver :
* 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)
LAN driver:
* Preliminary support for writing gis/lan files
MEM driver:
* Add support for remembered histograms and PIXELTYPE
MG4Lidar driver:
* Clamp nOverviewCount, some LiDAR files end up with -1 overviews
MrSID driver:
* Initialize overview manager to enable RFC 15 mask band support (3968)
* Mark GDAL_DCAP_VIRTUALIO=YES when the driver is configured in read-only mode
* Handle LTI_COLORSPACE_RGBA
NetCDF driver:
* Set cylindrical equal area representation to the proper cf-1.x notation (3425)
* Fix precision issue in geotransform (4200) and metadata
* Add support for netcdf filetypes nc2(64-bit) and nc4 to netCDFDataset (3890, 2379)
* Add function Identify and IdentifyFileType() (3890, 2379)
* Temporarily disabling PAM for netcdf driver (4244)
* Make creation of geographic grid CF compliant (2129)
* Fixes for netcdf metadata export: duplication, Band metadata, int/float/double vs. char* and add_offset/scale_factor (4211, 4204), double precision ( 4200)
* Fix netcdf metadata import (float and double precision) (4211)
* Improve import of CF projection
* Add netcdf history metadata (4297)
* CF-1.5 compatible export of projected grids (optional long/lat export)
* Fix LCC-1SP import and export (3324)
* Fix handling of UNITS import and export (4402 and 3324)
* Fix upside-down export and import of grids without projection and geotransform (2129, 4284)
* Support import of polar stereographic variant without standard parallel (2893)
* New driver options
* Add simple progress indicator
* Add support for netcdf-4, HDF4 and HDF5 (4294 and 3166)
* Add support for deflate compression
* Add format support information and CreateOptionList to driver metadata
* Add support for valid_range/valid_min/valid_max
* Proper handling of signed/unsigned byte data
* Add support for Create() function and significantly refactor code for export (4221)
* Improvements to CF projection support (see wiki:NetCDF_ProjectionTestingStatus)
NGSGEOID driver:
* New for GDAL/OGR 1.9.0
* Read NOAA NGS Geoid Height Grids
NITF driver:
* Add a generic way of decoding TREs from a XML description file located in data/nitf_spec.xml
* Add a new metadata domain xml:TRE to report as XML content the decoded TREs
* Add NITF_OPEN_UNDERLYING_DS configuration option that can be set to FALSE to avoid opening the underlying image with the J2K/JPEG drivers
* Support JP2KAK driver for jpeg2000 output, use /vsisubfile/ in all cases
* NITFCreate(): deal with cases where image_height = block_height > 8192 or image_width = block_width > 8192 (3922)
* Add IREPBAND and ISUBCAT creation option (4343)
* Make sure scanline access is used only on single block image (3926)
* 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)
* Correctly assign hemisphere for a ICORDS='U' NITF file with accompanying .nfw and .hdr files (3931)
* Make PAM available at band level for JPEG/JPEG2000 compressed datasets (3985)
* Read IMRFCA TRE for RPC info. Read CSEXRA TRE.
* Read CSDIDA and PIAIMC TREs as metadata
* Optional support for densifying GCPs and applying RPCs to them
* Add GetFileList() that captures associated files with some NITF products.
* Added ESRI only ExtractEsriMD() function. Add raw header capture in NITF_METADATA domain in base64 encoded form.
* Fetch NITF_DESDATA in segment data; decode specialized fields of XML_DATA_CONTENT and CSATTA DES
* Truncate TRE name to 6 character (4324)
* Take into account the presence of comments when patching COMRAT for JPEG/JPEG2000 NITF (4371)
NWT_GRD driver:
* Fix interpolation of color when the maximum z value is below a threshold of the color scheme (4395)
OPENJPEG driver:
* Optimize decoding of big images made of a single block
* Fallback to PAM to get projection and geotransform
PCIDSK driver:
* Refresh PCIDSK SDK from upstream
* Fix support for band description setting, add BANDDESCn creation option
* Implement GetCategoryNames(), and color table from metadata for PCIDSK
* Fix exception on files with bitmaps as bands in GetFileList()
* Avoid closing and reopening file so we don't fracture the SysBMData with a metadata write
* In read-only, if .pix is raster (resp. vector) only, then make sure that OGR (resp. GDAL) cannot open it
PDF driver:
* Support linking against podofo library (LGPL) instead of poppler --> however
pdftoppm binary from poppler distribution is needed for rasterization
PDS driver:
* Add support for MISSING and MISSING_CONSTANT keywords for nodata values (3939)
* Add support for uncompressed images in the UNCOMPRESSED_FILE subdomain (3943)
* Add support for PDS_Sample/LineProjectOffset_Shift/Mult (3940)
* Preliminary qube write support (3944)
* Fix band offset computation in BSQ (4368)
PNG driver:
* Add compatibility with libpng >= 1.5.0 (3914)
* Upgrade internal libpng to 1.2.46
PNM driver:
* Make it compatible with VSI virtual files
PostgisRaster driver:
* Speed of PostGIS Raster driver improved. (3228, 3233)
Rasterlite driver:
* Robustness against buggy databases
* Enable QUALITY creation option for WEBP tiles
RS2 driver:
* Setup to properly support subdataset oriented metadata and overviews (4006)
* Allow opening subdatasets by passing in the folder (4387)
SAGA driver:
* Fix reading & writing .sdat files bigger than 2GB (4104)
* Use nodata value from source dataset in CreateCopy() (4152)
SDE driver:
* Break assumption that LONG==long (4051)
SNODAS driver:
* New for GDAL/OGR 1.9.0
* Read Snow Data Assimilation System datasets
SRP driver:
* Set Azimuthal Equidistant projection/geotransform info for ASRP north/south polar zones (3946)
* ASRP/USRP: fix skipping of padding characters on some datasets (4254)
SRTMHGT driver:
* Fix segfault in CreateCopy() if we cannot create the output file
Terralib driver:
* Removed driver: was unfinished and is unmaintained (3288)
TIL driver:
* Implement GetFileList() (4008)
TSX driver:
* Add support for selecting a directory
* Make Terrasar-X driver also open TanDEM-X data (4390)
* Fix memleaks
USGSDEM driver:
* Ensure blocks read in C locale (3886)
VRT driver:
* Implement VRTDataset::IRasterIO() that can delegate to source Dataset::RasterIO() in particular cases
* Implement GetMinimum() and GetMaximum()
* GetFileList(): for /vsicurl/ resources, don't actually test their existence as it can be excruciating slow
* VRTComplexSource: correctly deal with complex data type (3977)
* Fix 2 segfaults related to using '<VRTDataset', but with invalid XML, as the target filename of VRTDataset::Create()
* Fix 'VRTDerivedRasterBand with ComplexSource and nodata value yields potentially uninitialized buffer' (4045)
* VRTDerivedRasterBand: Recognize PixelFunctionType and SourceTransferType options in AddBand() for (3925)
* Copy GEOLOCATION metadata in CreateCopy().
* VRTDerivedRasterBand: register pixel functions in a map for faster access (3924)
* VRT warped dataset: limit block size to dataset dimensions (4137)
WCS driver:
* Add time support (3449)
* Honour dimensionLimit restrictions on WCS request size.
* Fetch projection from returned image file chunks if they have them (i.e. GeoTIFF).
* Honour Resample option for WCS 1.0.
* Include service url in GetFileList if ESRI_BUILD defined
* Check validity of 'OverviewCount' parameter
* Add support for getting the coverage offering details from the xml:CoverageOffering domain
* Try to preserve the servers name for a CRS (WCS 1.0.0) (3449).
WebP driver:
* New for GDAL/OGR 1.9.0
* Read/write GDAL driver for WebP image format
WMS driver:
* Implementation of the OnEarth Tiled WMS minidriver (3493)
* Implementation of a VirtualEarth minidriver
* Improve handling of .aux.xml files, ensure colorinterp support works for tiled wms server
* 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
* 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
* Parse WMS-C TileSet info in VendorSpecificCapabilities of GetCapabilities
* Implement CreateCopy() when source is a WMS dataset to serialize to disk the definition of a WMS dataset
* WMS dataset : report INTERLEAVE=PIXEL
* Make autodetection of TMS work with http://maps.qualitystreetmap.org/tilecache
* Add capability to set Referer http header
* Add a TMS-specific hack for some servers that require tile numbers to have exactly 3 characters (3997)
* Fix to make file:// URL to work
* Add hack for OSGEO:41001
* Fix GDALWMSRasterBand::IReadBlock() to avoid the ReadBlocks() optimization to become an anti-optimization in some use cases
* Add service=WMS parameter if not already provided in <ServerUrl> (4080)
* Add options, ZeroBlockHttpCodes and ZeroBlockOnServerException, to control which http error codes should be considered as meaning blank tile (4169)
ZMap driver:
* New for GDAL/OGR 1.9.0
* Read/write GDAL driver for ZMap Plus Grid format
OGR 1.9.0 - Overview of Changes
Core:
* RFC35: Add OGRLayer::DeleteField(), ReorderField(), ReorderFields() and AlterFieldDefn()
* Avoid OGRLineString::addPoint( OGRPoint * poPoint ) to always force the geometry to be 3D (3907)
* Add a OGREnvelope3D object and getEnvelope( OGREnvelope3D * psEnvelope ) / OGR_G_GetEnvelope3D() method
* Add OGR_G_SimplifyPreserveTopology() / OGRGeometry::SimplifyPreserveTopology()
* OGR SQL: recognize optional ESCAPE escape_char clause
* OGR SQL: allow NULL to be used as a value, so that 'SELECT *, NULL FROM foo works'
* OGR SQL: Accept doublequoting of column_name in 'SELECT DISTINCT "column_name" FROM table_name' (3966)
* OGR SQL: OGRGenSQLResultsLayer: if the dialect is explicitly 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)
* OGR SQL: Avoid error emission on requests such as 'SELECT MIN(EAS_ID), COUNT(*) FROM POLY'
* OGR SQL: Avoid setting width/precision for AVG column
* OGR SQL: Add a mechanism to delete a layer (DROP TABLE x)
* OGR SQL: fix segfault when evaluating a 'IS NULL' on a float column (4091)
* 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'
* OGR SQL: Add implicit conversion from string to numeric (4259)
* OGR SQL: Correctly parse big SQL statements (4262)
* OGR SQL: fix joining a float column with a string column (4321)
* OGR SQL: with DISTINCT, consider null values are such, and not as empty string (4353)
* OGR SQL: fix offset conversion for SUBSTR() (4348)
* Add OGR_G_GetPoints()
* Fix parsing of WKT geometries mixing 2D and 3D parts
* OGR_Dr_CopyDataSource() and OGRSFDriver::CopyDataSource() : make sure that the driver is attached to the created datasource (4350)
* OGRFeature::SetFrom() supports more conversions between field types.
OGRSpatialReference:
* Update to EPSG 7.9 database
* Add Geocentric SRS Support
* Add support for Interrupted Goode Homolosine projection (4060)
* Add SRS vertical unit support
* Add SetVertCS(), OSRSetVertCS(), SetCompound(), IsCompound() and target oriented set/get linear units functions
* ESRI : Improve spheroid remapping (3904)
* ESRI: Compare whole names in RemapNameBasedOnKeyName() (3965).
* ESRI: addition of ImportFromESRIStatePlaneWKT and ImportfromESRIWisconsinWKT methods
* ESRI: importFromESRI() : support POLYCONIC projection from old style files (3983)
* ESRI: importFromESRI() : support LAMBERT_AZIMUTHAL projection from old style files (4302)
* ESRI: fix EPSG:32161 mapping
* ESRI: fix Stereo/Oblique_Stereo/Double_Stereo (bugs 1428 and 4267)
* ESRI: fix projection parameter mapping for Orthographic projection (4249)
* ESRI: add optional fixing of TOWGS84, DATUM and GEOGCS with GDAL_FIX_ESRI_WKT config. option (4345 and 4378)
* ESRI: fix add Krassowsky/Krasovsky 1940 spheroid mapping
* Add EPSG:102113 in the data/esri_extra.wkt file
* Add Germany zone 1-5 in range 31491-31495 in the data/esri_extra.wkt file
* fix NAD_1983_Oregon_Statewide_Lambert_Feet_Intl code
* added/updated coordinates systems provided by IGNF (3868)
* ERM: add support for EPSG:n based coordinate systems (3955)
* ImportFromEPSG(): Add default support for various degree units without supporting .csv file.
* ImportFromEPSG(): Add support for spherical LAEA (3828)
* ImportFromEPSG(): use CoLatConeAxis parameter to build Krovak azimuth parameter (4223)
* importFromURN(): support compound SRS
* importFromURN(): accept 'urn:opengis:crs:' syntax found in some TOP10NL GML files
* Add CRS: support and for importing two part ESRI PE SRS with VERTCS
* SetFromUserInput() : recognize 'IGNF:xxx'
* Ensure that the result of importFromEPSGA() always has keyword ordering fixed up (4178)
* exportToERM() : deal with GDA94 datum and its UTM projections (4208)
* Fix ESRI_DATUM_NAME for D_MOLDREF99 and D_Philippine_Reference_System_1992 (4378)
Utilities:
* ogr2ogr: Make 'ogr2ogr someDirThatDoesNotExist.shp dataSourceWithMultipleLayer' create a directory
* ogr2ogr: make -overwrite/-append work with non-spatial tables created by GDAL 1.8.0;
* 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)
* 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
* ogr2ogr: add -simplify option to simplify geometries
* ogr2ogr: add a warning if the target filename has an extension or a prefix that isn't consistent with the default output format (i.e. Shapefile), but which matches another driver. Can be made quiet with -q option
* ogrinfo/ogr2ogr: exit when SetAttributeFilter() fails, instead of silently going on (4261)
Multi driver topics:
* RFC35 : implementation in Shapefile, Memory and PG drivers (2671)
* DXF, EDIGEO, KML, LIBKML, Shapefile, SDE, SOSI: Mark as supporting UTF-8
* 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)
ARCGEN driver:
* New for GDAL/OGR 1.9.0
* Read-only OGR driver for Arc/Info Generate files
CouchDB driver:
* New for GDAL/OGR 1.9.0
* Read/write OGR driver for CouchDB / GeoCouch
CSV driver:
* Add special recognition and handling for USGS GNIS (Geographic Names Information System) files
* Directly recognize the structure of the allCountries file from GeoNames.org
* Implement GetFeatureCount() to be a little bit faster
* Accept /dev/stdout as a filename for CreateDataSource()
* Fix handling of non-numeric values in numeric columns (NULL instead of 0)
* Fix handling of column names with numbers
* Recognize numeric fieldnames inside quotes
* Accept real numbers with ',' as decimal separator when ';' is the field separator (CSV export in French locale)
DXF driver:
* Add support for DXF_ENCODING config var and DWGCODEPAGE header field (4008)
* Added DXF_MERGE_BLOCK_GEOMETRIES
* Treat ATTDEFs the same as TEXT entities
* Implement hatch polyline and elliptical arc support, hatch fill, do not polygonize closed smoothed lines
* Add handling of hidden/frozen/off layers.
DWG driver:
* New for GDAL/OGR 1.9.0
* Read DWG files through the use of Open Design Alliance Teigha Libraries
EDIGEO driver:
* New for GDAL/OGR 1.9.0
* Read files of French EDIGEO exchange format
FileGDB driver:
* New for GDAL/OGR 1.9.0
* Read/write support based on FileGDB API SDK
GeoJSON driver:
* Support writing 3D lines and polygons
* Add a bbox attribute with the geometry bounding box if WRITE_BBOX layer creation option is set (2392)
* Write bbox of FeatureCollection before features when file is seekable
* Remove unsetting of FID that caused FID not at the last position of properties to be lost
* Properly deal with null field values in reading and writing
* Handle OFTIntegerList, OFTRealList and OFTStringList fields
* Recognize other arrays as OFTString field
* Fix assertion on unhandled ESRI json (4056)
* Fix segfault on feature where 'properties' member exists but isn't an object (4057)
* Better detection of OGR type for numeric JSON fields (4082)
* 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)
* Add OGR_G_ExportToJsonEx() to accept a list of options
* Add ability to detect geojson files without an extension (4314)
Geomedia driver:
* New for GDAL/OGR 1.9.0
* Read-only driver to read Geomedia .MDB databases
GeoRSS driver:
* Parse RSS documents without <channel> element
GFT driver:
* New for GDAL/OGR 1.9.0
* Read/write driver for Google Fusion Tables
GML driver:
* Major performance improvement when reading large multi-layer GML files. See usage of new GML_READ_MODE configuration option
* Support gml:xlink resolving for huge GML files through GML_SKIP_RESOLVE_ELEMS=HUGE (requires SQLite)
* Add GML_GFS_TEMPLATE config option to specify a template .gfs file that can be used for several GML files with similar structure (4380)
* 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
* Expose fid or gml_id as feature fields if autodetected. This behavior can be altered by the GML_EXPOSE_FID / GML_EXPOSE_GML_ID configuration option.
* Improve handling of .gml and .xsd produced by FME (in particular for CanVec GML)
* Be able to open .gz file directly (like OS Mastermap ones), and read/write the .gfs file next to the .gz file
* Fix segfault when encountering an invalid (or unhandled by OGR) geometry and when the axis order is lat/long (3935)
* GML3: use a new method to interpret Face objects (which requires GEOS support);
old method available if GML_FACE_HOLE_NEGATIVE config. option set to YES (3937)
* GML3: support Curve as a valid child for curveProperty inside directEdge parsing (3934)
* GML3: don't force the linestring to be 3D when inverting its orientation during parsing of directedEdge (3936)
* GML3: accept <pointProperty> element in <gml:LineString> or <gml:LineStringSegment>
* OGR_G_CreateFromGML(): accept <gml:coordinates> with coordinate tuples separated by comma and coordinate components separated by space
* Recognized schemas with <complexType> inside <element>, such as the one returned by http://deegree3-demo.deegree.org:80/deegree-utah-demo/services
* Write the Z component of bounding box for 25D geometries
* Force layer geometry type to 3D when there's only a .xsd file and we detect a hint that the bounding box is 3D
* Handle layers of type wkbNone appropriately (4154)
* 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)
* 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.
* 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)
* Fix bug in OGRAtof() that caused wrong parsing of coordinates in GML files written in scientific notation (4399)
GMT driver:
* Fix GetExtent() result that swallowed the first char of the minx bound (4260)
IDRISI driver:
* New for GDAL/OGR 1.9.0
* Read Idrisi .VCT vector files
ILI1 driver:
* Fix for missing geometry in ILI1
LIBKML driver:
* Set the OGRStylePen unit type to pixel when reading <LineStyle>
* Avoid ingesting zip files that are not valid kmz (4003)
* Do not use displayname to set the field name
* Recognize <Data> elements of <ExtendedData> in case <ExtendedData> doesn't use a <SchemaData>
* Fix mapping of the type attribute of <SimpleType> elements inside <Schema> to OGR field type (4171)
* Parse correctly kml docs containing only one placemark
* Properly set the feature style string from a placemarks style
* Improve OGRStyleLabel <-> KmlLabelStyle mapping
* Combine styles from the style table and features styles when LIBKML_RESOLVE_STYLE=YES (4231)
* Check that string values put in fields are valid UTF-8 (4300)
MDB driver:
* New for GDAL/OGR 1.9.0
* Read-only driver to read PGeo and Geomedia .MDB databases
* Relies on using the Java Jackcess library (LGPL) through JNI.
MITAB driver:
* Add support for reading google mercator from mapinfo (4115)
* Fixed problem of the null datetime values (4150)
* Fix problem with tab delimiter used in MIF files (4257)
MSSQLSpatial driver:
* Removing 'Initial Catalog' which is not supported in the ODBC SQL driver connection strings.
* Allow to specify 'Driver' in MSSQL connection strings (4393)
* Fix for the IDENTITY INSERT problem with MSSQL Spatial (3992)
* Add more verbose warnings to the geometry validator
* Fix for the schema handling problem with MSSQL Spatial (3951)
* Fix for the corrupt geometry report when using the ogr2ogr -sql option (4149)
MySQL driver:
* Recognize columns with types POINT, LINESTRING, etc. as geometry columns
NAS driver:
* Add support for treating wfs:Delete as a special Delete feature with typeName and FeatureId properties
* Handle empty files gracefully (3809)
* Preliminary support for SRS in NAS files, including 3GKn SRS
* Implement special treatment for <lage> to be zero passed and string (NAS 9)
* Add special handling of punktkennung (NAS 12)
* Add special handling for artDerFlurstuecksgrenze (4255)
* Add support for wfsext:Replace operations (PostNAS 11)
* Correct NASHandler::dataHandler() to avoid trimming non-leading white space
NTF driver:
* Create and manage height field as floating point since some DTM products have floating point elevations.
OCI driver:
* Added TRUNCATE layer creation option (4000)
* Clear errors after speculative dimension calls (4001)
* Fix multithreading related problems (4039)
* Ensure that AllocAndBindForWrite does not mess up if there are no general attributes (4063)
* Implement DeleteLayer(int) method
* Ensure extents updated by SyncToDisk(), and that new features are merged into existing extents (4079)
OGDI driver:
* Fix GetFeature() that did not like switching between layers
PG driver:
* Write geometries as EWKB by default to avoid precision loss (4138)
* Return the table columns in the order they are in the database (4194)
* 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 behavior prior to GDAL 1.8.0 (4012)
* 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
* Add FID layer creation option to specify the name of the FID column
* ogr2ogr: make sure that for a PG datasource, -nln public.XXX can also be used with -append
* Fix CreateFeatureViaInsert() to emit 'INSERT INTO xx DEFAULT VALUES'
* Fix handling of Nan with fields with non-zero width (2112)
* Use wrapper for PQexec() to use PQexecParams() instead in most cases
* Add proper escaping of table and column names
* OGR SQL: add proper column name escaping and quoting for PostgreSQL datasources
* Launder single quote character in table name
* Better reporting of error in case of failed ExecuteSQL()
* Create field of type OFTString and width > 0, as VARCHAR(width) (4202)
* Add more compat with Postgis 2.0SVN (geometry_columns- 4217, unknown SRID handling)
* Better behavior, in particular in error reporting, of ExecuteSQL() when passed with non-select statements, or with select statements that have side-effects such as AddGeometryColumn()
PGDump driver:
* fix handling of Nan with fields with non-zero width (2112)
* Add CREATE_SCHEMA and DROP_TABLE layer creation option (4033)
* Fix crash when inserting a feature with a geometry in a layer with a geom type of wkbNone;
* PG and PGDump: fix insertion of features with first field being a 0-character string in a non-spatial table and without FID in COPY mode (4040)
* Add NONE_AS_UNKNOWN, FID, EXTRACT_SCHEMA_FROM_LAYER_NAME layer creation options
* Better escaping of column and table names
* Create field of type OFTString and width > 0, as VARCHAR(width) (4202)
PGeo driver:
* Move CreateFromShapeBin() method to an upper level
* Only try to open .mdb files that have the GDB_GeomColumns string
* Decode Z coordinate for a POINTZM shape
* Aad support for decoding multipoint/multipointz geometries
* Fix setting of the layer geometry type
* Add support for zlib compressed streams
* Implement MultiPatch decoding
SDE driver:
* Add support for decoding NSTRING fields (4053)
* Add support in CreateLayer() to clean up partially registered tables that aren't full spatial layers
* Add logic to force envelope for geographic coordsys objects (4054)
* Add USE_STRING layer creation and configuration options information
* Set SE_MULTIPART_TYPE_MASK for multipolygon layers (4061).
* Change how offset and precision are set for geographic coordinate systems to more closely match SDE
SEGUKOOA driver:
* New for GDAL/OGR 1.9.0
* Read files in SEG-P1 and UKOOA P1/90 formats
SEGY driver:
* New for GDAL/OGR 1.9.0
* Read files in SEG-Y format
Shapefile driver:
* Encoding support for shapefile/dbf (882)
* Allow managing datasources with several hundreds of layers (4306)
* Lazy loading of SRS and lazy initialization of attribute index support
* Use VSI*L API to access .qix spatial index files
* Add special SQL command 'RECOMPUTE EXTENT ON layer_name' to force recomputation of the layer extent (4027)
* Faster implementation of GetFeatureCount() in some circumstances.
* Fix crash in CreateField() if there is no DBF file
* Fix add field record flushing fix (4073)
* Fix decoding of triangle fan in a multipatch made of several parts (4081)
* Refuse to open a .shp in update mode if the matching .dbf exists but cannot be opened in update mode too (4095)
* Recognize blank values for Date fields as null values (4265)
* Recognize 'NULL' as a valid value for SHPT creation option as documented
* Check that we are not trying to add too many fields.
* Support reading measure values as Z coordinate.
SQLite/Spatialite driver:
* Spatialite: major write support improvements (creation/update of Spatialite DB now limited to GDAL builds with libspatialite linking)
* Spatialite: add support for 3D geometries (4092)
* Spatialite: speed-up spatial filter on table layers by using spatial index table (4212)
* Spatialite: add support for reading Spatialite views registered in the views_geometry_columns
* Spatialite: better support for building against amalgamated or not
* Spatialite: when it exists, use srs_wkt column in spatial_ref_sys when retrieving/inserting SRS
* Spatialite: add COMPRESS_GEOM=YES layer creation option to generate Spatialite compressed geometries
* Spatialite: add support for VirtualXLS layers.
* 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
* Implement RFC35 (DeleteField, AlterFieldDefn, ReorderFields)
* Implement DeleteDataSource()
* Implement DeleteFeature()
* Implement SetFeature() by using UPDATE instead of DELETE / INSERT
* Add capability to use VSI Virtual File API when needed (if SQLite >= 3.6.0)
* Make CreateDataSource(':memory:') work
* Enforce opening update/read-only mode to allow/forbid create/delete layers, create/update features (4215)
* Launder single quote character in table name; properly escape table name if no laundering (1834)
* 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
* 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
* Map 'DECIMAL' columns to OGR real type (4346)
* Add OGR_SQLITE_CACHE configuration option for performance enhancements
* Try to reuse INSERT statement to speed up bulk loading.
SVG driver:
* New for GDAL/OGR 1.9.0
* Read only driver for Cloudmade Vector Stream files
S57 driver:
* Add support for Dutch inland ENCs (3881)
* Allow up to 65536 attributes, use GUInt16 for iAttr (3881)
* Be cautious of case where end point of a line segment has an invalid RCID
* Correct handling of update that need to existing SG2D into an existing feature without it (4332)
VRT driver:
* Do not try to read too big files
* Lazy initialization of OGRVRTLayer
* Don't set feature field when source feature field is unset
WFS driver:
* Add preliminary support for WFS 2.0.0, but for now don't request it by default.
* Increase performance of layer definition building by issuing a DescribeFeatureType request for several layers at the same time
* Better server error reporting
* Use the layer bounding box for EPSG:4326 layers (restricted to GEOSERVER for now) (4041)
* Add capability of opening a on-disk Capabilities document
* Add special (hidden) layer 'WFSLayerMetadata' to store layer metadata
* Add special (hidden) layer 'WFSGetCapabilities' to get the raw XML result of the GetCapabilities request
* CreateFeature()/SetFeature(): use GML3 geometries in WFS 1.1.0 (make TinyOWS happy when it validates against the schema)
* Make spatial filtering work with strict Deegree 3 servers
* Fix reading when layer names only differ by their prefix
XLS driver:
* New for GDAL/OGR 1.9.0
* Read only driver for MS XLS files and relies on FreeXL library.
XPlane driver:
* Port to VSI*L API
XYZ driver:
* Ignore comment lines at the beginning of files
SWIG Language Bindings
General :
* RFC 30: Correct the signature of Datasource.CreateDataSource() and DeleteDataSource(), gdal.Unlink() to accept UTF-8 filenames (3766)
* Add Band.GetCategoryNames() and Band.SetCategoryNames()
* Add Geometry.GetPoints() (only for Python and Java) (4016)
* Add Geometry.GetEnvelope3D()
* Add Geometry.SimplifyPreserveTopology()
* Extend SWIG Geometry.ExportToJson() to accept a list of options (4108)
* Add (OGR)DataSource.SyncToDisk()
* Add SpatialReference.SetVertCS(), IsSameVertCS(), IsVertical(), SetCompound(), IsCompound()
* Add SpatialReference.SetIGH() (4060)
* RFC 35: Add OGRLayer.DeleteField(), ReorderField(), ReorderFields(), AlterFieldDefn()
* Add gdal.VSIFTruncateL()
CSharp bindings:
* Implement the typemap for utf8_path in C (3766)
* Correcting the signature of OGRDataSource.Open to make the utf8 typemap to work (3766)
Java bindings:
* Turn the gdalJNI, gdalconstJNI and osrJNI into package private classes
* Make Layer.GetExtent() return null when OGR_L_GetExtent() fails.
Perl bindings:
* 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.
* Fixed UTF-8 support in decoding names (datasource, layer, field etc.).
* Assume all GDAL strings are UTF-8, handle all changes in typemaps.
* Additions to Perl bindings due to new developments etc: Layer capabilities, GeometryType method for Layer, improved create, new Export and Set methods for SpatialReference.
* 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
* 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
* Typemaps for VSIF{Write|Read}L, tests and docs for some VSI* functions.
* Perl bindings: better by name / by index logic, 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)
Python bindings:
* Improvements for ogr.Feature field get/set
* Add hack to bring Python 3.2 compatibility
* First argument of VSIFWriteL() should accept buffers for Python3 compat
* Fix reference leak in 'typemap(in) char **dict'
* Add gdal.VSIStatL()
* swig/python/setup.py : fix for virtualenv setups (4285)
* Layer.GetExtent() : add optional parameter can_return_null that can be set to allow returning None when OGR_L_GetExtent() fails
* Make gdal.VSIFSeekL(), gdal.VSIFTellL() and gdal.VSIFTruncateL() use GIntBig instead of long for compat with 32bit platforms
* Add script to build the python extensions with Python 2.7 and a mingw32 cross-compiler under Linux/Unix
Ruby bindings:
* Build SWIG Ruby Bindings against modern Ruby versions (1.8.7 and 1.9.2) (3999)
GDAL/OGR 1.8.0 release notes
(Note: Most changes/bugfixes between 1.7.0 and 1.8.0 that have already gone
to the 1.7.X maintenance releases are not mentioned hereafter.)
In a nutshell...
* New GDAL drivers : GTX, HF2, JPEGLS, JP2OpenJPEG, JPIPKAK, KMLSUPEROVERLAY,
LOS/LAS, MG4Lidar, NTv2, OZI, PDF, RASDAMAN, XYZ
* New OGR drivers : AeronavFAA, ArcObjects, GPSBabel, HTF, LIBKML, MSSQLSpatial, NAS,
OpenAir, PDS, PGDump, SOSI, SUA, WFS
* Significantly improved OGR drivers : DXF, GML
* New implemented RFCs : RFC 7, RFC 24, RFC 28, RFC 29, RFC 30, RFC 33
* New utility : gdallocationinfo
Backward compatibility issues
* MITAB driver: use "," for the OGR Feature Style id: parameter delimiter,
not "." as per the spec. Known impacted application :
MapServer (http://trac.osgeo.org/mapserver/ticket/3556)
* RFC 33 changes the way PixelIsPoint is handled for GeoTIFF (3838,3837)
* 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)
GDAL/OGR 1.8.0 - General Changes
Build(All):
* Make sure that 'import gdal' can work in a --without-ogr build
Build(Unix):
* Fix compilation on RHEL/Centos 64bit for expat and sqlite3 (3411)
* Update to autoconf 2.67 and libtool 2.2.6
* 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)
* Make --with-threads=yes the default
* Allow using --with-spatialite=yes
* Check /usr/lib64/hdf for RedHat 64bit
Build(Windows):
* Change the default MSVC version to VS2008.