Port:
* RFC 7 : Use VSILFILE for VSI*L Functions (3799)
* RFC 30 : Unicode support for filenames on Win32
* Implement Rename() for /vsimem
* New virtual file system handlers :
- /vsicurl/ : to read from HTTP or FTP files (partial downloading)
- /vsistdin/ : to read from standard input
- /vsistdout/ : to write to standard output
- /vsisparse/ :mainly to make testing of large file easier
- /vsitar/ : to read in .tar or .tgz/.tar.gz files
* Add C API to create ZIP files
* Add support for writable /vsizip/
* Add VSIBufferedReaderHandle class that is useful to improve performance when
doing backward seeks by a few bytes on underlying file handles for which
backwardseeks are very slow, such as GZip handle
* Add service for base64 decoding
* CPL ODBC : Add transaction support (3745)
* CPL ODBC: Increase the default connection timeout to 30 sec
* Add VSIStatExL() that has a flag to specify which info is really required
(potential speed optimization on slow virtual filesystems such as /vsicurl)
* Add VSIIsCaseSensitiveFS() to avoid ugly ifndef WIN32 / endif in the code of
various drivers
* Add Recode() convenience method to CPLString
* HTTP downloader: add PROXY and PROXYUSERPWD options (and GDAL_HTTP_PROXY and
GDAL_HTTP_PROXYUSERPWD configurations option) to allow request to go through a
proxy server.
Core:
* RFC 24: progressive/async raster reading
* On Unix, add capability of opening the target of a symlink through GDALOpen()
even if it not a real filename. Useful for opening resources expressed as
GDAL virtual filenames in software offering only file explorers (3902)
* Assume anything less than 100000 for GDAL_CACHEMAX is measured in megabytes.
* Read cartesian coordinates if applicable in GDALLoadOziMapFile().
* Avoid being overly sensitive to numeric imprecision when comparing pixel
value and nodata value in GDALRasterBand::ComputeStatistics()/
ComputeRasterMinMax(), especially for GeoTIFF format where nodata is
stored as text (3573)
* Better handling of NaN (not a number) (3576)
* Add C wrapper GDALSetRasterUnitType() for GDALRasterBand::SetUnitType() (3587)
* Add GDALLoadRPCFile() to read RPCs from GeoEye _rpc.txt files (3639)
* Allow GDALLoadRPB/RPC/IMDFile() to be called directly with the RPB/RPC/IMD
filename
* In GDAL cache block, use 64-bit variables for cache size
* Add GDALSetCacheMax64(), GDALGetCacheMax64() and GDALGetCacheUsed64() (3689)
* Improve formatting of seconds in DecToDMS()
* Support negative nPixelOffset values for RawRasterBands
* GDALDatasetCopyWholeRaster(): improve performance in certain cases by better
fitting to input/output block sizes
* Add GDALRasterBandCopyWholeRaster()
* Make sure band descriptions are properly captured and cloned (3780)
* 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
* Overview computation : speed improvements in resampling kernels
* Fix dereferencing of open datasets for GetOpenDatasets (3871)
* Add DllMain callback to set-up and tear-down internal GDAL library
resources automatically (3824)
* List .aux file if it used in GDALPamDataset::GetFileList()
* PAM dataset : try retrieving projection from xml:ESRI metadata domain
Algorithms:
* rasterize: Burn the attribute value in ALL the bands during rasterization. (3396)
* 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)
* GDALFillNodata(): improve&fix progress report
* warper : Try to determine if we will need a UnifiedSrcDensity buffer
when doing memory computations (3515).
* warper : GDALSuggestedWarpOutput2(): use more sample points around the edge
of the raster to get more accurate result (3742)
* warper : added (preliminary) support for mask bands that aren't nodata or alpha
* warper : integrate Google Summer of Code OpenCL implementation of warper
* gdalgrid: Move ParseAlgorithmAndOptions from apps/gdal_grid.cpp to
alg/gdalgrid.cpp (3583)
* RPCTransformer: take into account optional DEM file to extract elevation
offsets (RPC_HEIGHT_SCALE and RPC_DEM transformation options added) (3634)
* GDALReprojectImage() : correctly assign nSrcAlphaBand and nDstAlphaBand (3821)
* gdalgrid : Properly initialize the first nearest distance in GDALGridNearestNeighbor().
Utilities :
* gdallocationinfo : new
* nearblack: add -setalpha option to add/set an alpha band + -of, -q, -co
* nearblack: add -setmask option to use a mask band to mask the nodata areas
* gdalbuildvrt: support stacking ungeoreferenced images when using -separate,
provided they have the same size (3432)
* gdalbuildvrt: implement a check to verify that all color tables are identical
* 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)
* gdalbuildvrt: use OSRIsSame() to check if all source raster have same SRS (3856)
* gdal_translate: Transfer GEOLOCATION in the -of VRT case if spatial
arrangement of the data is unaltered
* gdal_translate : add support for resizing datasets with mask bands
* 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
* gdal_translate : support '-a_nodata None' as a way of unsetting the nodata value
* gdal_translate : invalidate statistics when using -scale, -unscale, -expand, -srcwin,
-projwin or -outsize and a new -stats option to force their (re)computation (3889)
* gdal_rasterize: Add capability of creating output file (3505)
* 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
* gdaldem : add '-alg ZevenbergenThorne' as an alternative to Horn formula
for slope, aspect and hillshade
* gdaldem : support GMT .cpt palette files for color-relief (3785)
* gdalwarp: add -crop_to_cutline to crop the extent of the target dataset to
the extent of the cutline
* gdalwarp: add a -overwrite option (3759)
* gdal_grid : Properly use the spatial filter along with the bounding box.
* epsg_tr.py: added -copy format for INGRES COPY command
* 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
* val_repl.py: copy geotransform and projection from input dataset to output
dataset
* gdal_retile.py : assign color interpretation (3821)
* gdal_retile.py : add -useDirForEachRow option to create a different output structure (3879)
* Make gdal_translate and gdalwarp return non-zero code when block writing failed
for some reason (3708)
* loslas2ntv2.py : new utility : .los/.las to NTv2 converter
* gdal_calc.py : new utility
* Add -tap option to gdal_rasterize, gdalbuildvrt, gdalwarp and gdal_merge.py
to align on a standard grid (3772)
AAIGRID driver:
* Cast nodata value to float to be consistent 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
* Allow reading files where decimal separator is comma (3668)
* Detect 1e+XXX as a real value among integer values (3657)
* Add a AAIGRID_DATATYPE configuration option that can be set to Float64
* speed-up CreateCopy(), particularly on windows, by buffering the output
AIGrid driver:
* Support sparse sets of tile files {w,z}001???.adf (3541)
BSB driver:
* Capture extension lines for headers
* Added UNIVERSAL TRANSVERSE MERCATOR, LCC and POLYCONIC handling (3409)
* provide an option (BSB_IGNORE_LINENUMBERS) to ignore line numbers as some
generators do them wrong but the image is otherwise readable (3776)
* Avoid turning missing values to index 255 (3777)
DODS driver:
* Compilation fix to support libdap 3.10
DTED driver:
* Add origin metadata in original format (3413)
* Report NIMA Designator field as 'DTED_NimaDesignator' metadata (3684)
* Fixes to read some weird DTED3 file
ECW driver:
* Support building against 4.1 SDK (compat with older versions maintained) (3676)
* Add alpha support with 4.1 SDK, and various configuration options
* Add pseudo powers of two overviews.
EHdr driver:
* Improvements to deal with http://www.worldclim.org/futdown.htm datasets
ENVI driver:
* Support tabulation character in .hdr files (3741)
* Support reading gzipped image file (3849)
ERS driver:
* Read "Units" child of the "BandId" node and set it as unit type for RasterBand.
FITS driver:
* Accept files whose metadata list doesn't end with 'END' (3822)
GeoRaster driver :
* Suppress error when testing SRID code as EPSG (3326)
* Several improvements and fixes (3424)
* Deprecates JPEG-B compression (3429)
* Fix GetColorInterpretation() on RGBA's alpha channel (3430)
* Allows OS authentication (3185)
* Add support for Point Cloud, add transaction control wrapper
* use OCI Bind to load VAT (3277)
* Change order of NODATA tag on XML metadata (3673)
* Add support for per band NoData value - Oracle 11g (3673)
* Add support to ULTCoordinate - (3718)
* Fix interleaving cache error (3723)
* Fix compress vs nbits order error (3763)
* Fix writing interleaved jpeg 3805 and reading default blocksize 3806
* Add create option blocking=(YES,NO,OPTIMUM) 3807, also fix 3812
GRASS driver:
* Update GDAL and OGR GRASS drivers to compile against GRASS 7.0SVN (2953)
GTiff driver :
* RFC 33 : Adjust PixelIsPoint handling (3838,3837)
* Refresh internal libtiff with upstream
* Refresh internal libgeotiff with upstream
* 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)
* Add a COPY_SRC_OVERVIEWS creation option (for CreateCopy()) that copies
existing overviews in the source dataset.
* Make GetScale() and GetOffset() retrieve values from PAM if not available in
internal metadata
* Use GCP info from PAM if available
* Support CreateCopy() on datasets with a color indexed channel and an alpha
channel (3547)
* Allow reading geotransform when opening with GTIFF_DIR prefix (3478)
* Add a warning when clipping pixel values for odd-bits band
* Make sure that 16bit overviews with jpeg compression are handled using 12bit
jpeg-in-tiff (3539)
* Add GDAL_TIFF_OVR_BLOCKSIZE configuration option to specify block size used
for overviews
* Read RPCs from GeoEye _rpc.txt files (3639)
* 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
* Speed-up writing of blocks in case of multi-band 8 bit images
* Support TIFF_USE_OVR config option to force external overviews
* Add special ability to for xml:ESRI metadata into PAM
* Try to detect build-time vs runtime libtiff version mismatch (*nix only)
* Added logic to expand verticalcs using importFromEPSG() when possible
* Create internal masks with deflate compression if available
* Fix jpeg quality propagation (particularly remove warning when
using a deflate compressed internal mask band with jpeg compressed main IFD)
* Add support for JPEG_QUALITY_OVERVIEW configuration option for internal
overviews when adding them after dataset reopening
* auto-promote mask band to full 8 bits by default (unless
GDAL_TIFF_INTERNAL_MASK_TO_8BIT is set TO FALSE).
* add LZMA compression optional support (requires latest libtiff4 CVS HEAD)
* Supporting writing compound coordinate systems.
GTX driver:
* New for GDAL/OGR 1.8.0
* Read NOAA .gtx vertical datum shift files.
GXF driver:
* Cast nodata value to float to be consistent with precision of pixel data in
GDT_Float32 case
* Introduce a GXF_DATATYPE configuration option that can be set to Float64
* Use GDALGetScanline() instead of GDALGetRawScanline() so that SENS
is applied to normally return things in conventional orientation as
is assumed by the geotransform. (3816).
HDF4 driver:
* Prevent reading nonexistent subdatasets
* Allow reading 1D subdatasets, in particular for GEOLOC bands
* Workaround strange test that swaps xsize, ysize and nbands for the particular
case of the dataset of ticket 3316
* Speed up access to HDF4_SDS datasets; allow multi-line block dimension for
HDF4_EOS datasets (2208)
* HDF4_EOS_GRID : detect tile dimensions and use them as block size; increase
HDF4_BLOCK_PIXELS default value to 1,000,000 (3386)
* Support reading of L1G MTL metadata (3532)
* Read as HDF if HDFEOS returned 0 datasets
* Improve fetching the geolocation data in case of one-to-one mapping and
abcence of dimension maps (2079)
* Properly set the GCP projection for MODIS Aerosol L2 Product.
* Fetch scale/offset, unit type and descriptions for some HDF-EOS datasets.
HDF5 driver:
* Avoid setting bogus projection if we don't get georeferencing from
CreateProjections(). Avoid trying to operate if DeltaLat/Long is zero.
Avoid crashing on NULL poH5Object->pszPath in CreateMetadata(). (3534)
* Ensure backslashes are preserved in paths for UNC on win32 (3851)
HF2 driver:
* New for GDAL/OGR 1.8.0
* Read and write HF2/HFZ heightfield raster
HFA driver:
* Ensure that an .aux file created for overviews has AUX=YES set so a
base raster will not be created.
* Various robustness improvements (3428)
* Support pulling overviews from an .rrd file even if the .aux does not
reference it (3463)
* avoid using empty names for layer, if we have one generate a fake name,
use for overviews (3570)
* Add support for New Zealand Map Grid to HFA driver (3613)
* Support EPT_s8 in BASEDATA (3819)
* Substantial improvements for Rename/CopyFiles (3897)
Idrisi driver:
* Allow color items greater than maximum value (3605)
JPEGLS driver:
* New for GDAL/OGR 1.8.0
* JPEG-LOSSLESS driver based on CharLS library
JP2KAK driver:
* Allow quality as low as 0.01
* Major restructuring, all reading now goes through DirectRasterIO (3295)
* Introduce YCC optimization
* Ensure we fetch <= 8 bit images with their true precision (3540)
* Make JP2KAK_RESILIENT also turn off persist, and force sequential access (4336)
* Fix reading overviews via direct case (4340)
JP2OpenJPEG:
* New for GDAL/OGR 1.8.0
* JPEG2 driver based on OpenJPEG library
JPIPKAK driver:
* New for GDAL/OGR 1.8.0
* JPIP driver based on Kakadu library
KMLSUPEROVERLAY driver :
* New for GDAL/OGR 1.8.0
* 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.
LOS/LAS driver:
* New for GDAL/OGR 1.8.0
* Read NADCON .los/.las Datum Grid Shift files
MG4Lidar driver
* New for GDAL/OGR 1.8.0
* 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
MrSID:
* Updated to support MrSID SDK v8.0.0 (compat with older versions maintained) (3889)
* Updated to support writing MG4/Raster (3889)
* Support reading projection from .met files accompanying NASA LandSat SID files
NetCDF driver:
* Improve coordinate system support (3425)
* Add support for multiple standard_parallel tags to support LCC single
standard parallel (3324)
* Add CF-1 spheroid tag support for netcdf driver
* Add support for weather/climate files with pixel size in km
* Attempt to fix flip image (3575)
* Add support for Scale and Offset (3797)
NITF driver:
* Ensure that igeolo corners are not messed up if irregular, keep center/edge
of pixel location info (3347)
* Add capture of select RPF attribute metadata (3413)
* Carry raw IGEOLO and ICORDS through as metadata (3419)
* Added NITFPossibleIGEOLOReorientation() in an attempt to deal with
files written with the IGEOLO corners out of order.
* Implement readonly support for RSets (3457)
* Add capability of writing CGM segment as creation option (or from the source
CGM metadata 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)
* Fix read out of buffer for NBPP < 8 and very small block size; fix decoding
of NBPP=4 (3517)
* Add FILE_TRE creation option to write TRE content in XHD field of file header
* Add SDE_TRE creation option to write GEOLOB and GEOPSB TREs. This is limited
to geographic SRS, and to CreateCopy() for now
* Allow using NITF header located in STREAMING_FILE_HEADER DE segment when
header at beginning of file is incomplete
* Improve NITF to NITF translation
* Fetch TREs from DE segment
* Support reading CSSHPA DES & extracting embedded shapefile
* Support writing image comments (ICOM)
* Add description for NITF file & image header fields in creation options XML
* Accept A.TOC files with frame entries that have same (row,col) coordinates
* Avoid erroring out when file or image user TRE size is just 3
* Load subframe mask table if present (typically, for CADRG/CIB images with IC=C4/M4) (3848)
* A few hacks to accept some (recoverable) file inconsistencies (3848)
NTv2 driver:
* New for GDAL/OGR 1.8.0
* Read&write NTv2 Datum Grid Shift files
OZI driver:
* New for GDAL/OGR 1.8.0
* Read OZI OZF2/OZFX3 files
PAUX driver:
* Add support for INTERLEAVE option
PCIDSK2 driver:
* PCIDSK SDK refreshed from upstream
* Remove svn:external for pcidsk sdk; Copy it directly in GDAL tree
* Support for reading and writing descriptions added to the PCIDSK SDK.
* Add bitmap support
* Support for reading/writing complex PCIDSK files through libpcidsk
* Support worldfile if lacking internal georef (3544)
* Fix locking state at CPLThreadMutex creation (3755)
* Improved projection support.
PDF driver:
* New for GDAL/OGR 1.8.0
* Read Geospatial PDF (through poppler library), either encoded according
to OGC Best practice or Adobe ISO32000 extensions.
PDS driver:
* Support quoted SAMPLE_TYPE. Check for UNSIGNED in SAMPLE_TYPE for UInt16.
* Support files where scanlines are broken over several records.
* Support newline continuation
* Recognize ENCODING_TYPE = "N/A" (N/A surrounded by double-quotes)
* Take into account MINIMUM, MAXIMUM, MEAN and STANDARD_DEVIATION when
available to set the statistics
PNG driver:
* Update internal libpng to 1.2.44
* Internal libpng : Make screwy MSPaint "zero chunks" only a warning,
not error (3416).
* Added ZLEVEL creation option
PostGIS Raster (formerly WKTRaster driver):
* Improved block reading and raster settings reading in WKT Raster driver
* Functions SetRasterProperties and GetGeoTransform modified to allow both
referenced and not referenced rasters
* Connection string parsing simplified. Schema, table name and where clause
can be passed with or without quotes
* New parameter "mode"
RASDAMAN driver:
* New for GDAL/OGR 1.8.0
* Read rasters in rasdaman databases
RMF driver:
* Significant improvements. Implemented decompression scheme typically
used in DEM data.
SRP driver:
* Relax strict equality test for TSI size for unusual products (3862)
TerraSAR driver:
* Enhancements related to GCPs handling (3564).
USGSDEM driver:
* Support non-standard DEM file (3513)
VRT driver:
* Preliminary Overview support on VRT bands (3457)
* Support for mask band : VRT may expose a mask band,
and mask bands can be used as VRTRasterBand sources
* Port to VSIF*L API; advertise GDAL_DCAP_VIRTUALIO=YES
* Make format identification less strict (3793)
* Support for LocationInfo metadata item on bands
WCS driver:
* Decode base64 encoded multipart data
WMS driver:
* Adds a <UserAgent> optional parameter so that the user be able to provide
its own useragent string for picky WMS servers (3464)
* Default color interpretation for wms driver (3420)
* Add UnsafeSSL setting (3882)
XYZ driver:
* New for GDAL/OGR 1.8.0
* Read ASCII XYZ gridded datasets
OGR 1.8.0 - Overview of Changes
Core:
* RFC 28 : OGR SQL Generalized Expressions
* RFC 29 : Support for ignoring fields in OGR
* Add OGRLayer::GetName() and OGRLayer::GetGeomType() virtual methods,
and their C and SWIG mappings (3719)
* On Unix, add capability of opening the target of a symlink through OGROpen()
even if it not a real filename. Useful for opening resources expressed as
GDAL virtual filenames in software offering only file explorers (3902)
* Expat based XML readers : add support for reading files with Windows-1252
encoding
* Use transactions in CopyLayer for better speed. (3335)
* OGRGeometry::importFromWkt() : allow importing SF-SQL 1.2 style WKT while
preserving compatibility with previously recognized non conformant WKT (3431)
* Add C functions : OGR_G_ForceToPolygon(), OGR_G_ForceToMultiPolygon(),
OGR_G_ForceToMultiPoint() and OGR_G_ForceToMultiLineString()
* Add C functions : OGR_G_Length(), OGR_G_Simplify(), OGR_G_Area(), OGR_G_Boundary()
OGR_G_SymDifference() and OGR_G_UnionCascaded()
* Add C function: OGR_F_StealGeometry()
* Move Centroid() method from OGRPolygon to OGRGeometry base class to be able
to operate on various geometry types, and to be consistent with PostGIS
ST_Centroid() capabilities and the underlying GEOS method
* Make the GetStyleTable() SetStyleTable() SetStyleTableDirectly() methods on
datasources and layers virtual (2978)
* Add OGRSFDriverRegistrar::DeregisterDriver() and OGRDeregisterDriver()
* Improve detection of rounding errors when writing coordinates as text with
OGRMakeWktCoordinate()
* OGR SQL: allow comparing datetime columns in WHERE clause
* 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
* AssemblePolygon: ensure largest area ring is used as exterior ring (3610)
* OGRGeometryFactory::createFromGEOS() : preserve coordinate dimension
(with GEOS >= 3.3) (3625)
* Allow calling transformWithOptions() with a NULL poCT
* Improve wrapdateline, especially on LINESTRING
* Fix getEnvelope() for OGRPolygon and OGRGeometryCollection to avoid taking
into empty sub-geometries; Fix OGRLayer::GetExtent() to avoid taking into
account empty geometries
* Support attribute index scan with the sql 'IN' operator (3686)
* Add attribute index support for the sql queries in mapinfo tab format (3687)
* OGRGometry: add a swapXY() virtual method
* Implement special field support for IsFieldSet
* OGRLineString::transform() : allow partial reprojection if
OGR_ENABLE_PARTIAL_REPROJECTION configuration option is set to YES (3758)
* Add OGR_G_ExportToGMLEx() that can take options to enable writing GML3
geometries compliant with GML3 SF-0
* OGRFeature::SetField() : support setting integer and real lists from a
string in the format (n:value,value,value,...)
OGRSpatialReference:
* Big upgrade to EPSG 7.4.1 with improved datum logic
* Use PROJ 4.8.0 thread-safe functions if available to avoid global OGR PROJ4
mutex when doing OGRProj4CT::TransformEx()
* Support for defining VERT_CS and COMPD_CS from EPSG and from/to PROJ.4
* Implement OGRSpatialReference:IsVertival() and
OGRSpatialReference::IsSameVertCS() methods
* add RSO gamma handling (proj 62)
* TMSO support
* Adjust handling of NAD27 to avoid towgs84 params, use +datum when no towgs84,
do not emit +ellipse if +datum used (3737)
* exportToProj4() : add +towgs84= instead of +datum= if both information are
available. This behavior can be turned off by setting
OVERRIDE_PROJ_DATUM_WITH_TOWGS84=NO (3450)
* Add PROJ4_GRIDS EXTENSION as a way of preserving datum grids
* ogr_srs_proj4: add a table for Prime Meridians; improve recognition of prime
meridian to export them as names when possible with exportToProj4()
* importFromProj4(): recognize +f= option
* Correct handling of Mercator2SP from EPSG (2744)
* Make GetAxis() const
* Improve axis orientation recognition for stuff like EPSG:3031
* Fix Amersfoort (geotiff 22)
* Panorama: Added zone number to the list of projection parameters list.
Use the zone number when we need to compute Transverse Mercator projection.
* Panorama: Use Pulkovo 42 coordinate system instead of WGS84 as a fallback
if the CS is not specified.
* ESRI: added support for Mercator in an old style file
* Add Bonne, Gauss-Schreiber Transverse Mercator, Mercator (2SP), Two Point
Equidistant and Krovak to the list of projections description dictionary.
* SRS validation : various fixes
* Exposure OSRImportFromERM() and OSRExportToERM() functions in C API.
* PCI : Fix the transfer of scale for Stereographic Projection (3840).
Add support for Oblique Stereographic (SGDO) (3841)
* Substantially upgrade PCI datum conversions using PCI datum/ellips.txt files
Various drivers:
* Improve behavior of DXF, VFK, GPX, SHAPE, PG, LIBKML, KML, VRT, CSV, GML,
BNA, GeoRSS, GEOJSON drivers when LC_NUMERIC is not the C locale
Utilities:
* ogr2ogr: copy datasources and layers style table
* ogr2ogr: use OGRGeometryFactory::forceToMultiLineString() when -nlt
MULTILINESTRING is specified
* ogr2ogr: allow -wrapdateline if neither input or output srs is specified,
but input layer srs is geographic
* ogr2ogr: add -splitlistfields and -maxsubfields options to split fields of
type IntegerList, RealList or StringList into as many subfields of
single type as necessary.
* ogr2ogr: accept None or Null as a special value of -a_srs to nullify the output SRS
* ogr2ogr: ignore -overwrite options if the output datasource does not yet exist (3825)
* ogr2ogr: special case when output datasource is a existing single-file Shapefile :
auto-fill the -nln argument if not specified (2711)
* ogr2ogr: add a -explodecollections option to split multi geometries into several features
* ogr2ogr: add a -zfield option to set the Z coordinate of a 3D geometry from the value of
a field
AeronavFAA driver:
* New for GDAL/OGR 1.8.0
ArcObjects driver:
* New for GDAL/OGR 1.8.0
BNA driver:
* Ported to use VSIF*L API
CSV driver:
* 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
* Support reading airport data coming from http://www.faa.gov/airports/airport_safety/airportdata_5010
* If a datasource is created with the extension .csv assume this should be
the first layer .csv file instead of a directory
* Skip empty lines (3782)
* Port to VSI*L API for read&write; support writing to /vsistdout/
DGN driver:
* Correct computation of abyLevelsOccurring (3554).
DODS driver:
* Compilation fix to support libdap 3.10
DXF driver:
* Smooth polyline entity support added
* Read blocks as a distinct layer instead of inlining
* Assemble file at end with changes to header template - so far only inserting
new layer definitions
* Support for writing user defined blocks
* Add limited hatch support
* Add support for writing linetypes. Support using complete dxf files as
the header or trailer template.
* Apply the INSERT entity id to all features inserted in its place (3817)
* various fixes
* Implement Win1252/utf8 conversion for dxf text
* Fix issues with text angles, text escape and multiline text
* add support for \U+xxxx unicode chars in labels
GeoJSON driver:
* Add reader to parse JSON output of FeatureService following GeoServices REST
* Read and write "id" member at feature object level
* Various robustness fixes to avoid crashes
* Fix combined spatial and attribute filtering (3803)
GeoRSS driver:
* Ported to use VSIF*L API
* Recognize <gml:MultiPoint>, <gml:MultiLineString> and <gml:MultiPolygon>
* Support reading GeoRSS inside <rdf:RDF>
GML driver:
* Adding support for xlink:href. (3630)
* Add support for Polish TBD GML
* Support reading <gml:Curve>, <gml:MultiCurve>, <gml:TopoCurve>,
<gml:TopoSurface>, <gml:Ring>, <gml:Surface>, <gml:PolygonPatch>,
<gml:pointMembers>, <gml:curveMembers>, <gml:surfaceMembers>
<gml:Triangle>, <gml:Rectangle>, <gml:Tin/gml:TriangulatedSurface>,
<gml:Arc>, <gml:Circle> elements in GML3 geometries
* Recognize <gml:Solid> and <gml:CompositeSurface>, <gml:OrientableSurface> elements
(dealt as an approximation as multipolygons, and not as volumes)
* Add support for "complex structure flattening" of attributes, and OFTStringList,
OFTRealList and OFTIntegerList field types in case of multiple occurrences of
a GML element (such as UK Ordnance Survey Mastermap) (3680)
* Add support for CityGML generic attributes <stringAttribute>, <intAttribute> and
<doubleAttribute>
* Various improvements for better support of AIXM 5.1
* Write and retrieve layer geometry type to/from .gfs file (3680)
* Support using the <GeometryElementPath> to retrieve the appropriate geometry in
case several ones are available per feature
* Use VSIF*L API for read&write
* XSD reader : various improvements, in particular to support various types of schema
returned by WFS DescribeFeatureType
* XSD writer: change the default GeometryPropertyType to a more precise type name
according to the layer geometry type
* Write valid <gml:MultiGeometry> element instead of the non-conformant
<gml:GeometryCollection>. For backward compatibility, recognize both syntax for
the reading part (3683)
* 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
* Expose gml:id as a string field when reading <wfs:FeatureCollection>
* Add dataset creation option FORMAT=GML3 to write GML3 SF-0 compliant data
* Add dataset creation option SPACE_INDENTATION=YES/NO to optionally disable space indentation
when writing GML.
* Recognize GML answer of MapServer WMS GetFeatureInfo request
* Fix datatype detection to fallback to Real when an integer cannot fit into a 32bit int (3866)
* GML/WFS : use SRS defined in global gml:Envelope if no SRS is set for any feature geometry
GMT driver:
* Add support for multilinestring reading (3802)
GPSBabel driver:
* New for GDAL/OGR 1.8.0
* Read/Write files supported by GPSBabel utility
GPX driver:
* Port write side of the driver to VSIF Large API
* Add LINEFORMAT dataset creation option
* Allow writing track points and route points with their own attributes by
writing point features in track_points and route_points layers
HTF driver:
* New for GDAL/OGR 1.8.0
* Read Hydrographic Transfer Format (HTF)
Ingres driver:
* Implement support for spatial reference systems (atrofast, 3159)
* Added support for GEOMETRYCOLLECTION as a generic geometry type, and
fleshed out the layer creation logic to support all geometry types.
KML driver:
* KML vertex output: avoid warning for coordinates just above 90 and 180
degrees due to numerical imprecisions
* Port to VSI*L API for write
LIBKML driver:
* New for GDAL/OGR 1.8.0
* Alternate KML driver relying on Google libkml
MITAB driver:
* Use "," for the OGR Feature Style id: parameter delimiter, not "." as per
the spec.
* Synchronized with mitab CVS HEAD
* Fixed crash when trying to get the same mitab feature twice
MSSQLSpatial driver:
* New for GDAL/OGR 1.8.0
* Read/write support for MS SQL Spatial databases
NAS driver:
* New for GDAL/OGR 1.8.0
* Reads the NAS/ALKIS format used for cadastral data in Germany
OCI driver:
* Allows OS authentication (3185)
* Uppercase table_name on SQL queries 1960 - OCI: ogr2ogr with append option
is not considering layer creation
* Support creation of non-spatial tables (3690)
* Set MULTI_LOAD as default 3656, for new layer and update
OGDI driver:
* Add OGR_OGDI_LAUNDER_LAYER_NAMES configuration option to simplify reported layer names
* Fix GetFeatureCount() when used with SetAttributeFilter()
OpenAir driver:
* New for GDAL/OGR 1.8.0
* Read Special Use Airspace in OpenAir format
PCIDSK driver:
* Implement creation/update and coordinate system support
PDS driver:
* New for GDAL/OGR 1.8.0
* Read NASA Planetary Data Systems TABLE objects
PGeo driver:
* Add PGEO_DRIVER_TEMPLATE option
PGDump driver:
* New for GDAL/OGR 1.8.0
* To output PostgreSQL SQL dump (very similar to shp2pgsql utility)
PostgreSQL driver:
* Add support for PostgreSQL >= 9.0 new binary data format
* Use canonical (HEXEWKB) form to get geometry to speed-up feature retrieval.
WKT-based retrieval can still be used if PG_USE_TEXT configuration option
is set to YES
* 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)
* Don't instantiate 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().
* Implement efficient OGRLayer::GetName() and OGRLayer::GetGeomType()
* Allow creating layer with eType = wkbNone
* Don't require to have found a layer in readonly mode to succeed in opening
the datasource.
* Add TEMPORARY (ON/OFF) layer creation option to create TEMPORARY tables
* 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
* Handle Nan and Inf values for float types in INSERT, UPDATE and
COPY SQL commands. (3667)
* Retrieve the FID of a newly inserted feature (3744)
* Remove use of deprecated PostGIS functions when running against PostGIS 2.0SVN
S57 driver:
* Avoid crashing if there is a missing VRPT field in a vector record.
SOSI driver:
* New for GDAL/OGR 1.8.0
* Read Norwegian SOSI-standard
Shapefile driver:
* Use VSI*L API for .prj file so it works in virtual circumstances (3536).
* CreateLayer(): Check that the layer doesn't already exist
* Implement multipatch read support
* Remove ESRI style spatial indexes from Shapefile on update via OGR (2798)
* Fix conflict between spatial and attribute indexes (3722)
* Create integer fields with unknown width as 10 characters instead of 11
to avoid them getting immediately considered to be real when reopening (2151)
* Make 'ogr2ogr -overwrite dst.shp src.shp -nln dst' work when dst.shp already exists
SQLite driver:
* Spatialite : use MBRIntersects operator instead of MBRWithin (3810)
* Spatialite: avoid executing some Spatialite functions several times when
issuing SQL queries
* 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
* Fix to make CopyLayer() work when src layer is a SQL result layer (3617)
* Add OGR_SQLITE_SYNCHRONOUS configuration option that, when set to OFF,
can speed up considerably write operations (e.g. on EXT4 filesystems),
at the expense of extra robustness w.r.t system crashes.
* Spatialite: when creating a spatialiate DB, add a srs_wkt column in the
spatial_ref_sys table, as introduced in libspatialite 2.4.0
* Implement the DeleteLayer() interface and report the ODsCDeleteLayer capability
SUA driver:
* New for GDAL/OGR 1.8.0
* Read Special Use Airspace in Tim Newport-Peace's format
VRT driver :
* Fix GetExtent() on non VGS_Direct VRT layers (3783)
WFS driver:
* New for GDAL/OGR 1.8.0
* WFS client that brings read & write (WFS-T) support for WFS 1.0.0 and 1.1.0
SWIG Language Bindings
General :
* Add Geometry.Length(), Geometry.Area(), Geometry.Simplify(), Geometry.UnionCascaded(),
Geometry.SymDifference, Geometry.Boundary()
* Add SpatialReference.GetUTMZone()
* Add Geometry.ForceToPolygon(), Geometry.ForceToMultiPolygon(),
Geometry.ForceToMultiPoint() and Geometry.ForceToMultiLineString()
* Add Band.SetScale() Band.SetOffset(), and Band.SetUnitType()
* Add ogr.RegisterDriver() and ogr.DeregisterDriver()
* Move ogr.GeometryTypeToName() and ogr.GetFieldTypeName() from Java bindings
to all bindings
* Initialize return values of GetRasterStatistics() so that we know if they
have been updated
* Add Feature.SetFromWithMap()
* Add gdal.GridCreate() (3661)
* Expose OSR GetSemiMajor(), GetSemiMinor(), GetInvFlattening() and
ImportFromERM() functions
CSharp bindings:
* Use the .NET Framework 2.0 transparency rules (level 1 transparency) for the
VC2010 builds (3559)
* Fix GDAL_DMD_ and GDAL_DCAP_ constants for Csharp (3601)
Java bindings:
* Add GdalGrid.java, GDALContour.java
* Add 'make test' target for Unix/Windows
Perl bindings:
* Support polygons in TransformPoints.
* Test for existence of capability before comparison (avoid unnecessary warning)
* 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
* "create" constructor for FeatureDefn
* Add aliases Equals and Intersects as mentioned in 3492
* Changes to support RFC 30
* Add bindings for ReadDir, Stat, FillNodata
* Simple support for PostGIS HEX EWKB (remove/add SRID)
* The Schema method of FeatureDefn returns a schema, where each field hash contains
also key 'Index' and the field index as the value.
Python bindings:
* Fix compilation of Python bindings with Python 3.X on 64 bit platform
* Optimize Band.ReadRaster() and Dataset.ReadRaster() to avoid extra buffer
copy; also add the capability to pass the result buffer such as
result_buf = ' '; ReadRaster(0, 0, 1, 1, buf_obj = result_buf) (3521)
* NumPy Band.WriteArray() : use numpy object directly instead of converting to
string
* Band.ReadAsArray() : instantiate the numpy object before calling RasterIO()
instead of creating it from a string
* NumPy : add support for signed byte
* Make sure that feat.SetField('field_name', double_value) goes through
OGR_F_SetFieldDouble() instead of being first converted to string
* 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
* Avoid suppressing warnings and errors when exceptions are used (3632)
* Add gdalinfo.py, ogrinfo.py and ogr2ogr.py as sample scripts, direct ports
of corresponding C/C++ utilities
* Allow manipulating buffer > 2 GB on 64bit builds for ReadRaster() and WriteRaster()
* Map gdal.GetCacheMax(), gdal.SetCacheMax() and gdal.GetCacheUsed() to the
corresponding 64bit new API
* Reset error status before new GDAL/OGR call when using gdal.UseExceptions() (3077)
* Changes to support RFC 30
* Fix Feature.ExportToJson() (3870)