= 1.6 ESRI to Trunk Merge = This page attempts to track efforts to merge ESRI local changes from the http://svn.osgeo.org/gdal/sandbox/warmerdam/1.6-esri branch into 1.7 trunk circa May 2009. The changes mostly appeared in r17058. == Deferred == {{{ 1.6-esri/gdal/frmts/hdf4/hdf4dataset.cpp (modified) (18 diffs) 1.6-esri/gdal/frmts/hdf4/hdf4dataset.h (modified) (2 diffs) 1.6-esri/gdal/frmts/hdf4/hdf4imagedataset.cpp (modified) (19 diffs) 1.6-esri/gdal/frmts/hdf4/makefile.vc (modified) (1 diff) - The changes are many. It appears ESRI folked the HDF4 driver around 1.5.0 or so, and many modern (1.6) changes are missing and they have done quite a few things themselves. 1.6-esri/gdal/gcore/gdalrasterband.cpp (modified) (1 diff) - Changes in GetHistogram() approximation - I don't understand the rationale. 1.6-esri/gdal/ogr/ogr_core.h (modified) (3 diffs) - Stuff about _ESRI_WKB - I dont understand it. 1.6-esri/gdal/frmts/gtiff/gt_wkt_srs.cpp (modified) (22 diffs) 1.6-esri/gdal/ogr/ogr_fromepsg.cpp (modified) (1 diff) 1.6-esri/gdal/ogr/ogr_spatialref.h (modified) (1 diff) 1.6-esri/gdal/ogr/ogr_srs_api.h (modified) (5 diffs) 1.6-esri/gdal/ogr/ogr_srs_esri.cpp (modified) (15 diffs) 1.6-esri/gdal/ogr/ogr_srsnode.cpp (modified) (1 diff) 1.6-esri/gdal/ogr/ogrspatialreference.cpp (modified) (3 diffs) - Major overhaul - much of this has already been incorporated but we ought to do further review. 1.6-esri/gdal/frmts/bsb/bsbdataset.cpp (modified) (5 diffs) - Various messy changes, not necessarily suitable for trunk. Some of these have already been backported from trunk. 1.6-esri/gdal/frmts/gtiff/libgeotiff/geo_new.c (modified) (1 diff) - This seems to relate to handling missing or NULL ascii key values but I don't understand it at all. 1.6-esri/gdal/gcore/gdaldefaultoverviews.cpp (modified) (2 diffs) - Something specific was changed here instead of leaving things as they were after r16419 but I don't know the rationale. 1.6-esri/gdal/frmts/hfa/hfa.h (modified) (1 diff) 1.6-esri/gdal/frmts/hfa/hfaband.cpp (modified) (20 diffs) 1.6-esri/gdal/frmts/hfa/hfacompress.cpp (modified) (1 diff) 1.6-esri/gdal/frmts/hfa/hfafield.cpp (modified) (1 diff) 1.6-esri/gdal/frmts/hfa/hfaopen.cpp (modified) (10 diffs) 1.6-esri/gdal/frmts/hfa/hfatype.cpp (modified) (6 diffs) - Lots of changes, many of which require some explanation. - Includes NullBlock() support (missing blocks with nodata value). }}} == Processed == {{{ 1.6-esri/gdal/data/gdal_datum.csv (modified) (10 diffs) - Some stuff like "Not specifed (based on...)" altered - ignored. - Added some ESRI datum name equivelents in libgeotiff (r1580). 1.6-esri/gdal/frmts/bmp/bmpdataset.cpp (modified) (2 diffs) - Ignored the portion in IReadBlock(). A bunch of error reporting code during io was replaced by memset(0) on failure - I don't know why. - transferred logic that sets BMP resolution in geotransform (r17065) 1.6-esri/gdal/frmts/ecw/ecwdataset.cpp (modified) (5 diffs) - Several diffs appear to be just white space. - GetProjectionRef() now lets PAM override internal info, but this change has been recoded to avoid possibility of returning NULL. - GetGeoTransform() now returns the PAM geotransform if there is any reason to believe we have overridden with the PAM projection. This is also coded differently than originally, hopefully to a similar effect. - Changes applied in trunk (r17066, r17067) 1.6-esri/gdal/gcore/overview.cpp (modified) (1 diff) - Fix leak if overview generation interrupted. Ported by Even (r17078). 1.6-esri/gdal/frmts/gif/gifdataset.cpp (modified) (14 diffs) - Most changes were already backported from trunk. - Incorporated change to ensure world file is only written in CreateCopy if the source dataset has a geotransform (r?????) 1.6-esri/gdal/frmts/hdf5/hdf5dataset.cpp (modified) (1 diff) - The change in 1.6-esri was to set the subdataset metadata on the dataset if there were at least two subdatasets. I'm not sure why this was not done if there was only one subdataset. I suspect the core change is due to ArcGIS using GetMetadataItem() while the HDF5Dataset was only overriding GetMetadata() for subdatasets. - In trunk I changed to store subdatasets on the base dataset, dropping the GetMetadata() override which was done poorly. - I also added code similar to HDF4 to directly open single subdataset files via HDF5ImageDataset class from HDF4Dataset::Open(). (r17081) 1.6-esri/gdal/frmts/jp2kak/jp2kakdataset.cpp (modified) (4 diffs) - Datatype/scaling changes ignored, mostly better in trunk already. - Added worldfile reading if all else fails. - Added logic to limit tiles to 64K due to jpeg2000 limitation. - Changes are in r17085. 1.6-esri/gdal/frmts/jpeg/jpgdataset.cpp (modified) (2 diffs) - Support .jpw world file - not standard naming (r17087) 1.6-esri/gdal/frmts/mrsid/mrsiddataset.cpp (modified) (6 diffs) - Ensure PAM mechanism supported for nodata values. - Ensure PAM mechanism can be used to override SRS/Geotransform. - Add MG version to metadata. - Avoid capturing large binary metadata. - Changes in trunk (r17089, r17093, r17096). 1.6-esri/gdal/frmts/pcidsk/gdal_pcidsk.h (modified) (2 diffs) 1.6-esri/gdal/frmts/pcidsk/pcidskdataset.cpp (modified) (8 diffs) - Even's changes from r16171 were accidentally discarded (ignored) - Added worldfile reading. - Added PAM fallback for geotransform. - Added support for default overviews (ie. .ovr or .rrd). - Changes in trunk (r17097) 1.6-esri/gdal/frmts/raw/btdataset.cpp (modified) (3 diffs) - Derive from pam already in trunk. - Other changes seem incoherent. 1.6-esri/gdal/frmts/png/pngdataset.cpp (modified) (1 diff) - Only write world file if src has geotransform (r17116) 1.6-esri/gdal/frmts/raw/landataset.cpp (modified) (3 diffs) - Give preferences to PAM coordinate system. - Fallback to PAM geotransform. - The implementation in trunk (r17117) is quite different than esri branch but should hopefully achieve the same thing. 1.6-esri/gdal/frmts/dted/dteddataset.cpp (modified) (7 diffs) - Give precidence to .aux.xml or .aux for srs (r17118). 1.6-esri/gdal/frmts/ers/ersdataset.cpp (modified) (2 diffs) - Give precidence to .aux.xml or .aux for srs (r17119). 1.6-esri/gdal/frmts/raw/ehdrdataset.cpp (modified) (16 diffs) - Add support for update .clr (color table) files. - Add support for .flt (32bit float) files. (r17120) 1.6-esri/gdal/gcore/gdal_misc.cpp (modified) (3 diffs) - Support reading world files with blank lines (r17121) 1.6-esri/gdal/gcore/gdalpamdataset.cpp (modified) (1 diff) - This change (add aux to file list) was regressed again in r17068. - So, no action required. 1.6-esri/gdal/frmts/gtiff/geotiff.cpp (modified) (32 diffs) - 1.6-esri missing r16987, backported in r17135. - Changes to not have colortables on one bit color tables - ignored. This will result in inappropriate display characteristics in other apps. - Change to make WORLDFILE=YES to tfw instead of wld - ignored. - slightly alternate logic with regard to using GCPs, but I don't understand the rationale - ignored. - where world files searched for changed, don't know why - ignored. - bIsXML setting location different for no apparent reason - ignored. - Changes with regard to bigtiff sizes appears to already match trunk. - SPARSE_OK defaults to TRUE instead of FALSE, no idea why - ignored. - NBITS set for GTiffOddBits - incorporated. - YCbCr JPEG added as a compression type - incorporated. - generate MINISWHITE IMAGESTRUCTURE metadata item - incorporated. - Set missing blocks to the nodata value if there is one - incorporated, but without the implicit nodata value of 1 when NBITS=1. - Changes incorporated in trunk as r17137. 1.6-esri/gdal/gcore/gdaldataset.cpp (modified) (2 diffs) - GDALDumpOpenDatasetsForeach() change was a missing patch since 1.6.1RC1, fixed in 1.6-esri branch (r17138). - GetFileList() checks for world files (incorporated, r17140). 1.6-esri/gdal/frmts/nitf/nitfdataset.cpp (modified) (11 diffs) - Added support for unpacking a variety of pixel depths, incorporated in trunk as r17141. - Care taken to not loose Even's size validation code. 1.6-esri/gdal/frmts/nitf/nitfimage.c (modified) (4 diffs) - Added support for reading odd numbers of bit data. - Fix for flipped GCPs in some cases. - Incorporated in trunk as r17142. }}} == Ignored == {{{ 1.6-esri/gdal/makefile.vc (modified) (3 diffs) 1.6-esri/gdal/nmake.opt (modified) (17 diffs) - Wide variety of changes - likely not suitable for mainline. 1.6-esri/gdal/apps/makefile.vc (modified) (3 diffs) - accidental removal of gdalbuildvrt. 1.6-esri/gdal/data/esri_extra.wkt (modified) (1 diff) - added 31491-31495 but these already existing in EPSG resources. 1.6-esri/gdal/frmts/nitf/makefile.vc (modified) (1 diff) 1.6-esri/gdal/frmts/mrsid/makefile.vc (modified) (1 diff) 1.6-esri/gdal/ogr/wcts/makefile.vc (modified) (1 diff) 1.6-esri/gdal/pymod/makefile.vc (modified) (1 diff) 1.6-esri/gdal/swig/csharp/makefile.vc (modified) (2 diffs) 1.6-esri/gdal/swig/java/makefile.vc (modified) (1 diff) 1.6-esri/gdal/vb6/makefile.vc (modified) (1 diff) 1.6-esri/gdal/ogr/ogrsf_frmts/oci/makefile.vc (modified) (1 diff) - Changes related to more than one build target. 1.6-esri/gdal/frmts/gdalallregister.cpp (modified) (7 diffs) - I don't see any particular pattern to the rearrangement done here. 1.6-esri/gdal/frmts/hdf4/hdf-eos/makefile.vc (modified) (1 diff) - -D_HDFDLL_ is passed in HDF4_FLAGS, but I'm not sure why - ignoring for now 1.6-esri/gdal/frmts/jp2kak/makefile.vc (modified) (1 diff) - Adds CORESYS_IMPORTS and KDU_AUX_IMPORTS to defines, not sure why. 1.6-esri/gdal/frmts/makefile.vc (modified) (2 diffs) - ESRI specific format selection. 1.6-esri/gdal/frmts/raw/idadataset.cpp (modified) (2 diffs) - Adjust precision of Clarke 1866 ellipsoid. I don't know what the justification is for this, so I'm avoiding it. The value currently used seems to be much closer to the value I compute than the value in the esri branch. 1.6-esri/gdal/frmts/gtiff/libgeotiff/geo_normalize.c (modified) (4 diffs) - Changes the order of preference when searching for Albers/Equidistant NatOriginLong to give preference to ProjCenterLongGeoKey over ProjNatOriginLongGeoKey. I cannot imagine cases in which there is a conflict so I see no point in incorporating this. - There is a bunch of stuff related to introducing invFlattening into the definition, but I believe this was already incorporated into trunk in such a way that no changes in libgeotiff were required. - Logic to use already found datum or ellipsoid but this code does not seem to do anything since GTIFKeyGet does not alter the value argument if the key is not found. }}}