【发布时间】:2021-02-27 22:55:49
【问题描述】:
在R中,我已经成功使用sf包,st_write函数将sf对象写入shapefile,使用ESRI shapefile驱动程序)。我了解st_write 函数依赖于GDAL。
我需要在 df 中编写具有多个 character 类属性的 shapefile。正如预期的那样,这些都是默认的 80 个字符宽度。我需要将这些属性写入更窄的字段宽度。
来自GDAL page:
字段大小驱动程序知道自动扩展字符串和整数字段 (最多由 DBF 格式强加的 255 字节限制)动态 适应要插入的数据的长度。
也可以强制将字段大小调整为最佳 宽度,通过数据源发出 SQL ‘RESIZE’ ExecuteSQL() 方法。这在以下情况下很方便 默认列宽(字符串字段为 80 个字符)大于 必要的。
我需要这样做并强制调整大小,但我不明白如何通过数据源 ExecuteSQL() 方法实现 SQL RESIZE<tablename>。我对 SQL 不流利(或经验丰富),因此不知道从 R 开始。
有人有在 R 中这样做的例子吗?你能指出我正确的方向或提供一个例子吗?
【问题讨论】: