2017-11-21 11 views
0

Postgis 2.4 확장판이 설치된 Postgres 10이 있습니다. postgres 확장자가있는 postgres db에 다중 다각형 삽입에 문제가 발생했습니다.

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

전체 코드가 아닙니다하지만 난 그것을 최소화하기 위해 노력했다.

데이터베이스에 데이터를 삽입하는 데 사용하고 있습니다. 멀티 포인트 또는 다중 라인 문자열이 아닌 포인트와 함께 작동합니다. 모든 데이터를 오류없이 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() 기능을 사용했다.