小编EJ.*_*EJ.的帖子

从PG到SHP的ogr2ogr改变了.DBF中的数据类型

更新:

是的,就是这样!

像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)

gis postgresql shapefile gdal

2
推荐指数
1
解决办法
3214
查看次数

标签 统计

gdal ×1

gis ×1

postgresql ×1

shapefile ×1