【发布时间】:2017-12-15 20:57:47
【问题描述】:
我有安装了 postgis 2.4 扩展的 postgres 10。
db.none(`INSERT INTO resto_poly_sub (foo, bar geom) VALUES $1 $2,
ST_Force2D(ST_GeomFromGeoJSON($3))`, restoPolyArray)
以上不是完整的代码,但我尝试将其最小化。
我正在使用它来将我的数据插入到数据库中。它适用于点,但不适用于 MultiPolygons 或 MultiLineStrings。它会将所有数据插入到数据库中而不会出现错误,但是当我使用 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]
}
}
}
]
我只是插入属性。
【问题讨论】:
-
提前感谢各位的帮助
-
resto_point_sub表的定义是什么?几何的列类型是什么?来自 PostGIS 的错误是什么?你读过GeoJSON standard吗? -
@IvanSanchez 没有错误。它将插入到表中,但检索时值变为空。
-
CREATE TABLE resto_poly_sub { foo integer NOT NULL, bar numeric(10,0), geom geometry(MultiPolygon) }
-
尝试创建没有任何几何类型的表几何列。
标签: postgresql leaflet postgis