We recently upgraded to the latest version of MiTab (via GDAL) and it
broke Multi_Polyline output for TAB files. I have traced it to a recent
change in MiTab_Feature.cpp about line 2100. Previously it did not
check the m_nMapInfoType and now it does, but it appears to check for
the wrong types. The assert 10 lines down seems to confirm this because
it could never be true if the if statement coming in to this block.
Change the if block to test for the condition in the assert seems to fix
the problem. See the diff below (revision #'s are our SVN).
Ned.
Index: mitab_feature.cpp
===================================================================
--- mitab_feature.cpp (revision 12658)
+++ mitab_feature.cpp (working copy)
@@ -2110,8 +2110,10 @@
poPLineHdr->m_nPenId = m_nPenDefIndex; // Pen index
}
- else if ((m_nMapInfoType == TAB_GEOM_PLINE ||
- m_nMapInfoType == TAB_GEOM_PLINE_C ) &&
+ else if ((m_nMapInfoType == TAB_GEOM_MULTIPLINE ||
+ m_nMapInfoType == TAB_GEOM_MULTIPLINE_C ||
+ m_nMapInfoType == TAB_GEOM_V450_MULTIPLINE ||
+ m_nMapInfoType == TAB_GEOM_V450_MULTIPLINE_C ) &&
poGeom && (wkbFlatten(poGeom->getGeometryType()) ==
wkbMultiLineString ||
wkbFlatten(poGeom->getGeometryType()) ==
wkbLineString) )
{
------------------------ Yahoo! Groups Sponsor --------------------~-->
Yahoo! Groups gets a make over. See the new email design.
http://us.click.yahoo.com/XISQkA/lOaOAA/yQLSAA/dkFolB/TM
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/mitab/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/