데이터 세트 만들기 및 관리하기

데이터 세트를 사용하면 로컬 파일이나 Google Cloud Storage의 지리 정보 데이터를 Google Maps Platform으로 업로드할 수 있습니다. 그런 다음 Cloud Console에서 하나 이상의 지도 스타일과 데이터 세트를 연결할 수 있습니다. 데이터 세트를 지도 스타일과 연결한 후 데이터 기반 스타일 지정 API를 사용하여 지도 애플리케이션의 스타일을 동적으로 지정합니다.

REST API를 사용하여 지리 정보 데이터를 데이터 세트에 업로드할 수도 있습니다. 자세한 내용은 Maps Datasets API를 참고하세요.

역할 구성

Google Cloud 프로젝트에서 데이터 세트를 만들고 관리하려면 프로젝트에 대한 소유자 또는 편집자 IAM 역할이 있어야 합니다.

데이터 세트를 관리하는 데 사용하는 사용자 계정 또는 서비스 계정에 다음 IAM 역할을 할당할 수도 있습니다.

  • Maps Platform Datasets Admin 역할은 사용자 계정 또는 서비스 계정에 프로젝트의 데이터 세트를 읽고 쓸 수 있는 권한을 부여합니다. 이 역할을 가진 사용자는 데이터 세트에 대한 모든 작업을 처리할 수 있습니다.
  • Maps Platform Datasets Viewer 역할은 프로젝트의 데이터 세트를 읽기 전용으로 볼 수 있는 권한을 부여합니다. 이 역할이 있으면 데이터 세트를 나열하거나 가져오거나 다운로드할 수 있습니다.

자세한 내용은 Google Cloud 콘솔을 사용하여 IAM 역할 부여하기를 참고하세요.

데이터 세트의 데이터 소스

데이터 세트를 만들고 나면 Google Cloud Storage 또는 로컬 파일의 데이터 세트에 데이터를 업로드합니다.
  • Cloud Storage의 데이터를 업로드할 때는 Cloud Storage의 데이터가 포함된 리소스의 파일 경로를 지정합니다. 이 경로는 gs://GCS_BUCKET/FILE 형식입니다.

    요청하는 사용자는 스토리지 객체 뷰어 역할 또는 storage.objects.get 권한이 포함된 다른 역할이 필요합니다. Cloud Storage 액세스 관리에 관한 자세한 내용은 액세스 제어 개요를 참고하세요.

  • 로컬 파일의 데이터를 업로드할 때는 업로드할 데이터가 포함된 GeoJSON, KML 또는 CSV 파일의 경로를 지정합니다.

기본 요건

데이터 세트를 만들 때는 다음 조건을 충족해야 합니다.

  • 표시 이름은 Google Cloud 프로젝트 내에서 고유해야 합니다.
  • 표시 이름은 64바이트 미만이어야 합니다. 이러한 문자는 UTF-8로 표시되므로 일부 언어에서는 각 문자가 여러 바이트로 표시될 수 있습니다.
  • 설명은 1,000바이트 미만이어야 합니다.

데이터를 업로드할 때는 다음 사항에 유의하세요.

  • 지원되는 파일 형식은 CSV, GeoJSON, KML입니다.
  • 지원되는 최대 파일 크기는 350MB입니다.
  • 속성 열 이름은 '?_' 문자열로 시작할 수 없습니다.
  • 3차원 도형은 지원되지 않습니다. WKT 형식의 'Z' 서픽스와 GeoJSON 형식의 고도 좌표가 여기에 포함됩니다.

데이터 준비 권장사항

소스 데이터가 밀집된 점, 긴 유도선 또는 다각형과 같이 복잡하거나 큰 경우(일반적으로 50MB를 초과하는 소스 파일 크기가 이 카테고리에 해당함) 시각적 지도에서 최상의 성능을 얻으려면 업로드하기 전에 데이터를 단순화하는 것이 좋습니다.

다음은 데이터 준비를 위한 몇 가지 권장사항입니다.

  1. 기능 속성을 최소화합니다. 지도 스타일을 지정하는 데 필요한 지형지물 속성(예: 'id', 'category')만 유지하세요. 고유 식별자 키에 데이터 기반 스타일을 사용하여 추가 속성을 클라이언트 애플리케이션의 지형지물에 조인할 수 있습니다. 예를 들어 데이터 기반 스타일 지정을 사용하여 실시간으로 데이터 보기를 참조하세요.
  2. 가능한 경우 정수와 같은 속성 객체에 간단한 데이터 유형을 사용하여 타일 크기를 최소화하고 지도 성능을 개선합니다.
  3. 파일을 업로드하기 전에 복잡한 도형을 단순화합니다. 오픈소스 Mapshaper.org 유틸리티와 같이 원하는 지리정보 도구 또는 BigQuery에서 복잡한 다각형 도형의 ST_Simplify를 사용하여 이 작업을 수행할 수 있습니다.
  4. 파일을 업로드하기 전에 매우 밀집된 포인트를 클러스터링합니다. 이 작업은 오픈소스 turf.js 클러스터 함수와 같이 원하는 지리정보 도구를 사용하거나 BigQuery에서 밀집 지점 도형에 ST_CLUSTERDBSCAN을 사용하여 수행할 수 있습니다.

데이터 세트 및 BigQuery로 데이터 시각화에서 데이터 세트 권장사항에 대한 추가 안내를 참고하세요.

GeoJSON 요구사항

iOS용 Maps SDK는 최신 GeoJSON 사양을 지원합니다. iOS용 Maps SDK는 다음 객체 유형이 포함된 GeoJSON 파일도 지원합니다.

  • 도형 객체. 도형 객체는 점, 선, 다각형(구멍이 있을 수 있음)으로 설명된 공간 도형입니다.
  • 지형지물 객체. 지형지물 객체에는 도형과 추가 이름/값 쌍이 포함되어 있으며, 그 의미는 애플리케이션별로 다릅니다.
  • 지형지물 컬렉션. 지형지물 컬렉션은 지형지물 객체의 집합입니다.

iOS용 Maps SDK는 좌표 참조 시스템(CRS)에 WGS84 이외의 데이터가 포함된 GeoJSON 파일을 지원하지 않습니다.

GeoJSON에 대한 자세한 내용은 RFC 7946 준수를 참고하세요.

KML 요구사항

iOS용 Maps SDK의 요구사항은 다음과 같습니다.

  • 모든 URL은 파일 자체에 대한 로컬 URL 또는 상대 URL이어야 합니다.
  • 점, 선, 다각형 도형이 지원됩니다.
  • 모든 데이터 속성은 문자열로 간주됩니다.
다음과 같은 KML 지형지물은 지원되지 않습니다.
  • 파일 외부에 정의된 아이콘 또는 <styleUrl>
  • 네트워크 링크(예: <NetworkLink>)
  • 지면 오버레이(예: <GroundOverlay>)
  • 3D 도형 또는 고도 관련 태그(예: <altitudeMode>)
  • 카메라 동작 지정(예: <LookAt>)
  • KML 파일 내에서 정의된 스타일

CSV 요구사항

CSV 파일의 경우 지원되는 열 이름이 우선순위에 따라 아래에 나열되어 있습니다.

  • latitude, longitude
  • lat, long
  • x, y
  • wkt(Well-Known Text)
  • address, city, state, zip
  • address
  • 모든 주소 정보가 포함된 단일 열(예: 1600 Amphitheatre Parkway Mountain View, CA 94043)

예를 들어 파일에 x, y, wkt라는 열이 포함되어 있는 경우, 위 목록에 표시된 지원되는 열 이름의 순서에 따라 xy의 우선순위가 더 높기 때문에 xy 열의 값이 사용되고 wkt 열은 무시됩니다.

다음 사항도 적용됩니다.

  • 하나의 열 이름은 하나의 열에 속해야 합니다. 즉, x와 y 좌표 데이터를 모두 포함하는 xy라는 열은 있을 수 없습니다. x 좌표와 y 좌표는 각각 별도의 열에 있어야 합니다.
  • 열 이름은 대소문자를 구분하지 않습니다.
  • 열 이름의 순서는 중요하지 않습니다. 예를 들어 CSV 파일에 lat 열과 long 열이 포함되어 있으면 어떤 순서로든 발생할 수 있습니다.

데이터 업로드 오류 처리

데이터 세트에 데이터를 업로드할 때 이 섹션에서 설명하는 일반적인 오류 중 하나가 발생할 수 있습니다.

GeoJSON 오류

일반적인 GeoJSON 오류는 다음과 같습니다.

  • type 필드가 누락되었거나 type이 문자열이 아닙니다. 업로드된 GeoJSON 데이터 파일에는 각 지형지물 객체 및 도형 객체 정의의 일부로 type이라는 문자열 필드가 포함되어야 합니다.

KML 오류

일반적인 KML 오류는 다음과 같습니다.

  • 위에서 언급한 지원되지 않는 KML 기능이 데이터 파일에 포함되어서는 안 됩니다. 그렇지 않으면 데이터 가져오기에 실패할 수 있습니다.

CSV 오류

일반적인 CSV 오류는 다음과 같습니다.

  • 일부 행에 도형 열의 값이 없습니다. CSV 파일의 모든 행에는 도형 열을 위한 비어 있지 않은 값이 있어야 합니다. 도형 열에는 다음이 포함됩니다.
    • latitude, longitude
    • lat, long
    • x, y
    • wkt
    • address, city, state, zip
    • address
    • 모든 주소 정보가 포함된 단일 열(예: 1600 Amphitheatre Parkway Mountain View, CA 94043)
  • xy가 도형 열인 경우 단위가 경도 및 위도인지 확인합니다. 일부 공개 데이터 세트는 xy 헤더 아래에 다른 좌표계를 사용합니다. 잘못된 단위를 사용해도 데이터 세트를 성공적으로 가져올 수 있지만 렌더링된 데이터에서 데이터 세트 포인트가 예기치 않은 위치에 표시될 수 있습니다.

데이터 세트 만들기

데이터 세트를 만들려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 데이터 세트 페이지로 이동합니다.
  2. 데이터 세트 만들기를 클릭합니다.
  3. 데이터 세트 이름을 입력합니다. 이름은 모든 데이터 세트에서 고유해야 합니다.
  4. 원하는 경우 데이터 세트 설명을 입력합니다.
  5. 계속을 클릭합니다. 데이터 가져오기 페이지가 나타납니다.
  6. 데이터 세트를 채우는 데 사용되는 데이터의 업로드 소스데스크톱(즉, 시스템의 로컬 파일) 또는 Google Cloud Storage 버킷을 선택합니다.
    • 데스크톱에서 찾아보기를 클릭하고 파일 선택기에서 파일을 선택합니다.
    • Google Cloud Storage 버킷에서 찾아보기를 클릭하고 데이터가 포함된 버킷과 파일을 선택합니다.
  7. 파일 형식을 선택합니다.
  8. 계속을 클릭하여 설정을 검토합니다.
  9. 만들기를 클릭합니다. 새 데이터 세트를 보여주는 데이터 세트 페이지가 나타납니다. 상태는 처리 중입니다.
  10. 데이터 세트가 완료됨 상태가 될 때까지 기다립니다.

데이터 세트 보기 또는 수정

데이터 세트가 완전히 만들어지면 상태가 완료됨으로 표시됩니다. 그러면 데이터 세트의 세부정보를 살펴볼 수 있습니다.

데이터 세트를 보거나 수정하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 데이터 세트 페이지로 이동합니다.
  2. 데이터 세트의 이름을 클릭합니다. 데이터 세트 세부정보 페이지가 나타납니다.
    1. 세부정보 탭을 클릭하면 데이터 세트에 관한 정보를 확인할 수 있습니다. 이 탭에서 데이터 세트 이름 및 설명을 수정할 수도 있습니다.
    2. 미리보기 탭을 클릭하면 지도에서 데이터 세트를 확인할 수 있습니다.
    3. 테이블 데이터 탭을 클릭하여 데이터 세트의 모든 속성을 확인합니다. 지도에서 데이터 세트의 스타일을 지정하는 데 사용할 수 있는 속성입니다.
    4. 다운로드 버튼을 클릭하면 데이터를 로컬 파일로 다운로드할 수 있습니다.
    5. 삭제 버튼을 클릭하면 데이터 세트를 삭제할 수 있습니다.
    6. 데이터 파일 가져오기 버튼을 클릭하여 데이터 세트에 새 데이터를 업로드합니다.

      데이터 세트에 새 데이터를 업로드하면 새 버전의 데이터 세트가 생성됩니다. 새 데이터가 성공적으로 업로드되면 다음을 수행합니다.

      • 데이터 세트의 새 버전 상태는 완료됨으로 설정됩니다.
      • 새 버전이 '활성' 버전이 되며 앱에서 사용하는 버전이 됩니다.

      업로드에 오류가 있는 경우:

      • 새 데이터 세트 버전의 상태가 완료됨 이외의 상태로 설정됩니다. 예를 들어 이전의 '활성' 버전이 있으면 데이터 세트의 상태는 REVERTED로 설정됩니다.
      • 이전의 '활성' 데이터 세트 버전은 '활성' 버전으로 유지되며 앱에서 사용되는 버전입니다.