wiki:Release/1.7.0-News

GDAL/OGR 1.7.0

ALERT: The GDAL/OGR 1.7.0 release has been discovered to have a serious bug which results in all Erdas Imagine files (HFA driver) being generated in a way that is unreadable by non-GDAL software. Due to this bug, the GDAL/OGR project has retracted the 1.7.0 release, and has issued it's replacement with the 1.7.1 bug fix release. See http://trac.osgeo.org/gdal/ticket/3382 for details.


Some of the bugfixes mentioned below might also have gone into 1.6.X maintenance releases.

In a nutshell…

  • New GDAL drivers : BAG, EPSILON, Northwood/VerticalMapper?, R, Rasterlite, SAGA GIS Binary, SRP (USRP/ASRP), EarthWatch? .TIL, WKT Raster
  • GDAL PCIDSK driver using the new PCIDSK SDK by default
  • New OGR drivers : DXF, GeoRSS, GTM, PCIDSK and VFK
  • New utility : gdaldem, gdalbuildvrt now compiled by default
  • Add support for Python 3.X. Compatibility with Python 2.X preserved (#3265)
  • Remove old-generation Python bindings.
  • Significantly improved GDAL drivers: GeoRaster, GeoTIFF, HFA, JPEG2000 Jasper, JPEG2000 Kakadu, NITF
  • Significantly improved OGR drivers: CSV, KML, SQLite (SpatiaLite? support), VRT
  • WARNING: incompatibility between MrSID GeoDSDK and libgeotiff 1.3.0 or internal libgeotiff on some platforms (see #3309)

GDAL/OGR 1.7.0 - General Changes

Build (All) :

  • Add gdalbuildvrt to the list of utilities built by default (#2747)
  • Improve Mingw compatibility (#2649)
  • Add Expat read support for GML driver when Xerces is unavailable (#2999)
  • Fix GML and ILI reading problems with Xerces 3.x (#3156)
  • Add 8/12bit JPEG-in-TIFF support
  • Fix trunk compilation against libdap 3.9.X (#3105)

Build (Windows) :

  • Check for CURL_LIB instead of CURL_DIR
  • ensure OGR_ENABLED gets defined if INCLUDE_OGR_FRMTS set (#2784)
  • Change quoting in VCDIR and SETARGV to avoid likely problems.
  • added dll and target-lib targets
  • fix _findfirst handle type for win64 (#3035)
  • Add support to compile OGR-postgis as a plugin (#3125)
  • Trap failures in subdirectories and stop build

Build (Unix) :

  • Use proper object file names when building prerequsites lists (#1878)
  • Updated man page generation
  • Add new ./configure test to check that the GCC 4.1 built-in functions for atomic memory access are really available
  • Handle external libz (#2942)
  • Add support for 64bit file i/o on BSD systems, through fseeko/ftello
  • Add support for linking against libspatialite to benefit from spatial functions in SQL queries (#2666)
  • Fix support for --with-threads configure option on BSDs (tested on DragonFlyBSD 2.2.1)
  • Add support for autodetection of ogdi 3.2 in ./configure (#3007)
  • Remove additional dependency to libgdal.so added during linking in gdal/apps (#2970)
  • Improved ax_oracle_oci.m4 macro to handle libnnzXX for Oracle 10 and 11.
  • support using the Oracle Instant Client SDK
  • Make --with-ingres work with newer versions (#3126)
  • Search for alternative HDF4 flavor in HDF4 testing macro. Alternative HDF4 (libmfhdfalt/libdfalt) build is NetCDF-compatible and used in Debian.
  • Support MacOSX "fat" binary building

Port :

  • Provide API and implementation for thread and SMP safe atomic increments (#2648)
  • Add /vsisubfile virtual file driver
  • Added gzip write implementation
  • VSI ZIP : Allow natural chaining of VSI drivers without requiring double slash
  • Add a shortcut when looking for .csv files that are already open
  • Add CPLSetThreadLocalConfigOption()
  • Add CPLIsUTF8() and CPLForceToASCII(); Use them in GML, KML, GPX and GeoRSS drivers (#2971)
  • Add CPLStrlcpy() and CPLStrlcat(), clones of BSD strlcpy() and strlcat() functions
  • Add CPLStrnlen()
  • Add CSLLoad2() and CPLReadLine2L() with max number of lines and chars per line allowed
  • cplkeywordparser.cpp: Support parsing IMD files with values of the form list of lists
  • odbc: Fixed the null terminators for columns of length (x*511)+1, where x>1. (#2727)
  • unix VSIF*L : reworked to avoid unnecessary seeks which can be expensive
  • added HTTPAUTH and USERPWD options for http fetch (#3091)

GDAL 1.7.0 - Overview of Changes

Algorithms:

  • cutline : optimize by clipping cutline to region of interest (#2736)
  • cutline : avoid scanline to scanline blending problems (#2740)
  • rasterfill : substantially reworked
  • rasterfill : deprecate bConicSearch option - unused
  • rasterize : optimized
  • rasterize : Added GDALRasterizeLayersBuf() function to rasterize geometries directly

into the supplied raster array.

  • rasterize : Add ALL_TOUCHED rasterize option (#2840)
  • rasterize : Added 3D support for rasterizing points and lines. (#3202)
  • rasterize : correct case of vertical/horizontal lines on raster right/bottom edge (#3268)
  • Added GDALCreateGenImgProjTransformer3() function
  • warp: Reduce destination file size, especially when it has compression (#1688)
  • warp: Fix crash when reprojecting to irrelevant SRS (#3079)
  • warp: avoid using the destination nodata value for integer datatypes (#3142)
  • warp: fix panDstValid generation, and avoid using it improperly (#3222)
  • warp: Restore support of reprojection of a lat-long image crossing 180E/180W longitude (#3206)
  • contour: Fix name of GDAL_CG_Create in contour.cpp (#2795)
  • contour: Generate contours with correct orientation (#3129)
  • gdalgeoloc: Improve geoloc backmap interpolation (#2501)
  • overview: added support for cubic convolution overviews
  • gdal_grid: 3 new metrics: data point count, average distance between data points

and a grid node, average distance between data points.

  • gdal_grid: Properly cast the poOptions parameter in data metrics computation functions. (#3207)

Core :

  • Added mechanism to clear overviews if zero overviews requested. Implemented by GTiff and HFA drivers (#2915)
  • Support for overviews in subdatasets
  • Support for overviews in proxydb directory (#2432)
  • SetColorTable?(NULL) is permitted and means delete (#2421)
  • Preserve NBITS and SIGNEDBYTE in CreateCopy?() for supporting drivers (#2902)
  • GDALCopyWords() : performance optimizations
  • Add GDALCheckDatasetDimensions() and GDALCheckBandCount()
  • Add GDALGetColorInterpretationByName()
  • Use tiff .ovr for overviews if .aux is just metadata (#2854)
  • Add missing argument in function declaration for GDALRATTranslateToColorTable()
  • Do not use colortable for bit2grayscale overviews (#2914)
  • Support world files with blank lines (ESRI Merge)
  • Add worldfiles in GetFileList?() (ESRI Merge)
  • Fix rpb/imd loading with a path (#3047)
  • Add support for using overviews in GDALDataset::BlockBasedRasterIO() (#3124)
  • Take into account SIGNEDBYTE for GetStatistics?() & GetHistogram?() (#3151)
  • Add GDALReadOziMapFile() and GDALLoadOziMapFile() to read projection and georeferencing information from OziExplorer? .MAP files.
  • Added declarations for GDALLoadTabFile() and GDALReadTabFile()
  • Add missing case for CInt16 and CInt32 in GDALNoDataMaskBand and GDALNoDataValuesMaskBand

Utilities :

  • gdaldem: new for GDAL/OGR 1.7.0 (#2640)
  • gdalinfo:
    • add -norat switch
    • do not report RPC or GEOLOCATION metadata with -nomd
    • Use pretty wkt to display GCP projection
  • gdalwarp:
    • fix cutline blend distance setting (#2733)
    • in -te case, adjust the resolution after computing the image dimensions
    • improved cutline support (#2733, #2847, #2884, #2984)
    • avoid overwriting an existing destination file that cannot be opened in update mode with a new GTiff file
    • better heuristics to guess output extent when projection from lat/long world extent to other world global projections (#2305)
  • gdaltindex:
    • Avoid unnecessary error message in gdaltindex when creating a new shapefile (#2779)
    • Rewritten to use OGR API instead of ShapeLib? API, so as to produce .prj files more easily (#982)
  • gdal_contour:
    • make -3d option work even after -fl option (#2793)
    • Call GDALGetProjectionRef() on the dataset, not the raster band (#3062)
  • gdalbuildvrt:
    • Add -separate, -allow_projection_difference, -te, -tr, -q, -addalpha options
    • Add -srcnodata and -vrtnodata options (#3254)
    • Add -hidenodata option (#3327)
    • Avoid accidental overwriting of a non VRT dataset due to revered filename order
    • Fix -resolution lowest/highest (#3198)
  • gdaladdo: add -clean option (#2915)
  • gdaladdo: add -q option
  • gdal_grid: Add support for spatial filtering with -clipsrc option
  • gdal_translate: support translation of a dataset with subdatasets if the parent has bands
  • gdal_translate: Add 'gray' as a value of -expand rgb option
  • gdal_translate: Add -unscale commandline option
  • gdal_merge.py: Add progress report
  • gdal_vrtmerge.py: Fix -separate case (#2836)
  • gdal_vrtmerge.py: Write the <SourceProperties?> element (#1985)
  • gdal_retile.py: add lanczos resampling (#2859)
  • gdal_fillnodata.py: ensure dstfile support works by copying source (#2866)
  • GDAL2Tiles: --srcnodata support + fixed KML rendering for -p raster
  • rgb2pct.py: Added ability to use a preexisting color table from a file (#2958)
  • pct2rgb.py and rgb2pct.py : Copy the GCPs and their projection to the target dataset.
  • classify.py: Fix order of args to numpy.ones() and numpy.zeros() (#3089)
  • hsv_merge.py: New sample script to greyscale as intensity into an RGB image,

for instance to apply hillshading to a dem colour relief.

  • support filename globbing for various Python scripts (#2783)
  • --formats will add 'v' in report on drivers that support virtual io
  • all utilities and scripts : consistently advertize -q as the official quiet

option, but accept both -q and -quiet (#3820)

Changes in various drivers :

  • Implement support for overviews on subdatasets for HDF4, HDF5, NetCDF, NITF, XPM, TERRAGEN, PCIDSK (#2719)
  • Add support for 64bit offsets in /vsisubfile, JPEG and JP2ECW drivers
  • External overviews support added to some drivers (JDEM, ...)
  • Avoid incorrect GEOGCS AXIS settings (#2713)
  • Use GDALCheckDatasetDimensions() and GDALCheckBandCount() in various drivers
  • Many memory leak fixes (HDF5, HKV, Leveler, MFF, NITF, RMF, JPEG2000, WCS ... drivers)
  • Many fixes to improve robustness against corrupt data in many drivers
  • Error out when trying to open a read-only dataset in update mode (#3147)
  • Ensure that the same JPEG2000 driver that has been used with CreateCopy?() is used to re-open it (#1596)

ADRG driver:

  • Support PSP != 100 (#3193)

AIG driver:

  • Differ opening of the RAT only when GetDefaultRat?() is called. Will improve performances and make less likely the error message of #3031

AAIGRID driver:

  • Fix bad reading of AAIGRID dataset whose last line doesn't have a linebreak character (#3022)
  • Make the ArcInfo? ASCII driver more Mac-compatible. (#3212)

BAG driver :

  • New for GDAL/OGR 1.7.0

BLX driver:

BMP driver:

  • Modify GetGeoTransform?() to return geotransform based on the resolution information in the BMP header if nothing else is available (ESRI merge).
  • use pam functions properly for geotransform when not using world file

BSB driver:

  • Fix several issues with BSB files reading (#2782)
  • Handle properly more than 256 GCPs (#2777)
  • Add logic to chip GCPs around to avoid split over dateline problems (#2809)
  • Add logic to reproject GCPs into Mercator for mercator projected images.

DTED driver:

  • Re-enable DTED driver to recognize files not starting by a UHL record (#2951)

ECW driver:

  • Enable the JP2ECW driver to open JP2 files with the VSILAPI
  • Fix build with MSVC2008 (#2850)
  • Fix memory overwrite while zooming an ECW image (#2934)
  • Speed-up de-registeration of the driver that can take up to 3 seconds (#3134)

EHDR driver:

  • Add color table update. Add limited support for floating point files (.flt) (ESRI Merge)
  • added support for SIGNEDBYTE pixels (#2717)
  • Restructure stats handling so pam capture works right when stx write fails
  • improve a bit .clr reading (#3253)

ENVI driver:

  • Move RPC info into the RPC domain (#3063)
  • Converted to using VSI Large File API (#3274)
  • re-enabled complex support (#3174)

EPSILON driver:

  • New for GDAL/OGR 1.7.0
  • Mainly used coupled with Rasterlite

ERS driver:

  • Added PIXELTYPE support to report/create SIGNEDBYTE (#2902)
  • Give precidence to PAM SRS, and even check for .aux file. (ESRI Merge)

FAST driver:

Fujibas driver:

  • Fix to work on big-endian hosts

GenBin? driver:

  • Implemented custom class for 1bit (U1) files (#2730)
  • Fix inverse flattening computation (#2755).
  • Added U2 and U4 support
  • Look for LSB, assuming MSB if not found (#2730)

GeoRaster driver:

  • Fix compression problems
  • Add MaskBand? support
  • Support UNICODE metadata
  • Support cross database schema/user access
  • add COORDLOCATOR create option

GeoTIFF driver :

  • Add 8/12bit jpeg in tiff support
  • Add support for creating external BigTIFF overview files, with BIGTIFF_OVERVIEW configuration option. (#2785)
  • Add support for deleting a color table (#2421)
  • Add logic for Imagine citation parsing
  • Add logic for encoding and reading ESRI PE string from citation.
  • Add support for reading and writing vertical datum info from geotiff
  • Changes to units handling. (#2755)
  • Optimize opening speed by defering fetching the coordinate system till GetProjectionRef? (#2957)
  • Optimize GTiffRasterBand::IReadBlock() for multi-band interleaved case.
  • Avoid uncesserary re-writting the TIFF directory (#3021)
  • Use official value for inverse flattening of the WGS84 ellipsoid (#2787)
  • Add metadata domain for XML documents (#2786)
  • Make GTiff driver friendly with files with huge number of bands and pixel interleaving (#2838)
  • Avoid precaching other bands if block cache size is not big enough to accomodate them (#2838)
  • Internal libtiff (4.0.0beta5) and libgeotiff (1.3.0beta) upgraded
  • use the SetCitationToSRS call for the PCSCitationGeoKey in a similar fashion to the GTCitationGeoKey (#2933)
  • NBITS set for GTiffOddBits. YCbCr JPEG added as a compression type. generate MINISWHITE IMAGESTRUCTURE metadata item. Set missing blocks to the nodata value if there is one. (ESRI Merge)
  • Support GeoTIFF with only ProjectedCSTypeGeoKey defined (#3019)
  • External overviews: try to preserve the bit depth of the original image
  • Allow reading and creation of big all-in-one-strip 8bit TIFF (#3094)
  • Handle projection methods for Google Mercator special case (#3217)

GFF driver :

  • Fix support for big endian host (#2832)
  • Add pam, and overview support. Switch to VSI*L API to support virtualio (#3014)

GIF driver :

  • Introduced a BIGGIF driver to handle GIF files without using the slurp into memory approach. (#2542)
  • CreateCopy?() reports now progress
  • Replace internal libungif by giflib-4.1.6 (#1825)
  • Read projection and georeferencing from OziExplorer? .MAP file if possible.

GRASS driver:

  • Add support for GRASS 7.0 GDAL and OGR plugins (#2953)
  • Use GRASS_GISBASE for GDAL GRASS driver instead of hard-coded path (#2721)

GRIB driver:

  • only scan for PDS templates in GRIB2 files (#2858)
  • Avoid dumping GribLen? debug message if built with -DDEBUG.
  • Remove verbosity from GRIB driver (#2887)
  • Make GRIB detection thread safe (#3209)
  • Check that bands have the same dimensions (#3246)

GS7BG driver:

  • Recognize version 2 datasets (#3123)

HDF4 driver :

  • Allow HDF4 subdataset name to include Windows letter drive (#2823)

HDF5 driver :

  • subdatsets need to be numbered from 1 not 0 (#2462)
  • Block size recognition. (#2270)
  • Fix initial value for nGCPCount in HDF5ImageDataset (#2774)
  • Fixes to type classification, and to avoid listing subdatsets for unsupported pixel data types (#2941)
  • Mark PAM for not saving .aux.xml files at this level. Directly open subdatasets in HDF5Dataset::Open() if there is only one subdataset.

HFA driver:

  • Support reading and evaluating 3rd order xforms (#2716)
  • Various improvements to SRS support, particularly to preserve PE compatability. (#2755)
  • Added HFAEntry::RemoveAndDestroy?() method to remove nodes from tree (#2421)
  • Added support for deleting color tables (#2421)
  • Add a scaled progress monitor for HFADataset::IBuildOverviews()
  • Fix HFA u2 compression/decompression (ESRI merge)
  • Add support for reading compressed s8 HFA (#3152)
  • Defer opening overviews till they are first requested (#3155)
  • Support multiple excluded values (#3252)
  • added a variety of additional coordinate system based types missing in some files (#3262)
  • Various fixes (#2421, #2842, #2755, #3082, #2730)

Idrisi driver:

  • Writing text file in CRLF format (#3199)
  • forward porting esri changes + other changes
  • provide default values on Create() (#3243)

INGR driver:

  • Fix INGR driver that was failing on big endian hosts (#2898)
  • Fix RLE support (#3106)
  • Added overview building (#2904)

JPEG driver:

  • Enable the JPEG driver to read and create 12bit JPEG images when JPEG12_ENABLED=yes
  • Internal libjpeg: additional changes to ensure operation with IPP enabled apps (#2606,#2845)
  • JPEG read optimizations : differ extraction of EXIF metadata and internal maskband

JPEG2000 (JasPer) Driver:

  • Allow proper reading of JP2 images where dimensions are not multiple of 256 (#2399)
  • Add a virtual I/O interface to able to read from/write to JPEG2000-NITF files
  • Do not deregister jas_image_clearfmts() to avoid failure when gdal_translat'ing from JP2 streams
  • Add proper reading of YCbCr images as RGB
  • fix decoding of bit depth for BPCC and PCLR boxes

JP2KAK (Kakadu) Driver :

  • Fix band selection from ycbcr to rgb converted images in DirectRasterIO (#2732)
  • Support jpc vsisubfile streams
  • add handling of reversibly compressed data with 9 to 16 bits precision (#2964)
  • Modify transfer_bytes() buf32 case to offset/scale based on precision. (#2964) Fixed _WriteTile() lossless 16bit case to avoid improper 32K offset. Added support for NBITS image structure metadata, and creation option.
  • Added logic to limit tiles to 64K due to jpeg2000 limitation. (ESRI Merge)
  • Fix offseting of 16U buf32 data (#3027)
  • Support 16u/16s imagery through DirectRasterIO interface (#3049)
  • Support external overviews as an override to internal overviews
  • Rework jp2kak support to use natural kakadu builds (Windows build)
  • ensure external overviews get used if available (#3276)
  • add preliminary multi-threading read support via DirectRasterIO()

LAN driver:

  • Give preference to PAM coordinate system since built-in info is very limited. Fallback to PAM geotransform if internal missing. (ESRI Merge)

LCP driver:

  • Add projection file support (#3255)

MEM driver:

  • Allow creating bands of more than 2GB each if size_t is large enough.
  • Added GetInternalHandle?() implementation to fetch band memory buffer

MrSID driver:

  • Implement faster resampling for 1:1 case
  • Improve stream implementation so it works for jp2 with v7
  • Make the JP2MrSID driver accept .ntf extension to allow reading jpeg2000 datastream in NITF files
  • Avoid reporting large metadata objects. Add MG version to metadata.

NetCDF driver:

  • Fix handling of pixel validity mask (#3112)
  • correct a problem with 5+ dimensional data access (#2583)
  • fix y flip detection in common case (#2654)
  • add support for subdataset names with Windows full path names, like NETCDF:D:\...

NITF driver:

  • Add support for reading & creating large (>4GB) NITF files.
  • Add support for NITF/JPEG2000 overviews (JP2KAK)
  • Add support for reading & creating 12bit JPEG compressed NITF files when JPEG12_ENABLED=yes
  • Add support for creating a NITF file with many bands and big TRE content
  • Add support for creating several uncompressed images in a NITF file (#2989)
  • Add support for creating M3 (masked multi-block JPEG compressed) images
  • Add support for unpacking a wider variety of pixel depths.
  • Add support for overriding IGEOLO with GEOLOB TRE precision georef (#3180)
  • Add support for for CFloat32 reading & writing (#2526)
  • Add support for reading and writing NITF file with large single block (#3263)
  • Allow Jasper driver to be used for NITF IC=C8 (JPEG2000) CreateCopy?() if JP2ECW is not available
  • Allow JP2MrSID driver to be used for reading JPEG2000 datastreams in NITF
  • Avoid issues when reading M3 single block images
  • Fix CreateCopy?() of multi block JPEG-NITF
  • Various bugfixes (#2940, #2912, #3029, #3088)
  • Support NITF file with a color table and JPEG2000 data content (#3110)

NWT_GRC / NWG_GRD drivers (Northwood/VerticalMapper?) :

  • New for GDAL/OGR 1.7.0

OGDI driver:

  • improve finding of PROJ.4 include files for OGDI (#1242)

PCIDSK driver (old driver):

  • Added worldfile reading. Added PAM fallback for geotransform.
  • Added support for default overviews (ie. .ovr or .rrd). (ESRI Merge)
  • fail somewhat gracefully on compressed images

PCIDSK driver (new driver):

  • New for GDAL/OGR 1.7.0, using the PCIDSK SDK

PDS driver:

  • Transfer various keywords to metadata
  • Made keyword handler more in complaint with ODL (#2956)
  • Support detached files with an offset (#3177)
  • Support .LBL labelled compressed files

PNG driver :

  • Upgrade internal libpng to 1.2.35
  • Only write a world file if the source datasource has a geotransform
  • Allow writing a nodata value of 0 as the transparent color value (#3208)

R driver:

  • New for GDAL/OGR 1.7.0

Rasterlite driver

  • New for GDAL/OGR 1.7.0

RIK driver:

  • Improved error checking

SAGA GIS Binary driver:

  • New for GDAL/OGR 1.7.0

SDE driver :

  • Fix exporting ArcSDE raster results in a displaced image (#2063)

SRP driver (ASRP/USRP):

  • New for GDAL/OGR 1.7.0

SRTM driver :

  • Set GDALMD_AOP_POINT metadataitem (#1884)

TIL driver (EarthWatch? .TIL) driver:

  • New for GDAL/OGR 1.7.0

VRT driver :

  • Honour the INIT_DEST warp option (#2724)
  • Improve performance of LUTs in VRTComplexSource from O(n) to O(log2(n)) (#3003)
  • Implement (advertized in doc) support for SetMetadataItem?( "source_0", szFilterSourceXML, "vrt_sources" ) on a VRTSourcedRasterBand (#3052)
  • Implement GetFileList?() to list the source files
  • Fix wrong initialization of destination buffer in VRTSourcedRasterBand::IRasterIO() in case of not standard pixel/line spacing. (#2867)

WCS driver:

  • do not try to parse HTML content, which is returned by some provider when the server doesn't exist
  • added HttpAuth? and UserPwd? options for authentication (#3091)

WKT Raster driver:

  • New for GDAL/OGR 1.7.0

WMS driver:

  • Support TMS/formatted URLs in WMS minidriver (#2878)
  • Be tolerant if we have required 3 bands and got 4, or the other way round
  • Declare a user agent string

OGR 1.7.0 - Overview of Changes

Utilities:

  • ogrinfo: Preserve order of source layers specified on ogrinfo command line,

and use GetLayerByName?() which enables to read some hidden layers like public.<table> layers from a PG database (#2922, #2026)

  • ogr2ogr:
    • Add -clipsrc and -clipdst option to clip geometries to the specified extents
    • Add -fieldTypeToString option to conveniently cast any fields of given type to fields of type string (#2968)
    • Add -progress option for ogr2ogr to displaying progress (#2998)
    • Add -wrapdateline option to ogr2ogr to deal with geometries that cross 180 degree longitude (#3158)
    • Add -dialect flag to specify SQL dialect
    • Preserve order of source layers specified on command line (#2922)
    • -overwrite and -append now automatically imply -update (#3048)
    • Support converting to a format after field name "laundering" (#3247)
  • ogrtindex:
    • Skip layers whose schema does not match instead of terminating (#3141)
    • Add a -accept_different_schemas option for non-MapServer? use cases (#3141)
    • Set SRS to tileindex when one is found in the tiles
  • ogr2vrt.py : new script that will create a VRT corresponding to a source datasource (sample script for the moment, not promoted officially)

Core :

  • Improved OGR feature style (#2875, #2808)
  • Considerable speed-up of ExportToWkt?() for very large geometries
  • Added new OGR_GEOM_AREA special field (#2949)
  • ensure forceToMultiLineString() works for MultiPolygons? (#2735)
  • Various fixes in OGR SQL engine (r16116, #2996, #2788, #3143, #3144)
  • Add OGREnvelope::Intersect()
  • Add OGR_G_ApproximateArcAngles() for ellipses
  • Fix crash on Ubuntu 8.10 in GetFieldAsString?() because of (too) strict guard logic (#2896)
  • add field type max so we can iterate through all possible values
  • Avoid making a 2D5 geometry from a 2D only linestring when reprojecting

OGRSpatialReference :

  • Upgrade EPSG derived files to EPSG 7.1
  • Added support to operate on COMPD_CS coordinate systems
  • Added support for importing spatial reference definitions from the OziExplorer? .MAP files.
  • Introduce static methods to destroy OGRSpatialReference and OGRCoordinateTransformation objects
  • Expose more of the axis orientation API to C
  • Add missing Eckert 1, 2, 3 and 5 projections
  • Fix typos in proj4 conversion for Wagner projections
  • hack in EXTENSION nodes for google mercators (#3136)
  • Validates PROJCS with AXIS definitions (#2739)
  • Added support for urn:ogc:def:crs:OGC::CRS:84 (and CRS:83, CRS:27) per WMS spec.
  • Wide variety of improvements to preserve PE strings through a morphFromESRI() and morphToESRI() process (#2755)
  • Fix inversion of dictionnary filename and GEOGCS/PROJCS name in OGRSpatialReference::exportToERM() (#2819)
  • Fix SpatialReference::IsSame?() for LOCAL_CS case (#2849)
  • Fix bug in ImportFromXML that prevented from retrieving projection method
  • Accept both href and xlink:href in OGC XML
  • improve us foot translation handling (#2901)
  • OGRSpatialReference::importFromUrl() : add a default 10 second timeout to avoid waiting forever when remote server is stalled
  • ensure we can translate mercator1sp with non-zero origin to proj4 (#3026)
  • ensure scalefactor preserved in somerc translation (#3032)
  • SRS_ESRI: attempt to correct equidistant cylindrical parameter morph (#3036)
  • SRS_ESRI: improve plate_carree parameter morphing (#3036)
  • SRS_PCI : Fix PCI projection string handling for UTM
  • esri_extra.wkt: correct equidistant conic definitions (#3086)
  • SRS_PANORAMA : Added support for British National Grid and Pulkovo 1995 datums.
  • Improve recognition of WKT text strings when translating into proj4 hard-coded datum names, in particular nzgd49 (also add ggrs87, carthage, hermannskogel, ire65); Fix ellipsoid parameters for modified airy (#3104)
  • OSRGetEllipsoidInfo() available for various OGR SRS modules
  • added support for OGC:CRS84 and similar srses from wms/wcs spec in SetFromUserInput? (#3090)

BNA driver :

  • Fix output of BNA driver with polygons with inner ring (#2985)
  • Proper CRLF output on Windows (#3256)

CSV driver :

  • Add support for reading and writing CSV files with semicolon or tabulation as the field separator (#2925, #2136)
  • Add automatic treatment of WKT column as geometry
  • Add 'CREATE_CSVT' layer creation option

DXF driver :

  • New for GDAL/OGR 1.7.0

Geoconcept driver:

  • Fix 'private Class and SubClass? headers are inverted' (#2919)
  • Fix error in writing 2.5D/3D export file (#2921)

GeoJSON driver:

  • updated JSON-C library to version 0.9
  • use VSIF*L API

GML driver :

  • Speed-up considerably parsing of GML coordinates in big geometries, in particular on Windows
  • Add support for gml3.1.1 srsDimension attribute, to deal with 3D geometries (#2311)
  • Support multiple <gml:pos> elements in linearrings of polygons (#3244)
  • Limited support for GML3
  • Support direct use of FIDs as long as they are all numeric or they have a completely fixed prefix (#1017)
  • Fix OGRGMLLayer::GetFeatureCount?() if there's a .XSD file available (#2969)
  • Added support for out-of-band attributes on features (for NAS)
  • Adding the date field type to xsd writer and precision info for OFTReal fields. (#2857)

GPX driver:

  • Add GPX_SHORT_NAMES configuration option to make the GPX driver report shorter field names and avoid duplicated field names once translated to shapefile (#2966)
  • Write the <bounds> element (write only)
  • Avoid escaping XML content when writing <extensions>.
  • Add appropriate xmlns when detecting Garmin GPX extensions

GRASS driver:

  • Do not report 3D geometries for 2D GRASS maps (#3009)

GTM (GPSTrackMaker) driver :

  • New for GDAL/OGR 1.7.0 (#3113)

ILI driver :

  • Improved curve segmentation algorithm
  • ILI1: Support for multiple point geomtries
  • ILI1: Support Real and Integer column types

Ingres driver:

  • Utilize the new OGC based ingres capabilities (#3159)

KML driver:

  • Support reading MultiGeometry? and layers with mixed geometry type.
  • Speed-up considerably the reading of huge KML geometries (#3005)
  • Speed-up considerably with huge number of layers
  • Moved the location of the Style element to match the OGC Schema (#2858)
  • Advertize 25D geometry type when relevant (#1803, #1853, #2181)
  • Relax KML driver about xmlns (#3004)

MySQL driver :

  • Fix mysql driver compilation with mysql 5.1/g++-4.3.2 (Mandriva 2009.1) (#2972)
  • Fixed bug MySQL driver truncating decimal places for double field type. (#2852)

OCI driver :

  • OCI varchar2 columns can be up to 4000 bytes (#2876)

ODBC driver :

  • make it slightly less likely that the srs_tablename parsing will interfere with complex DSNs.
  • support for schemas (#1969)

OGDI driver :

  • fix to avoid applying old spatial filter to unrelated layer
  • fix to force ResetReading?() when changing current layer

PGEO driver :

PostgreSQL driver:

  • Add support for tables with 'geography' column type introduced in PostGIS 1.5 (#3216)
  • Extend support of schemas in PG driver with 2 new options in the connection string: active_schema=foo and schemas=foo[,bar] (#522 and #525)
  • Implement OGRPGTableLayer::CreateFeature?() by using UPDATE instead of DELETE + INSERT (#2557)
  • Implement SetNextByIndex?() for layers of PG datasources (#3117)
  • Support PG 'real' data type in tables (#3006)
  • Speed-up PG database opening by avoiding 2 SQL requests per table
  • Avoid evaluating GetFieldIndex?() on each field of each feature, which can be very expensive if the layer has many fields
  • allow ST_AsBinary with non binary connections
  • added a configuration option PG_SKIP_VIEWS.

GeoRSS driver :

  • New for GDAL/OGR 1.7.0 (#2726)

OCI driver:

  • support blob column binding

PCIDSK driver :

  • New for GDAL/OGR 1.7.0

Shape driver :

  • Handle duplicate field names in shapefile driver. (#3247)
  • Support for opening and handling .DBF files > 2 GB (#3011)
  • Optimize to use shape bounds for spatial test before organizing poly (#2775)
  • Support for alternate date format (#2746)
  • Improve/fix TestCapability?() on OGRShapeLayer
  • Refreshed shapelib from upstream

S57 driver :

  • Fix incorrect return value of GetFeatureCount?() on S57 SOUNDG layer when SPLIT_MULTIPOINT=ON; also avoid warning on that layer when ADD_SOUNDG_DEPTH=OFF (#3163)

SQLite driver:

  • Add creation and write support in SpatiaLite?-compatible databases
  • Add SPATIAL_INDEX creation option for SpatiaLite? tables if linked against libspatialite (default to YES)
  • Implement OGRSQLiteTableLayer::TestCapability?(OLCFastFeatureCount)
  • Implement OGRSQLiteLayer::GetFIDColumn() and GetGeometryColumn?()
  • Implement TestCapability?(OLCRandomRead)
  • Add a SQLITE_LIST_ALL_TABLES configuration option to list all(non-spatial) tables into a SQLite DB even if there are spatial tables
  • Avoid reporting the primary key column as a regular column.
  • Better precision for double values in CreateFeature?()

VFK driver:

  • New for GDAL/OGR 1.7.0

VRT driver:

  • Allow fast spatial filtering in the VGS_Direct case
  • Add support for CreateFeature?(), SetFeature?() and DeleteFeature?() operations
  • Added field definition and style control
  • Added new vrt/schema creation capability (@dummy@ datasource, ogr2vrt.py script)
  • Implement 'SrcRegion?' element
  • Add a 'reportSrcColumn' attribute to the 'GeometryField?' to avoid reporting the x,y,wkt or wkb source fields in the VRT layer field definition
  • Forward TestCapability?(), GetExtent?(), SetNextByIndex?() to source layer when possible

XPlane/Flightgear driver:

  • Improve handling of Bezier curves (#3030)
  • Support new file names used by XPlane 9.00 & later
  • Cut into 2 pieces airway segments that cross the antemeridian
  • Add new layer 'Stopway' that contains the shape of the stopway/blastpad/over-run of a runway
  • Recognize code 16 and 17 for seaplane bases and heliports and add a new field to APT layer

SWIG Language Bindings

General:

  • Recommanded SWIG version is 1.3.39
  • Added API :
    • GDAL: gdal.FilldoData(), gdal.FileFromMemBuffer(), gdal.!Unlink(), gdal.ApplyGeoTransform(), gdal.InvGeoTransform(), Band.GetUnitType(), Band.GetBand(), Band.ComputeStatistics(), Band.HasArbitraryOverviews(), RasterAttributeTable.GetLinearBinning() and SetLinearBinning(), extend [Band|Dataset].[ReadRaster|WriteRaster] to accept pixel, line and band spacing parameters
    • OGR: ogr.GeneralCmdLineProcessor(), Geometry.Segmentize(), FieldDefn.GetTypeName(),Geometry.ApproximateArcAngles()
    • OSR: osr.!ImportFromMICoordSys(), osr.!ExportToMICoordSys(), SpatialReference.Clone(),osr.!EPSGTreatsAsLatLong(), osr.!ImportFromEPSGA()
  • Make resampling an optionnal parameter for gdal.RegenerateOverview(), to be consistant with gdal.RegenerateOverviews()
  • NONNULL checks have been added to check various arguments of methods
  • add missing constants : DCAP_VIRTUALIO, color interpretations, OGR constants

CSharp bindings :

  • Add support for GetFieldAsStringList, GetFieldAsDoubleList and GetFieldAsIntegerList in the C# wrapper (#2839)
  • Support MSVC2008 builds with the csharp interface (#2862)
  • Change the dll mapping rules to support the recent MONO versions
  • Use GC pinned arrays instead of the double copy in the RasterIO functions (#3073)
  • Add typemaps to support custom CPLErrorHandler via C# swig bindings

Perl bindings :

  • in Polygonize make a local copy of the parameters as they are potentionally edited

Python bindings :

  • Add support for Python 3.X. Compatibility with Python 2.X preserved (#3265)
  • Remove old-generation Python bindings (gdal/pymod).
  • Add Python binding's version description capabilities (#3137)
  • NUMPY : Make Band|Dataset.ReadAsArray() take into account preallocated array (#2658, #3028)
  • Various memory leaks fixed
  • Fix gdal.RegenerateOverviews(), Feature.GetFieldAsStringList(), Feature.GetFieldAsIntegerList(), Feature.GetFieldAsDoubleList(), Transform.TransformPoints and CoordinateTransformation?.TransformPoints
  • Extend python TransformPoints typemap to accept any sequence (#3020)
  • Make Geometry iterable (#1886)

Java bindings (general changes):

  • Maintained again. A lot of changes to get them into clean state.
  • !RasterIO API : added API for standard Java arrays in addition to DirectByteBuffer
  • Javadoc available at http://gdal.org/java

Last modified 7 years ago Last modified on Feb 20, 2010 2:13:44 AM