2017-11-21 16 views
0

postgis 2.4拡張機能をインストールしたpostgres 10があります。postgis拡張子付きポストグルdbにマルチポリゴンを挿入できません

db.none(`INSERT INTO resto_poly_sub (foo, bar geom) VALUES $1 $2, 
 
ST_Force2D(ST_GeomFromGeoJSON($3))`, restoPolyArray)

以上完全なコードではありませんが、私はそれを最小化しようとしました。

私はこのデータをデータベースに挿入するために使用しています。ポイントで動作しますが、MultiPolygonsやMultiLineStringでは動作しません。すべてのデータを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

事前にお手伝いいただき、ありがとうございます – BStill

+0

'resto_point_sub'テーブルの定義は何ですか?ジオメトリの列タイプは何ですか? PostGISからのエラーは何ですか?あなたは[GeoJSON標準](http://geojson.org/)を読んだことがありますか? – IvanSanchez

+0

@IvanSanchezそこからエラーはありません。テーブルに挿入されますが、値を取得すると値は空になります。 – BStill

答えて

0

私はそれを理解しました。マルチポリゴンではなくデータベースにポリゴンを挿入していたので、何らかの理由で空になってしまいました。

私は私のためにそれを変換するには、このST_Force2D(ST_Multi(ST_GeomFromGeoJSON(geom)))

具体的ST_Multi()機能を使用していました。

関連する問題