wiki:FDORfc54

FDO RFC 54 - FDO Provider for MapInfo .TAB and .MIF/.MID Files

This page contains a request for comments document (RFC) for the FDO Open Source project. More FDO RFCs can be found on the RFCs page.

Status

RFC Template Version(1.1)
Submission Date2010-10-26
Last ModifiedLeaf Li 2010-10-26
AuthorLeaf Li
RFC StatusReady for Review
Implementation StatusPending
Proposed Milestone3.6.0.0
Assigned PSC guide(s)Orest Halustchak, Greg Boone
Voting History(vote date)
+1
+0
-0
-1

Overview

This RFC proposes a new FDO provider for accessing MapInfo .TAB and .MIF/.MID files.

Motivation

MapInfo Professional is a powerful Microsoft Windows-based GIS application. MapInfo datasets can be saved as native (.TAB) format or interchange (.MIF/.MID) format. Currently FDO OGR provider is available in FDO open source website, which provides capability to read MapInfo .TAB and .MIF/.MID files. However, it has the following major limitations. Supports reading only.

  • Not support FdoISelectAggregates command.
  • Support very limited expression.
  • Support limited spatial/non-spatial filter.
  • Cannot handle coordinate system correctly.
  • Support limited data type.
  • Support limited geometric type.
  • ……

FDO MapInfo provider is to create an FDO provider for MapInfo .TAB and .MIF/.MID files to eliminate the limitations above and provide reading/writing capability for .TAB and .MIF/.MID files.

Proposed Solution

FDO MapInfo provider is implemented based on MITAB library (http://mitab.maptools.org/), which is an Open Source C++ library to read and create MapInfo .TAB and .MIF/MID files. It is based on the OGR library which is an implementation of the Open GIS Consortium Simple Feature specification. However, MITAB can’t meet all requirements of FDO MapInfo provider. For example,

  • MITAB doesn’t support update and delete a feature.
  • MITAB doesn’t support some of FDO data type such as boolean and decimal. But .TAB and .MIF/.MID files really support them.
  • ……

So we need to extend MITAB so that it meets our requirement.

Now you can find development version of this provider in Google Code.

http://code.google.com/p/groundnut/

Description

Name: OSGeo.MapInfo.3.6
Display Name: OSGeo FDO Provider for MapInfo .TAB and .MIF/.MID
Description: Read/write access to MapInfo .TAB and .MIF/.MID files.
Is Managed: False
Supported Versions: 3.6.0.0
Feature Data Objects Version: 3.6.0.0
Library Name: MapInfoProvider.dll

Capabilities

  • Command Capabilities
    • Commands
      • Select
      • Select Aggregates
      • Insert
      • Delete
      • Update
      • Describe Schema
      • Apply Schema
      • Destroy Schema
      • Create Spatial Context
      • Get Spatial Contexts
    • Parameters - Unsupported
    • Select Distinct - Supported
    • Select Expressions - Supported
    • Select Functions - Supported
    • Select Grouping - Supported
    • Select Ordering - Supported
    • Timeout - Unsupported
  • Connection Capabilities
    • Configuration - Unsupported
    • Flush - Supported
    • Locking - Unsupported
    • Long Transactions - Unsupported
    • Multiple Spatial Contexts - Supported
    • SQL - Unsupported
    • Timeout - Unsupported
    • Transactions - Unsupported
  • Expression Capabilities
  • Filter Capabilities
    • Spatial Operations
      • Envelope Intersects
      • Intersects
      • Inside
      • Equals
      • Disjoint
      • Touches
      • Overlaps
      • Crosses
      • Within
      • Contains
    • Geodesic Distance - Supported
    • Non Literal Geometric Operations- Unsupported
  • Schema Capabilities
    • Class Types
      • Class
      • Feature Class
    • Data Types
      • Boolean
      • DateTime
      • Decimal
      • Int16
      • Int32
      • Single
      • String
    • Supported AutoGenerated Types - Supported
    • Supported Identity Property Types
      • Int32.
    • Association Properties - Unsupported
    • AutoId Generation - Supported
    • Composite Id - Unsupported
    • Composite Unique Value Constraints - Supported
    • DataStore Scope Unique Id Generation - Unsupported
    • Default Value - Unsupported
    • Exclusive Value Range Constraints - Unsupported
    • Inclusive Value Range Constraints - Unsupported
    • Inheritance - Supported
    • Multiple Schemas - Unsupported
    • Network Model - Unsupported
    • Null Value Constraints - Unsupported
    • Object Properties - Unsupported
    • Schema Modification - Supported
    • Schema Overrides - Unsupported
    • Unique Value Constraints - Unsupported
    • Value Constraints List - Unsupported
  • Geometry Capabilities
    • Dimensionalities
      • XY
    • Geometry Types
      • Point
      • Line String
      • Polygon
      • Multi Point
      • Multi Line String
      • Multi Polygon
      • Curve String
      • Curve Polygon
      • Multi Curve String
      • Multi Curve Polygon
      • Multi Geometry
    • Geometry Component Types
      • Linear Ring
      • Circular Arc Segment
      • Line String Segment
      • Ring
    • Topology Capabilities
      • Topological Hierarchy - Unsupported
      • Topology - Unsupported
    • Raster Capabilities
      • Raster - Unsupported
      • Stitching - Unsupported
      • Subsampling - Unsupported

Test Plan

Development of a set of unit tests available for execution in a stand-alone application.

Funding/Resources

Leaf Li and Aleck Sun.

Last modified 7 years ago Last modified on Oct 25, 2010 9:26:09 PM