更新:
是的,就是这样!
像mloskot说的那样,需要倾倒整个表格.使用sql选择字段会丢失有关fuield宽度的信息.
谢谢,修好了!
大家好,
我有ogr2ogr的问题.我正在尝试将PostgreSQL表格转储到Shapefile.ogr2ogr似乎改变了整数和char等数据类型的大小.
以下是Shapefile集读入的DB结构的一部分:
Table "test"
nd_1 - numeric(8,0)
nd_2 - numeric(2,0)
nd_3 - numeric(2,0)
nd_9 - character varying(60)
Run Code Online (Sandbox Code Playgroud)
它看起来正确.
这是有趣的开始:
ogr2ogr air5000.shp "PG: [...]" sql 'select
CAST(nd_1 AS INTEGER),
CAST(nd_2 AS INTEGER),
CAST(nd_3 as INTEGER),
CAST(ND_9 AS CHARACTER VARYING(60))
from test' ;
Run Code Online (Sandbox Code Playgroud)
然后
dbview -e test.dbf
Field Name Type Length Decimal Pos
nd 1 - N - 11 - 0
nd 2 - N - 11 - 0
nd 3 - N - 11 …Run Code Online (Sandbox Code Playgroud)