Visualize points and routes with GeoJSON in Amazon Quick Sight layer maps
Quick Summary
Amazon Quick Sight 레이어 맵이 GeoJSON의 Point와 LineString을 지원해 개별 위치와 경로를 표시하고, 데이터셋 결합·뷰포트 고정·도형 중첩으로 위치 기반 분석을 확장한다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
Amazon Quick Sight 레이어 맵이 GeoJSON의 Point와 LineString을 지원해 개별 위치와 경로를 표시하고, 데이터셋 결합·뷰포트 고정·도형 중첩으로 위치 기반 분석을 확장한다.
📌 핵심 요약
- Amazon Quick Sight 레이어 맵은 기존 영역·경계 표현에 Point와 LineString 지원을 추가했다. Point는 매장·시설 같은 개별 위치를, LineString은 항공편·배송 같은 위치 간 경로를 나타낸다.
- 레이어 맵에는 .geojson 형식의 최대 100 MB 파일, 지표와 차원을 담은 Quick Sight 데이터셋, 양쪽을 연결하는 공통 키가 필요하다. 키 필드 이름은 달라도 값은 일치해야 하며, 각 레이어는 한 번에 하나의 도형 유형만 표시한다.
- LineString은 GeoJSON에 미리 정의한 좌표를 순서대로 연결하며, 데이터를 불러올 때 경로를 생성하지 않는다. 결합된 데이터셋으로 선 색상과 툴팁을 구성하고, 선 두께와 불투명도를 조절할 수 있다.
- 기본 포인트 맵은 자동 지오코딩과 데이터 갱신에 따른 위치 변경, 동적 크기·클러스터·히트맵을 지원한다. 레이어 맵의 Point는 명시적 좌표와 균일한 마커 크기를 사용하며, 위치 변경에는 GeoJSON 재업로드 또는 API 호출이 필요하다.
- 레이어 맵은 이동·확대를 비활성화해 뷰포트를 고정할 수 있다. API의 MapState에서 Bounds와 MapNavigation을 설정하면 최소 표시 영역과 탐색 허용 여부를 제어할 수 있고, 여러 시각화를 겹쳐 점과 다각형을 함께 표현할 수 있다.
🧩 주요 포인트
- GeoJSON이 도형을, Quick Sight 데이터셋이 지표를 제공하는 분리 구조이므로 공통 키의 값 일치와 레이어별 도형 유형 선택이 분석 연결의 핵심이다.
- 기본 포인트 맵과 레이어 맵의 Point는 위치 갱신·표현 방식이 다르므로, 자주 변하는 위치에는 자동 갱신 기능을, 고정된 위치에는 뷰포트 제어와 도형 중첩 기능을 기준으로 선택할 수 있다.
- LineString의 사전 정의 경로와 Bounds의 최소 표시 영역이라는 제약 때문에 경로 좌표와 화면 구성을 함께 설계해야 하며, Bounds와 시각화 컨테이너의 가로세로 비율을 맞추면 불필요한 여백을 줄일 수 있다.
🧠 상세 정리
1. 영역 중심 지도에서 개별 위치와 경로로 확장
Amazon Quick Sight는 지역별 성과나 고객 집중도처럼 위치와 연결된 패턴을 분석하도록 포인트 맵, 채움 맵, 레이어 맵을 제공한다. 레이어 맵은 처음 출시됐을 때 GeoJSON 파일의 사용자 정의 도형을 데이터셋과 결합해 영업 구역이나 행정구역 같은 영역과 경계를 표현했지만, 내부의 개별 위치나 위치 사이의 경로까지 다루지는 못했다. 이번 확장은 같은 GeoJSON 작업 방식에 Point와 LineString을 추가해 매장·시설의 위치와 배송·항공 경로를 표시하도록 한다. 원문은 Amazon Quick Sight를 Amazon Quick의 통합 BI 기능으로 소개하며, 대화형 대시보드, 자연어 질의, 정밀한 서식의 보고서, ML 인사이트, 임베디드 분석을 제공한다고 설명한다. 이어지는 설명은 이러한 기능 가운데 레이어 맵에 필요한 데이터 구조, 점과 선의 선택 기준, 뷰포트 제어와 도형 중첩에 초점을 맞춘다.
2. GeoJSON과 데이터셋을 연결하는 기본 구조
레이어 맵은 GeoJSON 파일에서 도형을 가져오고 Quick Sight 데이터셋에서 지표와 차원을 가져오며, 양쪽에 존재하는 공통 키로 이를 연결한다. 따라서 준비물은 지리 도형을 기술한 파일, 분석할 지표와 차원을 담은 데이터셋, 두 자료를 연결할 키이며, 파일은 .geojson 형식으로 저장해야 하고 지원되는 최대 크기는 100 MB다. GeoJSON의 최상위 FeatureCollection에는 features 배열이 있고, 배열의 각 Feature는 지도 요소 하나를 나타내는 geometry와 결합 키를 담을 수 있는 properties 객체로 구성된다. geometry에는 Point, LineString, Polygon 같은 유형과 좌표가 들어가며, Point의 좌표는 하나의 [경도, 위도] 쌍이고 LineString의 좌표는 순서가 있는 위치 목록이다. 이 구조에서 좌표는 지도에 그릴 형태를 정하고 properties의 키는 해당 형태에 연결할 분석 데이터를 식별한다.
3. 도형 유형 선택과 공통 키 결합 사례
레이어 설정에서는 먼저 Geometry type to visualize로 Points, Lines, Polygons 가운데 표시할 도형 유형을 선택한다. 하나의 파일에 여러 유형이 섞여 있어도 각 레이어는 한 번에 한 유형만 렌더링하므로, 선택한 유형에 해당하는 Feature만 지도에 나타난다. 다음으로 Shape file key field와 Dataset key field를 연결하는데, 두 필드의 이름이 같을 필요는 없지만 결합에 사용하는 값은 일치해야 한다. 항공편 예시에서는 route_id가 JFK-LAX인 LineString 하나와 같은 경로를 나타내는 데이터셋 행 하나를 연결하고, 도형 유형을 Lines로 지정한다. 매장 예시에서는 Long Island City의 좌표 [-73.9490, 40.7447]와 store_id 값 S-109를 가진 Point를 해당 매장의 데이터셋 행에 연결한 뒤 Points를 선택한다.
4. LineString으로 위치 사이의 관계 표현
LineString은 GeoJSON에 기록된 좌표 목록을 순서대로 연결해 하나의 경로로 표시하며, 각 경로는 독립적인 Feature 하나로 구성된다. 항공편, 배송 경로, 해운 항로, 파이프라인 구간처럼 개별 위치보다 위치 사이의 관계를 보여주려는 경우에 적합하다. 지도는 데이터를 불러올 때 경로를 새로 생성하는 대신 파일에 미리 지정된 좌표를 사용하므로, 표시할 경로의 형태는 GeoJSON에 담겨 있어야 한다. 결합된 데이터셋의 필드로 선 색상을 구분할 수 있고, 선 두께와 불투명도를 조절해 경로의 시각적 강조와 가독성을 바꿀 수 있다. 원문의 공항 운영 예시에서는 JFK에서 Los Angeles, Chicago, Miami 등으로 향하는 경로를 각각 LineString으로 두고, 경로 ID로 연결된 데이터셋에서 출발지·목적지·항공사 정보를 가져와 툴팁에 표시한다.
5. 기본 포인트 맵과 레이어 맵 Point의 차이
기본 포인트 맵은 데이터셋의 위도·경도 또는 위치 이름을 사용하며, 도시·카운티·주·국가·우편번호를 자동으로 지오코딩할 수 있다. 위치 값이 바뀌면 SPICE 갱신이나 Direct Query 연결에 따라 지도도 갱신되고, 데이터 기반 크기·색상 표현과 기본 점·클러스터·히트맵 스타일을 지원한다. 반면 레이어 맵의 Point는 GeoJSON에 명시한 좌표를 사용하고 지오코딩을 지원하지 않으며, 위치 도형을 변경하려면 파일을 다시 업로드하거나 API를 호출해야 한다. 레이어 맵의 마커 크기는 균일하지만 크기 자체와 채우기 불투명도, 테두리 색상·두께를 조절할 수 있고, 색상은 결합된 데이터셋으로 표현할 수 있다. 기본 포인트 맵은 데이터에 맞춰 화면을 자동 조정하고 이동·확대가 항상 활성화되지만, 레이어 맵은 기본 자동 맞춤에 더해 탐색 허용 여부를 설정할 수 있다는 차이가 있다.
6. 고정된 매장 위치와 일관된 화면 구성
원문은 이동·확대가 불가능한 고정 뷰포트가 필요하거나, 지역 사무소·물류센터·매장처럼 위치가 고정되어 관리되는 경우에 레이어 맵의 Point를 선택하도록 제안한다. 점을 다른 도형 유형과 함께 표현하려는 경우도 선택 근거에 포함되며, 위치가 자주 바뀌는 데이터에서는 기본 포인트 맵의 자동 갱신 특성을 고려할 수 있다. 소매업 예시에서는 각 매장을 GeoJSON의 Point Feature로 저장하고 매장 ID를 통해 성과 데이터셋과 연결한다. 데이터셋에는 매장 유형, 월 매출, 일일 방문객 수가 들어가며, 이 값들이 툴팁과 색상 표현에 사용된다. 지도를 대도시권이 보이는 확대 수준으로 맞춘 뒤 탐색을 비활성화하면 매번 같은 범위로 열리므로, 지역 관리자가 실수로 전국이나 전 세계 범위까지 축소하는 일을 막을 수 있다.
7. MapState를 이용한 뷰포트 제어
레이어 맵의 뷰포트는 원하는 위치로 이동하고 확대 수준을 조정한 다음 지도 탐색을 비활성화하는 방식으로 고정할 수 있다. 더 정밀한 경계 지정이나 프로그래밍 방식의 제어가 필요하면 시각화 정의의 ChartConfiguration 안에 있는 MapState를 Quick Sight API로 설정할 수 있다. MapState의 Bounds는 North, South, East, West 좌표로 최소 표시 영역을 정하고, MapNavigation은 ENABLED 또는 DISABLED로 독자의 이동·확대 허용 여부를 정한다. Bounds는 콘솔에서 노출되지 않으므로 대시보드 정의 JSON의 MapState를 수정한 뒤 CreateDashboard 또는 UpdateDashboard API를 호출하는 방식으로 적용한다. 이 경계는 화면을 정확히 잘라내는 범위가 아니라 전체가 보이도록 보장하는 최소 영역이며, 지도는 이를 컨테이너 안에 맞추기 위해 확대 수준을 조정한다. 따라서 경계의 가로세로 비율을 시각화 컨테이너의 모양과 맞추면 추가되는 여백을 최소화할 수 있다.
8. 시각화를 겹쳐 점과 영역을 함께 해석
원문은 여러 도형 유형을 하나의 화면에서 보여주려는 경우 시각화들을 서로 겹쳐 배치하는 방법을 제시한다. 예시는 다각형으로 정의한 미국 지역 경계 위에 고객 위치를 점으로 표시해, 영역 구분과 개별 위치의 분포를 동시에 보여주는 구성이다. 이를 통해 어느 영업 구역에 고객 밀도가 높은지 살펴보고 다른 지표와의 연관성을 분석하는 데 활용할 수 있다고 설명한다. 앞서 제시한 레이어별 단일 도형 유형 제약을 함께 고려하면, 이 방식은 각 시각화에서 선택한 도형을 화면에서 중첩해 읽는 구성으로 이해할 수 있다. 제공된 본문은 이 중첩 사례의 설명에서 끝나며, 도입부에서 예고한 GeoJSON 파일의 프로그래밍 방식 갱신에 대해서는 재업로드 또는 API 호출이 필요하다는 비교 정보 외에 구체적인 구현 절차를 제시하지 않는다.
🧾 핵심 주장 / 시사점
- 도형과 지표가 공통 키로 연결되므로, 지도 표현의 정확성은 좌표뿐 아니라 GeoJSON Feature와 데이터셋 행의 대응 관계에도 달려 있다.
- 레이어 맵의 Point는 고정된 위치와 일관된 화면 범위를 보여주는 데 적합하며, 위치 변화와 다양한 점 표현이 중요한 경우에는 기본 포인트 맵의 기능 차이가 선택 기준이 된다.
- Bounds는 최소 표시 영역을 보장하므로, 정밀한 화면 구성을 위해서는 경계 좌표 설정과 시각화 컨테이너의 비율을 함께 고려해야 한다.
✅ 액션 아이템
- GeoJSON의 100 MB 제한과 공통 키의 값 일치 여부를 확인하고, 레이어마다 표시할 도형 유형을 정한다.
- 위치 갱신 빈도와 뷰포트 고정 필요성을 기준으로 기본 포인트 맵과 레이어 맵의 Point를 선택한다.
- LineString에 표시할 경로 좌표를 정의하고, Bounds와 시각화 컨테이너의 가로세로 비율을 함께 검토한다.
❓ 열린 질문
- 표시할 위치는 기본 포인트 맵의 자동 갱신이 필요한가, 아니면 GeoJSON 재업로드 또는 API 호출로 관리할 수 있는 고정 위치인가?
- LineString에 미리 정의할 경로 좌표와 이를 Quick Sight 데이터셋에 연결할 공통 키는 무엇인가?
- 뷰포트를 고정할 경우 Bounds로 보장할 최소 표시 영역은 어디이며, MapNavigation은 어떤 값으로 설정할 것인가?