- PostGIS GEOMETRY 컬럼 추가 (010_postgis_geom.sql) - ASSET_ORG.GEOM (84건), ACDNT.LOC_GEOM (12건) + GIST 인덱스 - SCAT 테이블 생성 + 시드 (011_scat.sql) - CST_SRVY_ZONE 28건, CST_SECT 1,092건, 상세 21건 - GEOMETRY 컬럼 + GIST 공간 인덱스 - 백엔드 API: GET /api/scat/zones, /sections, /sections/:sn - 프론트엔드: Mock 데이터 완전 제거, API 호출로 전환 - 에러 상태 UI, USE_YN 논리삭제 조건 적용 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
1.2 KiB
SQL
32 lines
1.2 KiB
SQL
-- ============================================================
|
|
-- 010: PostGIS GEOMETRY 컬럼 일괄 추가
|
|
-- 기존 NUMERIC LAT/LNG 유지 + GEOMETRY(Point, 4326) 추가
|
|
-- ============================================================
|
|
|
|
SET search_path TO wing, public;
|
|
|
|
-- PostGIS 익스텐션 확인
|
|
CREATE EXTENSION IF NOT EXISTS postgis;
|
|
|
|
-- ============================================================
|
|
-- 1. ASSET_ORG — 방제자산 기관 위치
|
|
-- ============================================================
|
|
ALTER TABLE ASSET_ORG ADD COLUMN IF NOT EXISTS GEOM GEOMETRY(Point, 4326);
|
|
|
|
UPDATE ASSET_ORG
|
|
SET GEOM = ST_SetSRID(ST_MakePoint(LNG, LAT), 4326)
|
|
WHERE LAT IS NOT NULL AND LNG IS NOT NULL AND GEOM IS NULL;
|
|
|
|
CREATE INDEX IF NOT EXISTS IDX_ASSET_ORG_GEOM ON ASSET_ORG USING GIST(GEOM);
|
|
|
|
-- ============================================================
|
|
-- 2. ACDNT — 사고 위치
|
|
-- ============================================================
|
|
ALTER TABLE ACDNT ADD COLUMN IF NOT EXISTS LOC_GEOM GEOMETRY(Point, 4326);
|
|
|
|
UPDATE ACDNT
|
|
SET LOC_GEOM = ST_SetSRID(ST_MakePoint(LNG, LAT), 4326)
|
|
WHERE LAT IS NOT NULL AND LNG IS NOT NULL AND LOC_GEOM IS NULL;
|
|
|
|
CREATE INDEX IF NOT EXISTS IDX_ACDNT_LOC_GEOM ON ACDNT USING GIST(LOC_GEOM);
|