⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 history.txt

📁 mitab,读取MapInfo的地图文件
💻 TXT
📖 第 1 页 / 共 3 页
字号:
   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, FW


Version 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). NFW


Version 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
  - Avoid crash if .IND file for related table is missing (i.e. deleted)

- The OGRDriver Create method will now accept the FORMAT=MIF option to
  create a dataset of mif files instead of tab files. NFW

- Prevent an infinite loop of calls to LoadNextMatchingObjectBlock() in
  GetNextFeatureId() if no objects found in spatial index when using a 
  spatial filter.

- False Easting/Northing should be in the linear units of measure in MapInfo,
  but in OGRSpatialReference/WKT they are always in meters.  Convert 
  accordingly in mitab_coordsys.cpp and mitab_spatialref.cpp.  NFW

- Added support for reading and writing new V650 Multipoint for both TAB and 
  MIF.

- Added support for Cassini Soldner projection (projection 30). NFW

- Add EOF validation in MIDDATAFile::GetLastLine() to fix EOF problems
  while reading some MIF/MID files (Bug 819, JSL)

- New VB, Pascal, and MapBasic interfaces contributed by Bo Thomsen.
  See contrib/README_VB.TXT

- Added to C API: mitab_c_get_field_width(), mitab_c_get_field_precision()


Version 1.1.3 - (2001-11-02)
----------------------------

- mitab_tabview.cpp: Use VSIUnlink() instead of unlink(). NFW.

- mitab_utils.cpp: Don't use multi-byte support if _WIN32 and unix are
  defined to try and preserve cygwin support. NFW

- C API: Added mitab_c_get_text().
         Added mitab_c_get_mif_coordsys()
         Added mitab_c_get_projinfo() and mitab_c_set_projinfo()
         Changed mitab_c_create() to make bounds optional and allow using
         default projection bounds if available

- GetLabelStyleString(): take line spacing and num. of lines into account
  when calculating text height.

- Test for NULL geometries if spatial filter enabled in GetNextFeature()
  (objects with NONE geometry would have caused a crash when a spatial 
   filter was set).

- Fixed a few memory leaks in mitab_miffile.cpp.  NFW.

- Fixed mitab_capi.c to not delete the spatial ref unless dereferencing it
  drops the count to 0.  NFW.

- Modified TABFile::SetSpatialRef() to clone the passed in OGRSpatialReference
  instead of taking a reference to it, so it will work with stack allocated
  OGRSpatialReferences or in cases where the caller doesn't check ref counts.
  NFW.

- TABPolyline::ValidateMapInfoType(): return TAB_GEOM_NONE if numpoints < 2

- Substantial additions to lots of files adding support for efficient
  spatial queries by utilizing the spatial indexes when reading.  NFW.

- TABText should not produce an error if reading a 0-length text.

- Seamless files: when reading on Unix, replace '\\' with '/' in file path
  read from the index table.

- Modified mitab_miffile.cpp to keep track of the feature id of the 
  preloaded text line in m_nPreloadedId instead of m_nCurFeatureId to fix
  serious problems with access through IMapInfo::GetNextFeature() - this
  affects applications using the pure OGRLayer API to access mif files. NFW

- mitab_middatafile.cpp: Use VSIRewind() instead of rewind() to ensure that

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -