1. 공공데이터포털에서 point, polygon, line 형태의 공간 데이터 다운로드
2. DBeaver에 테이블 생성
3. SQL Shell 로그인 후
// 기본
// WITH (FORMAT CSV, NULL '', HEADER) : HEADER 제외한다는 것
// \copy 테이블명 FROM '데이터경로.csv' WITH (FORMAT CSV, NULL '', HEADER);
\copy scco_bus FROM 'D:\\data\\서울시버스정류소위치정보(20240305).csv' WITH (FORMAT CSV, NULL '', HEADER);
4. DBeaver에서 geometry 컬럼 추가
ST_SetSRID : Geometry 객체의 좌표계 ID를 설정
ST_GeomFromText : 텍스트 형식으로 표현된 Geometry를 생성
ST_GeomFromGeoJSON : GeoJSON 형식의 데이터를 Geometry 객체로 변환하는 데 사용
- point
ALTER TABLE scco_bus
ADD COLUMN geom geometry(Point, 4326);
UPDATE scco_bus
SET geom = ST_SetSRID(ST_MakePoint(xcode, ycode), 4326);
- line
- || 사이에 컬럼을 넣는 이유
- ||는 문자열을 연결하는 연산자
- line은 GeoJSON 형식의 문자열로 저장된 데이터LINESTRING : 점과 점 연결
- ⇒ 문자열로 변환하여 LINESTRING의 형식으로 만들어 주기 위해 사용
ALTER TABLE scco_line ADD COLUMN geom geometry(LineString, 4326); UPDATE scco_line SET geom = ST_SetSRID(ST_GeomFromText('LINESTRING(' || line || ')'), 4326);
- || 사이에 컬럼을 넣는 이유
- polygon
ALTER TABLE scco_polygon
ADD COLUMN geom geometry(Polygon, 4326);
UPDATE scco_polygon
ET geom = ST_SetSRID(ST_GeomFromGeoJSON(multi_region_info), 4326);
'Database > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] PostgreSQL 데이터 정렬 (ORDER BY 문) (0) | 2024.06.10 |
---|---|
[PostgreSQL] PostgreSQL 데이터 조회 (SELECT 문) (0) | 2024.06.10 |
[PostgreSQL] PostgreSQL 비밀번호 변경 (0) | 2024.06.10 |
[PostgreSQL] PostgreSQL 테이블 구조 및 이름 변경 (0) | 2024.06.10 |
[PostgreSQL] PostgreSQL 테이블 생성 (0) | 2024.06.10 |