전체 목차 열기 · 10부 35장

PART 10 / CHAPTER 35

35 · 최종 실습: 공원 분석 묶음 만들기

3,000㎡ 가상공원 분석을 재현 가능한 산출물과 검증 기록으로 묶습니다.

이 페이지에서

학습 목표: 3,000㎡ 가상공원 분석을 재현 가능한 산출물과 검증 기록으로 묶습니다.

준비: 실행 환경 · 도구와 용어. 예제 자료는 별도 표시가 없는 한 합성 자료입니다.

개념

최종 결과물은 지도 한 장보다 넓습니다. 입력 자료 목록, 좌표·단위, 계산 규칙, 지도·표, 한계와 재현 방법이 함께 있어야 다른 사람이 검토할 수 있습니다. Spatial AI로 확장할 때도 관측 자료·분석 지표·모델 예측·설계 판단을 구분해 기록합니다.

이 장은 3,000㎡ 합성 공원을 경사·접근거리 지표와 연결하는 작은 결합 예제입니다. 앞 장의 실제 위성 취득, 전문 식재 설계, IFC 처리 또는 검증된 AI 모델을 모두 수행한 결과로 주장하지 않습니다.

왜 필요한가

같은 결과를 다시 만들 수 있어야 자료 갱신·가중치 변경·설계안 비교가 가능합니다. 최종 후보를 고르는 기준과 누락된 현장 조건이 명확해야 후속 설계에 쓸 수 있습니다.

핵심 API

GeoPandas 면적 계산, NumPy 가중합, CSV와 JSON 저장을 연결합니다. 기존 7·18·22장 예제 파일을 함께 실행하면 버퍼 지도, DEM 경사도, 합성 NDVI 산출물을 별도로 만들 수 있습니다.

최소 실행 예제

from pathlib import Path
import json
import numpy as np
import geopandas as gpd
from shapely.geometry import box

park = gpd.GeoDataFrame({"name":["synthetic park"]},
    geometry=[box(953000,1952000,953060,1952050)], crs=5179)
candidates = gpd.GeoDataFrame(
    {"id":["A","B"], "slope_deg":[5.,12.], "walk_m":[300.,150.]},
    geometry=[box(953000,1952000,953020,1952020),
              box(953030,1952000,953050,1952020)], crs=5179)
# Educational preferences, not species-specific suitability standards.
metrics = np.column_stack([
    1 - candidates["slope_deg"].to_numpy()/20,
    1 - candidates["walk_m"].to_numpy()/500])
candidates["score"] = metrics @ np.array([0.6,0.4])
candidates.drop(columns="geometry").to_csv("candidate-results.csv", index=False)
manifest = {"synthetic":True, "park_area_m2":float(park.area.iloc[0]),
            "crs":"EPSG:5179", "weights":[0.6,0.4],
            "missing_factors":["soil","drainage","species","field survey"],
            "winner":candidates.loc[candidates.score.idxmax(),"id"]}
Path("analysis-manifest.json").write_text(
    json.dumps(manifest,ensure_ascii=False,indent=2),encoding="utf-8")
assert manifest["park_area_m2"] == 3000
assert np.allclose(candidates.score, [0.61,0.52])
assert manifest["winner"] == "A"
print(manifest)

조경·도시 실무 예제

실제 제출 묶음은 대상지·데이터 취득표, 품질 검사표, 원본/가공 구분, 실행 환경, 지표별 지도, 후보지 비교표, 민감도·현장 검증 계획으로 구성하세요. 위성영상은 도시권 맥락을, 고해상도 지형과 현장조사는 상세 식재 판단을 보완합니다.

시각화와 결과 읽기

공원 경계·후보지·도로·건물·녹지 지도를 같은 축척으로 놓고, 지도 옆에 점수와 제외 조건을 적습니다. 합성 결과에는 '연습용 가상자료' 표기를 유지합니다.

흔한 오류

점수 0.61을 확률 61%로 읽지 않습니다. 낮은 경사만으로 식재 적합을 판정하지 않습니다. 모델 예측 결과를 현장 확인 없이 확정 설계 조건으로 쓰지 않습니다.

연습문제

후보지 3개와 제외 조건을 추가하고 가중치를 바꿔 순위 민감도를 기록하세요. 본인의 대상지로 교체하기 위해 필요한 자료·허가·현장 확인 항목을 작성하세요.

전체 예제 내려받기 · 실행: python chapter35.py

다음 단계

전체 목차에서 본인 대상지에 필요한 분석을 다시 선택하고, 자료 취득부터 결과 검증까지 재현하세요.

출처

GeoPandas 공식 문서, Rasterio 공식 문서, OSMnx 공식 문서. 확인 2026-09-30.