1. 주제 제시
본 단계에서는 합성 위성 데이터와 행정구역 경계 데이터를 불러오고,
이를 동일한 공간 기준에서 결합하여 분석 가능한 형태로 재구성한다.
단순 데이터 로드가 아니라, 속성 데이터와 공간 데이터를 통합하는 핵심 전처리 단계로 접근하였다.
2. 목표 제시
이 단계의 목표는
- 첫째, CSV 기반 합성 데이터를 공간 객체로 변환하는 것
- 둘째, 행정구역 SHP 데이터를 분석 대상 영역에 맞게 필터링하는 것
- 셋째, 두 데이터 간 좌표계 및 속성 정합성을 확보하여 이후 격자 분석과 시각화
가 가능하도록 만드는 것이다.
3. 방법론 제시 (이론적·통계적)
본 과정은 통계 분석에서 서로 다른 데이터셋을 공통 키를 기준으로 결합하는 과정과 유사하지만,
여기에 공간 좌표라는 추가적인 조건이 포함된다.
특히 geometry_wkt 형태의 문자열을 실제 공간 객체로 변환하는 과정은 비정형 데이터를 구조화하는 과정으로 볼 수 있다.
또한 좌표계 통일은 공간 변수의 스케일 정규화와 동일한 역할을 수행하며, 분석 결과의 왜곡을 방지하는 핵심 절차다.
4. 코드 제시
| df = pd.read_csv(DATA_PATH) df["geometry"] = gpd.GeoSeries.from_wkt(df["geometry_wkt"]) gdf = gpd.GeoDataFrame(df, geometry="geometry") gdf = gdf.set_crs("EPSG:4326").to_crs(TARGET_CRS) shp = gpd.read_file(SHP_PATH) shp = shp.to_crs(TARGET_CRS) |
5. 설명 제시
해당 코드는 CSV 형태의 속성 데이터를 GeoDataFrame으로 변환하는 핵심 과정이다.
geometry_wkt를 통해 공간 좌표를 복원하고, 이를 기반으로 GeoDataFrame을 생성한다.
이후 to_crs()를 활용하여 모든 데이터를 동일한 좌표계로 변환한다.
SHP 데이터 역시 동일한 좌표계로 맞춤으로써 두 데이터 간 공간 정합성을 확보한다.
6. 구현 제시
실제 구현에서는 단순 좌표 변환을 넘어, 분석 대상 지역만 남기도록 경계 필터링을 수행하였다.
| # 순천시 영역만 필터링 shp = shp[shp["SIG_KOR_NM"].str.contains("순천")] # 공간 클리핑 gdf = gpd.clip(gdf, shp) # 수치형 변환 gdf["NDVI"] = pd.to_numeric(gdf["NDVI"], errors="coerce") |
이 과정을 통해 불필요한 외부 데이터는 제거되고, 분석 대상 영역만 남도록 구성하였다.
7. 고도화 제시
향후에는 단일 CSV 구조를 넘어, 다중 시계열 데이터 또는 다중 위성 데이터(MODIS, Sentinel 등)를 통합하는 방향으로 확장할 수 있다.
또한 공간 클리핑 역시 단순 포함 여부가 아니라 buffer 기반 또는 가중치 기반 결합 방식으로 발전시킬 수 있다.
8. 연계 방향 제시
본 단계에서 생성된 GeoDataFrame은 이후 격자 생성, 보간, 시각화의 입력 데이터로 직접 활용된다.
특히 공간 정합성이 확보되지 않으면 이후 모든 분석이 무의미해지므로, 본 단계는 전체 분석 흐름의 핵심 연결 지점이다.
자기화 관점에서의 정리
이 단계는 개인적으로 “데이터가 실제로 공간 위에 올라간다”는 느낌을 처음 체감한 부분이었다.
기존 통계 분석에서는 데이터가 표 형태로 존재했지만,
여기서는 geometry라는 개념이 추가되면서 완전히 다른 방식으로 이해해야 했다.
특히 WKT를 실제 공간 객체로 변환하는 과정은 단순 변환이 아니라 데이터의 차원을 바꾸는 작업처럼 느껴졌다.
또한 좌표계 문제는 단순한 설정이 아니라 분석 결과를 완전히 바꿔버릴 수 있는 요소라는 점을 직접 경험하면서,
공간 분석에서는 전처리의 중요성이 훨씬 크다는 것을 이해하게 되었다.
이 단계는 데이터를 “읽는다”가 아니라 “분석 가능한 형태로 재구성한다”는 과정으로 보는 것이 맞다고 생각한다.

'취미생활 > Satellite Util' 카테고리의 다른 글
| [인공위성 연구] Python 기반 위성 데이터 시각화 웹앱 구현 (Streamlit Step7) (0) | 2026.04.04 |
|---|---|
| [인공위성 연구] 위성 데이터 시계열 변화 분석 방법 (NDVI 비교 Step6) (0) | 2026.04.03 |
| [인공위성 연구] MODIS 데이터와 SHP 공간 결합 방법 (GIS 분석 Step4) (0) | 2026.04.01 |
| [인공위성 연구] 자연어 질의 기반 위성 데이터 분석 구현 (Python Step3) (0) | 2026.04.01 |
| [인공위성 연구] 위성 데이터 전처리와 오류 처리 방법 (GeoPandas 활용 Step2) (0) | 2026.04.01 |