"매 location 의 matter — Tobler's First Law". 매 가까운 곳 의 더 관련 — 매 spatial autocorrelation 의 측정 / modeling. 1854 Snow's cholera map 에서 시작, 2026 에 epidemiology, urban planning, climate, autonomous driving 의 중심.
매 핵심
매 data type
Vector: point (city), line (road), polygon (district) — GeoJSON, Shapefile, GeoParquet.
roads=gpd.read_file("roads.shp")buffer_500m=roads.buffer(500)# CRS 가 meters 인 경우flood=gpd.read_file("flood.geojson")risk=gpd.overlay(buffer_500m,flood,how="intersection")
importpystac_clientimportstackstaccatalog=pystac_client.Client.open("https://earth-search.aws.element84.com/v1")items=catalog.search(collections=["sentinel-2-l2a"],bbox=bbox).item_collection()stack=stackstac.stack(items,assets=["B04","B08"])# 매 lazy xarray
9. H3 hexagonal indexing (Uber)
importh3hexes=[h3.latlng_to_cell(lat,lng,resolution=9)forlat,lngincoords]# 매 hex aggregation 으로 zone-based stats
매 결정 기준
상황
Approach
Vector ops
GeoPandas / Shapely
Raster ops
Rasterio / rioxarray / xarray
Cloud-scale (TB+)
STAC + COG + Dask
Hotspot detection
Getis-Ord G*
Continuous interpolation
Kriging
Discrete zoning / aggregation
H3 / S2 cells
Routing
OSMnx / pgRouting
Visualization
Folium, Kepler.gl, Deck.gl
기본값: GeoPandas + EPSG:4326 → ops 시 projected CRS (UTM/3857) → ESDA (PySAL) for stats.
언제: place-name geocoding 의 disambiguation, narrative description of spatial pattern, OSM tag interpretation.
언제 X: 매 numerical kriging, projection — 매 dedicated geospatial library 의 사용.
❌ 안티패턴
Mixing CRS without conversion: meters + degrees 의 mix → 매 silent error.
Web Mercator for area calc: distortion at high latitudes → 매 equal-area projection (Mollweide, Equal Earth) 의 사용.
Ignoring spatial autocorrelation in regression: OLS assumption 의 violation → GWR / spatial lag model.
Rasterizing then re-vectorizing: precision loss — 매 vector ops 의 가능 시 매 vector 의 유지.
🧪 검증 / 중복
Verified (PySAL docs, Geocomputation with Python — Lovelace et al., USGS standards).