history.txt
来自「支持各种栅格图像和矢量图像读取的库」· 文本 代码 · 共 738 行 · 第 1/2 页
TXT
738 行
MITAB Library - Revision History================================This is a human-readable revision history which will attempt to documentrequired changes for users to migrate from one version of MITAB to thenext. Developers are strongly encouraged to document their changes andtheir impacts on the users here. (Please add the most recent changes to the top of the list.)For a complete change history, please see the CVS log comments.CHANGES - Current Version:--------------------------Version 1.5.1 (2006-07-25)--------------------------- Fixed initialization of MBR of TABCollection members (bug 1520)- Added mapping for datum name "North_American_Datum_1927". - Fixed problem with uninitialized affine parameters written to .MAP header, resulting in files not readable in MapInfo, introduced by bug 1155 in MITAB 1.5.0 (bug 1254, 1319)- Fixed problem writing PLINE MULTIPLE to TAB format introduced in MITAB 1.5.0 (bug 1466).- tab2tab: Set dataset bounds only after setting spatialref to prevent default coordsys bounds from taking precedence when bounds are available in source dataset (bug 1511)- Coordsys false easting and northing are in the units of the coordsys, not necessarily meters. Adjusted mitab_coordsys.cpp to reflect this. http://bugzilla.remotesensing.org/show_bug.cgi?id=1113- Similar problem in mitab_spatialref.cpp for TAB files also fixed. http://bugzilla.remotesensing.org/show_bug.cgi?id=1113Version 1.5.0 (2006-02-16)--------------------------- Updated contrib/mitab_dyn.pas with new C API functions. Note that other definition files for VB and .NET have *not* been updated for this release.- Fixed crash when attempting to write TABPolyline object with an invalid geometry (GDAL bug 1059)- cast strstr() results as per email from Charles Savage for VC8.- Fixed build problem (link with -ldl not available) on MacOSX (bug 1167)- Fixed problem with white space parsing in mitab_miffile.cpp (bug GDAL:954)- layers with just regions can't be set as type wkbPolygon because they may have multipolygons (bug GDAL:958) http://bugzilla.remotesensing.org/show_bug.cgi?id=958- Fixed support for multi character delimiters in .mid file (bug 1266)- Fixed reading Mills.mif (TABPoint::ReadGeometryFromMIFFFile()), the check for SYMBOL didn't check if pszLine was non-NULL.- Fixed memory leak of m_pszDelimiter in mitab_middatafile.cpp.- Fixed OGR problems with setting bounds on MIF files, and wrong bounds on tab files (bug 1198)Version 1.5.0-beta1 (2005-10-07)--------------------------------- Added read/write support for MapInfo Collections in MIF and TAB (bug 1126) (Thanks to funding from Comcast (Andy Canfield) and an initial patch and analysis of collections by Jim Hope of Innogistic Software)- New C API methods to access collection members (bug 1126): - mitab_c_get_collection_region_ref() - mitab_c_get_collection_polyline_ref() - mitab_c_get_collection_multipoint_ref() - mitab_c_set_collection_region() - mitab_c_set_collection_polyline() - mitab_c_set_collection_multipoint()- Support for writing affine projection params in .MAP header (AJD, bug 1155)- New C API methods to get/set various projection parameters (AJD, bug 1155): - mitab_c_get_projection_info() - mitab_c_set_projection_info() - mitab_c_get_datum_info() - mitab_c_set_datum_info() - mitab_c_get_affine_params() - mitab_c_set_affine_params()- All datum definitions in mitab_spatialref.cpp now have the correct names (Anthony D, bug 1155)- Added bounds entries for Finnish KKJ and Swedish projections (AJD, bug 1155)- mitab_ogr_datasource.cpp: avoid leak of CPLReadDirectory() result.- gcc4 related warnings in mitab_coordsys.cpp and mitab_utils.cpp avoided.- Change the way \n and \ are handled internally. Now they are stored unescaped in memory and escaped only when writing MIF files. (bug 1107)- Improved handling of Danish modified TM proj#21-24 (HSS, bugs 976,1010)- Upgraded CPL and OGR source from latest GDAL CVS (as of 2005-05-12)- Produce a fatal error if creating an index of a size that exceeds the .IND file format limitation (tree depth > 255) (OGR Bug 839)- Added mitab_c_set_symbol_angle() and mitab_c_get_symbol_angle() for point symbols of type TABFC_FontPoint (bug 1002)- Added rule in cpl/GNUmakefile to copy cpl_config.h from cpl_config.h.in. (FW)- Changed to use OGRLayers spatial filtering support. (FW)- A few fixes to support for modified TM projections #21-24 (AJD, bug 1155)- Fixed missing initialization of default .MID file delimiter ("\t") (Anthony D - bugs 1155 and 37)Version 1.4.0 (2005-04-01)-------------------------- - Added bounds entry to match datum 1011 based on MapInfo's "Svenska rikssystemet, 2,5 gon väst (RT 90 7 parametrar)" (bug 997) - Added initial version of .NET bindings, contributed by Graham Sims in mitab/contrib/dotnet directory (bug 992) - Added support for Datum Id field in .MAP header, this is new in MapInfo 7.8+ and solves problem with multiple datums with same params (bug 910) - Fixed internal integer coordinates rounding error (bug 894) - Fixed potential memory leaks in error conditions in mitab_feature.cpp and mitab_rawbinblock.cpp (bug 881) - Support pen width bigger than 7. Note that any pen bigger than 10 are considered as point, not pixel. (bug 683) - Updated list of datum parameters from data made available by Bill Wemple from MapInfo on directionsmag.com: 7 new datum defns and 1 fixed. List of ellipsoids also updated (Bug 608, patch by Uffe K.) - Do not output a BG color in style string for transparent brushes (bug 693) - mitab_tabfile.cpp: Several fixes for TABFile::Open() when loading the tabfile fails. (provided by Stephen Cheesman). - mitab_mapfile.cpp: Fixed error return value in LoadNextMatchingObjectBlock() per http://bugzilla.remotesensing.org/show_bug.cgi?id=615. NFW - mitab_ogr_datasource.cpp: Modified CreateLayer() to use -1000,-1000,1000,1000 bounds for GEOGCS much like in mitab_bounds.cpp. This ensures that geographic files in the range 0-360 works as well as -180 to 180.Version 1.3.0 (2004-07-07)-------------------------- - Use tab as default delimiter (if none is explicitly specified) when reading .MIF/.MID files (Anthony D, bug 37) We still generate new files using comma as delimiter. - C API: Added mitab_c_get_feature_count() and mitab_c_get_field_as_double(), added ability to create a feature of type TABFC_NoGeom (Anthony D) - Added support for reading affine coordsys parameters in extended .map header block of v500+ (Anthony D, bug 41) - Added mitab_c_getlibversion() to C API. (Uffe K. - bug 21) - Write 3D geometries to MIF/tab as if they were 2D. NFW - Flush out .mif header on Close() if no features written. NFW - Fixed previous flushing logic to only do so for writable files. NFW - Removed obsolete mif2mif.cpp mif2tab.cpp mif2tabbatch.cpp. They are all replaced by the more up to date tab2tab.cpp - Modified the OGR creation logic to properly support creating single files sets rather than directories full of files. NFW - Fixed memory leaks with seamless tab files (bug 283) - Call CPLReadLine(NULL) in MIDDATAFile::Close() to cleanup working buffer. - Removed special bailout for m_poMAPFile == NULL in TABFile::Close(). It is important to cleanup other used memory. - mitab_coordsys.cpp: fixed small memory leak for non-earth coordinate systems. (bug supplied by Stephen Cheeseman, Geosoft). - Added mitab_c_load_coordsys_table() to C API (bug 469) - mitab_ogr_datasource.cpp: Don't report single layer that hasn't been "created" yet via GetLayerCount(). Fixes up single file generation issues.Version 1.2.4 (2003-07-23)-------------------------- - Added 'indexed' and 'unique' parameters to mitab_c_add_field(). Applications written for older versions of the C API will have to be updated to pass these two new parameters. - Ensure that a blank line in a mid file is treated as one field containing an empty string instead of being zero fields. NFW - Fixes to support mif/mid files produced by Geomedia V5 (bug 1631): - Do not produce an error if .mid data records end with a stray ',' - Treat tabs (\t) as a blank space delimiter when reading coordinate values in .mif file - Fixed sign of rotation parameters in TOWGS84 parameters in WKT. MapInfo uses EPSG 9607's 7 parameter datum shift method, but TOWGS84 is defined to hold EPSG 9606 style parameters. Only the rotational signs differ. NFW - Fixed spelling of Provisional_South_American_Datum_1956 in datum list. NFW - Fixed bug parsing ellipsoid out of CoordSys strings for coordinate systems with datum 999 or 9999. NFW - Fixed leak of TABMAPObjHdr when writing NONE geometries in SetFeature(). - Increased MIF reader line buffer size to 10000 chars - Added support for writing TABFC_NoGeom (NONE) geometries via the C API. - Fixed crash when reading .mif file that doesn't contain a DATA line (Thanks to Riccardo Cohen for the fix). - Implement DeleteDataSource() method on the driver object. NFW - mitab_spatialref.cpp, mitab_coodsys.cpp: Fixed up regional mercator logic. It was screwing up transverse mercator with non-zero latitude when writing to tab, and wasn't being written properly to .mif. NFW - mitab_feature.cpp: fixed C++ style true/false where TRUE/FALSE required. As per GDAL bugzilla 311. NFW - Fixed problem scanning node in TABINDNode::FindNext() - bug 2176, FWVersion 1.2.3 - (2002-10-15)----------------------------- Support auto-addition of a dummy "FID" column if TAB files are created with no fields, instead of producing an error. A corresponding change has not yet been applied to the MIF driver. NFW- Fixed lots of places that check for errors by examining CPLGetLastErrorNo(). A warning will trigger all these places as an error. Changed to check that the last error type was CE_Failure and add a CPLErrorReset() at the beginning of many affected sections. NFW- Modified TABGetBasename() (in mitab_utils.cpp) to stop at the first forward or backslash otherwise "C:/warmerda/mi\can_caps.tab" will result in a basename of "mi\can_caps.tab". NFW- Modified datum list in mitab_spatialref.cpp with a bunch of new EPSG/OGC datum names provided by Siro Martello from Cadcorp. NFW- Fix memory leak of m_pszIndex in mitab_miffile.cpp, the poSpatialRef in TABFile::SetMIFCoordSys(), and a leak in MITABExtractCoordSysBounds(). NFW- Added untested support in mitab_spatialref.cpp, and mitab_coordsys.cpp for projections Regional Mercator (26), Polyconic (27), Azimuthal Equidistant - All origin latitudes (28), and Lambert Azimuthal Equal Area - any aspect (29). NFWVersion 1.2.2 - (2002-07-06)----------------------------- Added a validation in TABMAPFile::GetFeatureId(). When there's no .map file or no spatial indexes or no geometry, the function return -1 like an Eof. This prevent the reading of a file set to NULL. (bug 169 (MapServer))- Treat Region as MultiPolygon in mitab_c_set_point() to support Regions with multiple islands and holes. Passing a part number <= 0 (second parameter in mitab_c_set_point()) will result in adding a new island (i.e. polygon). By default, parts > 1 are treated as holes in the last island (polygon) that was created.- Added IsInteriorRing() function in the TABRegion class to validate if a ring in a polygon is an external or an internal ring. The function returns true if the specified ring is an interior ring. The function mitab_c_is_interior_ring() in mitab_capi.c has been created too to call IsInteriorRing() if the feature is a region.- In mitab_mapheaderblock.cpp, the Coordsys2Int() function used integer values to check for overflow. However, in some case, integer was to small and caused problems with applications that called SetSpatialFilter() with a filter much larger than the file's bounds. So, this function now uses doubles internally for comparison, but still returns and receives integers.- Add SetSpatialFilter function in the TABSeamless class, to use seamless layer in the right way. Now, the filter is applied on each data file and on the index file. (Bug 164 (MapServer))Version 1.2.1 - (2002-05-08)----------------------------- Implement SetMIFCoordSys in the MIFFile class. The coordsys was not written when calling mitab_c_create for MIF files because MIFFile::SetMIFCoordSys always returned -1 (Bug 984).- Added support for TABFC_FontPoint and TABFC_CustomPoint in mitab_c_create_feature(), mitab_c_set_points(), mitab_c_set_font() and mitab_c_get_font().- mitab_capi.h: Use stdcall by default for all public mitab.dll functions instead of cdecl. Should still work fine for C/C++ users, and will allow VB/Delphi users to use the same DLL with Bo T.'s interface files.Version 1.2.0 - (2002-05-03)----------------------------- Made changes in TABRelation to avoid an infinite loop. The m_poCurFeature object have been deleted and the function GetFeatureRef() have been replace by GetFeature(). This new function return a TABFeature object that must be control by the calling method. (bug 706)- Made important changes in order to support writing objects in 16 bits coordinate format. New TABMAPObjHdr-derived classes are used to hold object info in memory until block is full. This was required in order to fix a problem when very small regions were written in 32 bits coordinates when 16 bits should have been used because MBR < 65536. In this case MapInfo would attempt to rewrite the modified object info in 16 bits format while the coordinates blocks are still in 32 bits format... resulting in a corrupted the file. Note that at this point only feature types that use separate coordinate blocks can be saved in 16 bits format (PLINE, MULTIPLINE and REGION).- Prevent writing of coordinates outside of the +/-1e9 integer bounds. If coordinates outside of that range are written then the values are written as +/-1e9 instead and a warning (ERROR 503) is produced when the file is closed. Coordinates outside of the +/-1e9 bounds limits seemed to confuse MapInfo.- Disabled the warning (ERROR 503) when coordinates outside of the +/-1e9 integer bounds in SetCoordFilter().- Modified the conversion of double to integer coordinates to fix an old problem where coordinates written by MITAB would be a little bit off sometimes compared with the same values written by MapInfo.- Modified mitab_capi.cpp to correctly produce "point" style arcs from mitab_c_set_arc(). It now sets a point geometry ensuring that the TABArc::ValidateMapInfoType() method will succeed. As per DMSG Bug 644. NFW- Fixed some TABView issues (bug 703): - Support "select * ..." syntax - Accept source table names with or without the .tab extension
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?