我有postgres 10安装了postgis 2.4扩展程序。
db.none(`INSERT INTO resto_poly_sub (foo, bar geom) VALUES $1 $2,
ST_Force2D(ST_GeomFromGeoJSON($3))`, restoPolyArray)
上面不是完整的代码,但我试图将其最小化。
我正在使用它将数据插入数据库。它适用于点,但不适用于MultiPolygons或MultiLineStrings。它会将所有数据插入到db中而没有错误,但是当我使用select语句检索数据时,它会返回一个空的几何值。
正在插入的数据正在从传单中提取。
[
{
type: 'Feature',
properties: {
foo: 17000,
bar: null
geom: {
type: 'MultiPolygon',
coordinates: [
[
[ -115.35644531250001, 37.4364847574233 ],
[ -115.33447265625001, 36.950769770175164 ],
[ -114.69726562500001, 37.08673426633463 ],
[ -114.70825195312501, 37.27929803862557 ],
[ -115.35644531250001, 37.4364847574233 ]
]
],
crs: [Object]
}
}
}
]
我只插入属性。
答案 0 :(得分:0)
我明白了。我在我的数据库中插入一个多边形而不是多边形,因此它会因某种原因导致它变空。
我使用了这个ST_Force2D(ST_Multi(ST_GeomFromGeoJSON(geom)))
具体来说,ST_Multi()
函数可以为我转换它。