I am working on parsing a MapInfo TAB Format file in Java. It consists of a set of four files viz .TAB, .ID, .MAP and .DAT. After searching on web I came across a parser provided by GeoTools at this repository:
https://github.com/geotools/geotools/blob/master/modules/library/main/src/main/java/org/geotools/data/MapInfoFileReader.java
When I use this API for parsing the MAPInfo TAB format file bundle, the API throws exception:
"Didn't find a minimum of three control points in the .tab file."
I am using public MapInfoFileReader(final File tabfile) constructor. I have tried using different versions of Geotools API.
Is there a work around for parsing MapInfo TAB Format file in Java? Or if anyone can provide sample code for using GeoTools' MapInfoFileReader
解决方案
There is no direct way to parse .TAB using java code. First of all you need to convert .TAB into KML or other extension using Gdal1 or ogr2ogr using this command line tool
ogr2ogr -f "KML" "filepath/filename.kml" "filepath/filename.TAB"
After that you can parse .kml file using java code using DOM parser2 API available in java.