postgreSQL에서 shp 파일을 로딩하여 만든 테이블을 읽어올때 질문 0 0 91

by 고등어통조림 [DB 기타] [2019.09.09 11:34:13]


7.PNG (458,913Bytes)

/*
asos_pt_jb.shp 파일 DB import -> asos_pt_jb 테이블 생성됨
*/
CREATE TABLE tmp_asos_pt_jb
    AS
    SELECT * FROM asos_pt_jb
    WHERE "종료일" is null;

/*
aws_pt_jb.shp 파일 DB import -> aws_pt_jb 테이블 생성됨
*/
CREATE TABLE tmp_aws_pt_jb
    AS
    SELECT * FROM aws_pt_jb
    WHERE "종료일" is null 
;

### 기상관측소 통합 데이터 생성
CREATE TABLE wth_stat_pt
(
    gid integer,
    pt_no numeric(10,0),
    pt_name character varying(10),
    inst_date character varying(10),
    mn_station character varying(6),
    geom geometry(point, 5179)
);

INSERT INTO wth_stat_pt(gid, pt_no, pt_name, inst_date, mn_station, geom)
SELECT gid, "지점", "지점명", "시작일", '종관기상관측', geom
FROM tmp_asos_pt_jb ;

INSERT INTO wth_stat_pt(gid, pt_no, pt_name, inst_date, mn_station, geom)
SELECT gid, "지점", "지점명", "시작일", '방재기상관측', geom
FROM tmp_aws_pt_jb ;

INSERT INTO wth_stat_pt(gid, pt_no, pt_name, inst_date, mn_station, geom)
SELECT gid, "표준지점번", "지점명", "장비설치일", '산악기상관측', geom
FROM ffr_pt_jb ;

----------------------------------------------------------------------------------------------

현재 insert 에서 오류가 납니다.

오류 내용은 아래와 같습니다.

ERROR: 오류: Geometry SRID (0) does not match column SRID (5179)

SQL state: 22023

 

wth_stat_pt 테이블에 shp 파일을 디비에 import 해서 만들어진 tmp_asos_pt_jb 테이블을 읽은 값을 넣으려는 것 같은데

좌표계? 가 맞지 않는것 같습니다.

테이블의 지리정보? 를 확인해 보니 아래와 같습니다.

일단 제 판단이 맞는진 모르겠지만

읽는 값인 tmp_asos_pt_jb 테이블엔 srid 값이 설정이 안 되어 있습니다.

그런데 넣으려고 하는 테이블인 wth_stat_pt 은 5179로 설정이 되어 있어서 둘이 맞지 않기 때문에 오류가 나는것 같습니다.

쿼리를 바꿔야 할것 같은데 어떻게 바꿔야 할지 모르겠습니다.

 

 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입