About

[클로드 데이터 분석] 파일 세 개로 GIS 모르는 사람이 행정구역 지도를 10분 만에 만든 방법

솔직히 말하면 처음엔 반신반의했습니다. 물론 저는 GIS 데이터에 대한 이해가 어느정도 있었고, 분석도 해보았는데, 사실 오랜만에 QGIS나 지리 분석을 하려니 어렵더라구요.
행정구역 지도 위에 데이터를 올리고 싶었는데, 검색하면 나오는 건 전부 QGIS 설치하는 법, Python 코드, 좌표계 변환… 읽다가 지쳐서 탭을 닫았습니다.
그러다 그냥 Claude에 파일을 올려봤습니다. 클릭하면 팝업이 뜨는 인터랙티브 지도가 나왔습니다.

어떻게 한 거예요?

방법은 단순합니다.
자료는 하단의 사이트를 참고했습니다. 2023년 7월 업데이트 다운로드 시도 파일을 사용했습니다
사이트에 있는 국가공간정보포털에서 서울 행정구역 파일을 받았습니다. 압축을 풀면 파일이 세 개 나옵니다.
이 세 파일을 Claude에 한꺼번에 업로드하고, 이렇게 입력했습니다.
"서울 행정동 경계 지도를 만들어줘. 행정동 이름 클릭하면 팝업으로 보이게 해줘."
그게 전부입니다.

잠깐, 파일이 왜 세 개예요?

여기서 처음 막히는 분들이 많습니다. 그래도 뭐하는데 쓰는지 알고 쓰는게 중요하겠죠?
지도 데이터 파일 형식인 Shapefile은 원래부터 세 개가 한 세트입니다. 세 파일이 각자 다른 역할을 나눠서 담당합니다.
파일
담당
쉽게 말하면
.shp
도형 데이터
지도에 그려지는 경계선과 좌표
.dbf
속성 데이터
각 지역의 이름, 인구, 면적 등
.shx
인덱스
두 파일을 빠르게 연결하는 색인
엑셀로 비유하면 이렇습니다.
.shp는 지도 위에 그려진 도형
.dbf는 그 도형에 붙어있는 데이터 테이블
.shx는 둘을 연결하는 VLOOKUP 키
세 파일은 반드시 같은 이름, 같은 폴더에 있어야 합니다. 하나라도 없으면 열리지 않습니다.
seoul.shp + seoul.dbf + seoul.shx — 이름이 달라도 안 됩니다.

.dbf 파일 안에 일반적으로 뭐가 들어있나요?

지도를 예쁘게 만드는 건 .shp가 하지만, 데이터로 의미를 만드는 건 .dbf 입니다.
국가공간정보포털에서 받은 서울 행정구역 파일의 경우 보통 이런 구조입니다. 현재 데이터는 EMD_CD, EMD_ENG_NM, EMD_KOR_NM 이 세가지라서 코드 및 이름만 출력이 됩니다.
필드명
내용
ADM_DR_CD, EMD_CD
행정동 코드 (예: 11010530)
ADM_DR_NM, EMD_ENG_NM EMD_KOR_NM
행정동 이름 (예: 종로1·2·3·4가동)
SGG_NM
시군구 이름 (예: 종로구)
SIDO_NM
시도 이름 (예: 서울특별시)
POP_TOT
총 인구 수
AREA
면적 (㎡)
Claude에게 파일을 주면 이 구조를 스스로 파악하고, 어떤 컬럼으로 색을 입힐지, 팝업에 무엇을 표시할지 알아서 판단합니다.

왜 좌표가 이상하게 생겼나요?

파일을 받아서 열어보면 좌표가 위경도처럼 생기지 않은 경우가 있습니다.
126.97, 37.56 이런 식이 아니라 953400, 1952700 같은 숫자가 나온다면 놀라지 않아도 됩니다.
한국 공공 기관이 배포하는 파일은 대부분 미터(m) 단위의 한국 좌표계를 씁니다. 지도를 더 정확하게 측량하기 위한 방식인데, 문제는 Google Maps나 Kakao Map 같은 웹 지도는 위경도(°) 를 씁니다.
상황
좌표계
단위
공공 데이터 다운로드 시
EPSG:5179 (한국 단일 좌표계)
미터(m)
웹 지도에 올릴 때
EPSG:4326 (WGS84)
도(°)
이 변환을 원래는 코드로 직접 해줘야 했습니다. Claude는 파일을 받으면 좌표계를 확인하고 자동으로 변환합니다.

실제로 어떤 과정이 일어나는 걸까요?

파일을 업로드하면 Claude 내부에서 이런 흐름으로 처리됩니다.
📂 .shp + .dbf + .shx 업로드 ↓ 세 파일을 읽고 도형 + 속성 테이블 결합 ↓ 좌표계 확인 → 위경도(EPSG:4326)로 변환 ↓ 브라우저에서 바로 읽을 수 있는 GeoJSON 형식으로 변환 ↓ Leaflet.js 기반 인터랙티브 지도 생성 ↓ 🗺️ 클릭·줌·팝업 되는 지도 아티팩트 완성
Plain Text
복사
직접 이 과정을 밟으려면 Python 환경 세팅, geopandas 설치, 좌표 변환 코드 작성, GeoJSON 변환, HTML 작성까지 최소 수십 줄의 작업이 필요합니다. Claude는 이걸 프롬프트 한 줄로 대신합니다.

어떤 지도를 만들 수 있나요?

행정구역 경계 지도
지역 이름, 코드, 면적 등이 팝업으로 뜨는 기본 지도입니다.
"서울 행정동 경계를 지도로 보여줘. 클릭하면 행정동 이름이 나오게 해줘."
Choropleth 지도 (통계 지도)
시뮬레이션으로 색의 진하기로 표현합니다. 데이터가 많은 곳은 진하게, 적은 곳은 연하게. (현재 인구 정보가 없음)
"시뮬레이션 데이터를 작성해주고 인구 많은 곳은 진한 빨강, 적은 곳은 연한 노랑으로 표현해줘."
필터링 지도
전체 데이터 중 원하는 지역만 뽑아서 보여줍니다.
"EMD_CD 앞 2자리가 '41'인 것만 걸러서 경기도 지도 만들어줘."
마커 지도
Point 데이터(병원, 편의점, 사고 지점 등)를 지도 위에 핀으로 표시합니다.
"각 위치에 마커 찍고 클릭하면 이름과 주소가 팝업으로 나오게 해줘."

근데 데이터가 31mb밖에 안올라가는데요?

해당 파일을 분할 zip 파일로 작성해주고 한 파일당 20mb가 되도록 해줘. 라고 chatgpt에게 요청하면 분할파일을 만들어줍니다. 제가 chatgpt에게 자주 요청하는 방법이에요.
일요일에도 열심히 자료 올립니다. ㅎㅎ
이제 31mb이상이라서 못올렸던 자료를 이제 올릴수 있게 됩니다.

데이터는 어디서 받나요?

출처
제공 데이터
국가공간정보포털 (nsdi.go.kr)
행정구역, 도로, 건물, 토지
통계지리정보서비스 (sgis.kostat.go.kr)
행정구역 + 인구·통계 결합
서울 열린데이터광장 (data.seoul.go.kr)
서울시 특화 공간 데이터
행정안전부 (mois.go.kr)
읍면동 경계, 도로명주소
모두 무료로 다운로드할 수 있습니다. 검색창에 "행정구역 shp" 또는 "shapefile"로 찾으면 됩니다.

GIS 툴이 완전히 필요 없어지는 건 아닙니다

솔직하게 말씀드리면, 복잡한 공간 분석이나 대용량 데이터 처리는 여전히 QGIS나 Python이 적합합니다.
하지만 대부분의 기획자·분석가가 원하는 건 그게 아닙니다.
행정구역별 수치를 색으로 표현한 지도 한 장
특정 지역 데이터를 뽑아서 시각화한 결과물
보고서나 대시보드에 넣을 인터랙티브 지도
이 정도라면 Claude로 충분합니다. 그리고 10분이면 됩니다.

정리하면

Shapefile은 .shp(도형) + .dbf(속성) + .shx(인덱스) 세 파일이 한 세트
한국 공공 데이터는 미터 좌표계(EPSG:5179) → 웹 지도 사용 시 위경도(EPSG:4326)로 변환 필요
Claude는 파일 구조 파악, 좌표 변환, 지도 생성을 자동으로 처리
국가공간정보포털에서 파일 받아 → Claude에 업로드 → 원하는 지도 설명 → 완성
GIS를 몰라도 됩니다. 파일 세 개와 Claude면 충분하고, AI와 대화를 통해 충분히 발전시킬 수 있습니다.
데이리터(Dayliter) | AI와 데이터로 읽는 세상을 만들어 나갑니다.
Home
Guide
Contact