우선 ige(ige:img파일의 용량이 크면 ige로 확장자명이 변경) 파일을 TIFF 파일로 변환하였다 (QGIS 활용)
※ TIFF (Tagged Image File Format) : TIFF 파일은 이미지 데이터 외에도 여러 가지 종류의 메타데이터(부가 정보)를 포함할 수 있는데, 이러한 메타데이터는 태그(tag)로 구성
이후 cmd창에 아래와 같이 입력하여 PostgreSQL에 해당 래스터 데이터를 등록하려고 했으나,
cd C:\Program Files\PostgreSQL\16rc1
raster2pgsql -c -I -F -s 4326 -t 128x128 피일경로\파일명.tif 스키마.테이블 | psql -U postgres -d DB명 -h 호스트 -p 포트번호
※ c : create, I : index, f : 래스터가 포함된 테이블이 이미 존재하면 삭제하고 다시생성, s 4326 좌표계(EPSG코드), t 128x128 : 타일의 크기를 128x128, h 호스트명, p 포트번호
※ C:\Program Files\PostgreSQL\16rc1 부분은 은 각자 PostgreSQL을 설치한 경로로 해주면 된다
파일의 크키(폭, 너비)가 너무 커서 첫번째 오류가 발생하였다.

GIS 툴을 활용하여 폭과 너비를 조절해주었다. 두가지 방법이 있는데, 방법은 아래와 같다.
1. ERDAS의 subset기능 활용 (Raster 탭 -> subset & chip)

2. QGIS로 컷팅 (컷팅자체야 포토샵으로도 할 수 있으나 이러면 메타데이터가 손실됨)


이후 다시 시도했으나, postgis, postgis_raster 확장 설치를 안해서 오류 발생... (설치한것같았는데..)
ERROR: type "raster" does not exist
줄 1: ...a"."테이블명" ("rid" serial PRIMARY KEY,"rast" raster,"fi...
^
ERROR: current transaction is aborted, commands ignored until end of transaction block
pgAdmin의 Tool탭 → Query Tool 클릭 후 아래 명령어 실행 (꼭 superuser 서버에서 접속할것)
안그러면 ERROR: must be superuser to alter superusers 오류 발생..
-- PostGIS 확장 설치
CREATE EXTENSION postgis;
-- raster 타입 활성화
CREATE EXTENSION postgis_raster;
이번에는 아래 오류 발생. PostgreSQL은 16버전, PostGIS는 15버전을 사용해서 발생한듯
ERROR: PostGIS built for PostgreSQL 15.0 cannot be loaded in PostgreSQL 16
CONTEXT: PL/pgSQL 함수 "inline_code_block" 의 15번째 RAISE
오류: PostGIS built for PostgreSQL 15.0 cannot be loaded in PostgreSQL 16
SQL state: P0001
PostGIS을 16으로 설치해주니 이번에는 또 아래 오류 발생
Warning 1: PROJ: proj_create_from_database: C:\Program Files\PostgreSQL\16rc1\share\contrib\postgis-3.3\proj\proj.db contains DATABASE.LAYOUT.VERSION.MINOR = 0 whereas a number >= 2 is expected. It comes from another PROJ installation.

이 두 폴더안에 모두 proj 폴더가 존재하는데, 16버전이 아닌 15버전 폴더를 인식해서 발생하는 오류인듯 (postgis-3.4폴더의 proj폴더를 postgis-3.3안으로 옮겨주었다)
위의 과정을 모두 했는데도 같은 오류가 발생하면 postgis_raster가 제대로 확장되지 않았다는 뜻이므로
다시 한번 cmd창에 확장되도록
cd C:\Program Files\PostgreSQL\16rc1
psql -U postgres -d DB명 -h 주소 -p 포트번호 -c "CREATE EXTENSION postgis_raster;"
cd C:\Program Files\PostgreSQL\16rc1
raster2pgsql -c -I -F -s 4326 -t 128x128 피일경로\파일명.tif 스키마.테이블 | psql -U postgres -d DB명 -h 호스트 -p 포트번호
을 다시 실행하고

이와 같이 뜬다면 성공적으로 등록 된 것 이다!
'GIS Data Construction' 카테고리의 다른 글
| 해상도? (+ 축척과 줌레벨과의 상관관계) (0) | 2024.02.17 |
|---|---|
| 축척과 줌레벨의 상관관계 (0) | 2024.02.17 |
| 3D 지도 뷰에서 지리적 좌표계? 투영 좌표계? (1) | 2024.01.13 |
| POINT ZM? 고도값이 포함된 공간데이터 (0) | 2024.01.12 |
| 벡터 공간데이터를 DBMS에 등록하는 방법 (1) | 2023.11.21 |