성수동이 한 장의 판화로
X에서 확산된 예시는 서울 성수동과 경복궁을 빈티지 포스터처럼 그린 지도 두 장입니다. prettymaps 공식 저장소는 이 작업을 OpenStreetMap 데이터로 만드는 최소형 Python 라이브러리라고 설명합니다.
장소 이름을 입력하면 도로망만 그리는 것이 아니라 건물, 물, 공원처럼 OpenStreetMap에 기록된 지형 요소를 레이어로 가져옵니다. 그래서 같은 동네도 어떤 요소를 남기고 어떤 색을 주느냐에 따라 정보 지도와 인테리어 포스터 사이를 오갈 수 있습니다.
첫 지도는 한 줄에서 시작
공식 빠른 시작은 pip install prettymaps로 설치한 뒤 prettymaps.plot('장소 이름')을 실행하는 흐름입니다. Google Colab 설치 예제와 로컬 Streamlit 프런트엔드 실행 방법도 저장소에 제공됩니다.
다만 장소 문자열이 언제나 같은 결과를 보장하는 것은 아닙니다. 지오코딩 결과와 OpenStreetMap 태그의 밀도에 따라 표시되는 건물·공원·철도 등이 달라질 수 있습니다. 실제 제작에서는 먼저 작은 반경으로 시안을 확인한 뒤 범위를 넓히는 편이 안전합니다.
레이어를 나누면 분위기가 바뀝니다
공식 튜토리얼은 layers에서 가져올 OpenStreetMap 태그를, style에서 레이어별 색과 선을 설정하는 방법을 보여줍니다. 물은 옅은 파랑, 건물은 제한된 팔레트, 도로는 굵기별 색으로 나누는 식입니다.
circle과 radius로 지도 경계를 정하고, preset으로 반복 가능한 스타일을 저장할 수도 있습니다. 바다 지형, hillshade, keypoints를 지원하는 최신 릴리스도 공개돼 있어, 단순 도로 포스터를 넘어 지형 강조와 장소 표식까지 확장할 수 있습니다.
출력 전에 출처 문구를 지키세요
prettymaps 저장소의 라이선스는 AGPL-3.0입니다. 상업적 이용과 수정·배포가 가능하지만 라이선스와 소스 공개 조건을 확인해야 합니다. 특히 제작자는 결과 이미지에 prettymaps 저장소와 OpenStreetMap을 표시하는 문구를 유지하라고 명시합니다.
X 예시 하단에도 OpenStreetMap contributors와 prettymaps 표시가 들어가 있습니다. 포스터를 잘라내거나 리사이즈할 때 이 영역을 함께 없애기 쉬우므로, 최종 출력 전에 크레딧이 읽히는지 확인해야 합니다. 예쁜 지도 한 장을 만드는 마지막 단계는 색 보정이 아니라 데이터 제공자와 도구의 표시 조건을 지키는 일입니다.



