繁体   English   中英

GDAL 版本 3 及更高版本不适用于 Mapinfo 和小数字段

[英]GDAL version 3 and higher does not work with Mapinfo and Decimal Fields

我在尝试将 MapInfo 文件从 MID/MIF 格式转换为 TAB 格式时遇到问题。 此问题发生在 GDAL 3.0.4 及更高版本中。 在 2.1.2 版中,一切正常。

我使用以下命令

ogr2ogr -f "MapInfo 文件" "test.tab" "test.mif"

错误如下

错误 1:无法将 1234.1 格式化为 20.16 字段 错误 3:无法在 test.tab 中写入要素 ID 1 的属性 错误 1:无法从层测试写入要素 1。 错误 1:层测试翻译失败后过早终止翻译(使用 -skipfailures 跳过错误)

这里以 MapInfo 文件 MID/MIF 格式为例

测试.mif

测试.mid

谁能解释这个错误的原因是什么?

我正在尝试使用 GDAL 3.5 版,但仍然出现此错误。

如果我将列类型更改为 Float,则一切正常。

但我不能只改变现有文件的格式

您的值“1234.1”太大了。

从文档中:

小数字段存储单精度和双精度浮点值。 宽度是分配给字段的字符总数,包括小数点。 精度控制数据的精度,是小数点右边的位数。

您的十进制定义“Decimal (20,16)”只为 integer 部分保留了 3 位数字。 尝试较小的值,即:999.4 或将小数格式更改为小数 (20,15)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM