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 Date | 2010-10-26 |
Last Modified | Leaf Li 2010-10-26 |
Author | Leaf Li |
RFC Status | Ready for Review |
Implementation Status | Pending |
Proposed Milestone | 3.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
- Commands
- Connection Capabilities
- Configuration - Unsupported
- Flush - Supported
- Locking - Unsupported
- Long Transactions - Unsupported
- Multiple Spatial Contexts - Supported
- SQL - Unsupported
- Timeout - Unsupported
- Transactions - Unsupported
- Expression Capabilities
- See FDO RFC 8 (http://trac.osgeo.org/fdo/wiki/FDORfc8) for a list of the expression functions to implement.
- Geometric Functions based on FDO RFC 11 (http://trac.osgeo.org/fdo/wiki/FDORfc11).
- Filter Capabilities
- Spatial Operations
- Envelope Intersects
- Intersects
- Inside
- Equals
- Disjoint
- Touches
- Overlaps
- Crosses
- Within
- Contains
- Geodesic Distance - Supported
- Non Literal Geometric Operations- Unsupported
- Spatial Operations
- 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
- Class Types
- 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
- Dimensionalities
Test Plan
Development of a set of unit tests available for execution in a stand-alone application.
Funding/Resources
Leaf Li and Aleck Sun.