PMTiles 3

MapLibre 기반으로 커스텀 타일을 기존 타일에 오버라이드 하기

개요PMTiles 병합 과정이 워낙 오랜 시간이 걸리다보니 데이터를 수정할 때 마다 매 번 병합을 하기에는 쉽지 않다. 또한 괜찮은 데이터셋이 없다면 데이터 타입을 일일히 맞춰주는 작업도 그리 쉬운 작업은 아니다.  따라서 데이터를 수정할 일이 잦으며 굳이 전역 맵 타일 데이터에 포함되지 않아도 되는 경우라면 타일 데이터를 오버라이드 하는식으로 보여주는 것도 나쁘지 않은 방안중 하나일 수 있다.  이러한 방식이  정말 옳은지에 대해서는 100% 맞다라고 말할 수 없지만 적어도 내가 생각하기에는 한국의 지하철 역 데이터 정도는 오버라이드하여 보여주는것이 관리도 쉽고 개발적인 코스트도 적게 들수도 있다는 생각이 들었다.  글로벌 맵 데이터에서는 한국 지하철 노선도에 대한 정보가 많이 들어있지 않다. 하지만 ..

frontend 2025.03.22

여러개의 PMTiles 파일을 병합하여 스토리지에 올리기

준비먼저 최신 맥이라고 하더라도 노트북의 성능으로는 지도 타일을 만드는데 시간이 매우 오래 걸리기에 지도 타일을 만들기 위한 ec2인스턴스를 잠깐 빌려준다.  64vcpu, 128기가 이상의 메모리, 500기가 ssd 이상 성능을 가진 인스턴스를 빌리는게 가장 좋지만  백그라운드에서 돌아가게 할거이기에 시간이 좀 걸려도 상관 없으니 32vcpu, 128기가 메모리, 500기가 ssd정도로 타협한 m5.8xlarge 인스턴스를 사용한다 만약 이래도 메모리가 부족 문제가 발생한다면 더 높은 메모리의 인스턴스를 사용한다. 타일 다운로드이후 해당 인스턴스에 ssh를 통해 접속 후 아래 명령어를 실행하여 전세계 PMTiles 파일을 다운받아준다. wget https://build.protomaps.com/2025..

frontend 2025.03.15

지도 타일과 PMTiles

지도 타일우리가 흔히 보는 지도는, 사용자가 어떤 줌 레벨에서 지도를 보고 있느냐에 따라 표시해야 하는 정보의 양이 달라진다. 예를 들어,줌 레벨 0에서는 전 세계 지도를 단 1×1, 즉 한 개의 타일로 표현한다.줌 레벨 1에서는 2×2, 즉 4개의 타일로 표현한다.줌 레벨 15인 경우에는 2^15 × 2^15라는 방대한 수의 타일을 갖게 된다. 또한 줌 레벨에 따라 동일한 좌표의 타일이라 하더라도, 실제로 표시해야 하는 정보의 종류나 양이 달라질 수 있다. 예를 들어, 줌 레벨 5에서는 지하철 노선도를 표시하지 않다가, 줌 레벨 6부터는 해당 지하철 정보를 포함하도록 구성할 수 있다. 이는 지도 타일을 어떻게 제작하느냐에 따라 각각 달라진다. 지도 라이브러리의 동작 방식 사용자가 특정 지역을 보고 있을..

frontend 2025.03.04