이 튜토리얼에서는 지리정보 분석을 소개합니다. 지리정보 분석을 사용하면 BigQuery에서 지리공간 데이터를 쉽게 분석하고 시각화할 수 있습니다.
샘플 데이터 탐색
이 튜토리얼에서는 Google Cloud 공개 데이터 세트 프로그램을 통해 제공되는 데이터 세트를 사용합니다. 공개 데이터 세트는 BigQuery에 저장되며 일반 대중이 사용할 수 있는 모든 데이터 세트입니다. 공개 데이터세트는 사용자가 액세스하고 애플리케이션에 통합할 수 있도록 BigQuery가 호스팅하는 데이터세트입니다. 이러한 데이터 세트의 저장 비용은 Google에서 부담하며 프로젝트를 통해 데이터에 대한 공개 액세스 권한을 부여합니다. 사용자에게는 데이터에 대한 쿼리 요금만 부과됩니다 (쿼리 가격 책정 세부정보에 따라 매월 1TB까지는 무료).
글로벌 허리케인 트랙(IBTrACS) 데이터 세트
NOAA의 IBTrACS(International Best Track Archive for Climate Stewardship)를 통해 글로벌 열대 사이클론(TC) 트랙의 과거 위치와 강도 정보가 제공됩니다. 열대 사이클론(TC, Tropical Cyclone)은 북대서양과 북동태평양 해분의 허리케인, 북서태평양 해분의 태풍, 북인도양 및 남인도양 해분의 사이클론, 남서태평양 해분의 열대 사이클론을 말합니다.
IBTrACS는 열대 사이클론을 예측하고 발표하는 책임을 맡고 있는 국제 모니터링 센터에서 발표하는 열대 사이클론 관련 데이터를 수집하며, 여기에는 과거의 주요 데이터세트도 포함됩니다. IBTrACS에는 9개 국가의 데이터가 포함되어 있습니다. 지금까지 이러한 시스템을 나타내는 데이터에는 트랙과 강도의 가장 정확한 평가('베스트 트랙'이라는 용어가 여기에서 유래함)를 포함하고 있습니다.
hurricanes
테이블의 세부정보를 확인하여 Google Cloud 콘솔에서 데이터 탐색을 시작할 수 있습니다.
2017년 허리케인 마리아의 경로 쿼리
이 튜토리얼 섹션에서는 2017년 시즌의 허리케인 마리아의 경로를 찾는 GoogleSQL 쿼리를 실행합니다. 허리케인의 경로를 그려보려면 여러 시점에서 허리케인의 위치를 쿼리합니다.
쿼리 세부정보
허리케인 마리아의 경로를 찾는 데 아래의 GoogleSQL 쿼리를 사용합니다.
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
이 쿼리 절은 다음을 수행합니다.
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt
SELECT
절은 폭풍의 모든 날씨 데이터를 선택하고ST_GeogPoint
함수를 사용하여latitude
및longitude
열의 값을GEOGRAPHY
유형(점)으로 변환합니다.
FROM
bigquery-public-data.noaa_hurricanes.hurricanes
FROM
절은 쿼리 대상 테이블인hurricanes
를 지정합니다.
WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10)
WHERE
절은 2017년 허리케인 시즌의 허리케인 마리아를 따라 이 데이터를 대서양의 점으로 필터링합니다.
ORDER BY iso_time ASC
ORDER BY
절은 점을 순서대로 나열하여 폭풍의 경로를 시간순으로 형성합니다.
쿼리 실행
Google Cloud 콘솔을 사용하여 쿼리를 실행하려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
쿼리 편집기 텍스트 영역에 다음 GoogleSQL 쿼리를 입력합니다.
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
실행을 클릭합니다.
쿼리를 완료하는 데 시간이 다소 걸립니다. 쿼리가 실행된 후 결과가 쿼리 결과 창에 표시됩니다.
BigQuery에서 쿼리 결과 시각화하기
BigQuery에서 결과를 시각화하려면 다음 단계를 따르세요.
BigQuery에서 결과를 시각화하려면 쿼리 결과 창에서 시각화를 클릭합니다.
데이터 열에서
usa_wind
을 선택합니다.시간에 따른 허리케인의 위치가 표시된 지도가 나타나고, 풍속에 따라 색상 그라데이션으로 스타일이 지정됩니다.
선택사항: 포인트의 표시 여부를 조정하려면 최소를 0으로 설정하고 색상 목록에서 다른 색상 그라데이션을 선택합니다.
Geo Viz에서 쿼리 결과 시각화
BigQuery Geo Viz(Google 지도 API를 사용하여 BigQuery에서 지리 공간 데이터를 시각화하는 웹 도구)를 사용하여 결과를 시각화할 수도 있습니다.
Geo Viz 시작 및 인증
Geo Viz를 사용하기 전에 BigQuery의 데이터에 대한 액세스 권한을 인증하고 부여해야 합니다.
Geo Viz를 설정하려면 다음 안내를 따르세요.
Geo Viz 웹 도구를 엽니다.
1단계 데이터 선택에서 승인을 클릭합니다.
계정 선택 대화상자에서 Google 계정을 클릭합니다.
액세스 대화상자에서 허용을 클릭하여 BigQuery 데이터에 액세스할 수 있는 권한을 Geo Viz에 부여합니다.
Geo Viz에서 쿼리 실행
액세스 권한을 인증하고 부여한 후 다음 단계는 Geo Viz에서 쿼리를 실행하는 것입니다.
쿼리를 실행하려면 다음 안내를 따르세요.
1단계 데이터 선택에서 프로젝트 ID 필드에 프로젝트 ID를 입력합니다.
쿼리 창에 다음 GoogleSQL 쿼리를 입력합니다.
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
실행을 클릭합니다.
쿼리가 완료되면 결과 표시를 클릭합니다. 2단계 데이터를 클릭할 수도 있습니다.
그러면 2단계로 넘어갑니다. 2단계에서 도형 열로 점을 선택합니다. 그러면 허리케인 마리아의 경로를 따라 점이 그려집니다.
Geo Viz에서 시각화 형식 지정
스타일 섹션에는 맞춤설정을 위한 시각 스타일의 목록이 나와 있습니다. 스타일 속성 및 값에 대한 자세한 내용은 시각화 서식 지정을 참고하세요.
지도의 형식을 지정하려면 다음 안내를 따르세요.
2단계의 스타일 추가 또는 3단계 스타일을 클릭합니다.
점의 색상을 변경합니다. fillColor를 클릭합니다.
fillColor 패널에서:
- 데이터 기반을 클릭합니다.
- 함수로 linear를 선택합니다.
- 필드에서
usa_wind
을 선택합니다. - 도메인에서 첫 번째 상자에
0
을 입력하고 두 번째 상자에150
을 입력합니다. 범위에서 첫 번째 상자를 클릭하고 16진수 상자에
#0006ff
를 입력합니다. 두 번째 상자를 클릭하고#ff0000
을 입력합니다. 이렇게 하면 풍속에 따라 점 색상이 변경됩니다. 파란색은 더 약한 바람을, 빨간색은 더 강한 바람을 나타냅니다.
지도를 확인합니다. 포인터를 포인트 하나에 가져가면 해당 포인트의 날씨 데이터가 표시됩니다.
fillOpacity를 클릭합니다.
값 필드에 .5를 입력합니다.
지도를 확인합니다. 이제 점의 채우기 색상이 반투명해졌습니다.
허리케인의 반경에 따라 점의 크기를 변경합니다. circleRadius를 클릭합니다.
circleRadius 패널에서 다음을 수행합니다.
- 데이터 기반을 클릭합니다.
- 함수로 linear를 선택합니다.
- 필드에서
radius_50kt
을 선택합니다. - 도메인에서 첫 번째 상자에
0
을 입력하고 두 번째 상자에135
을 입력합니다. 범위에서 첫 번째 상자에
5
를 입력하고 두 번째 상자에135000
를 입력합니다.
지도를 확인합니다. 이제 각 점의 반지름이 허리케인의 반경에 해당합니다.
Geo Viz를 닫습니다.