建立及管理資料集

選取平台: Android iOS JavaScript

您可以使用資料集,將本機檔案或 Google Cloud Storage 中的地理空間資料上傳至 Google 地圖平台。這樣就能在 Cloud 控制台中,將資料集與一或多個地圖樣式建立關聯。將資料集與地圖樣式建立關聯後,請使用資料導向樣式 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 物件檢視者角色,或是任何包含 storage.objects.get 權限的其他角色。如要進一步瞭解如何管理 Cloud Storage 存取權,請參閱「存取權控管總覽」一文。

  • 上傳本機檔案中的資料時,請指定內含待上傳資料的 GeoJSON、KML 或 CSV 檔案路徑。

必備條件

建立資料集時:

  • 顯示名稱不得與 Google Cloud 專案內的其他名稱重複。
  • 顯示名稱必須少於 64 個位元組 (因為這些字元是以 UTF-8 表示;部分語言的個別字元可用多個位元組表示)。
  • 說明不得超過 1000 個位元組。

上傳資料時:

  • 支援的檔案類型為 CSV、GeoJSON 和 KML。
  • 支援的檔案大小上限為 500 MB。
  • 屬性欄名稱的開頭不得為「?_」。
  • 系統不支援 3D 幾何圖形,包括 WKT 格式的「Z」字尾,以及 GeoJSON 格式的高度座標。

資料準備最佳做法

如果來源資料複雜或龐大 (例如密集的點、長線串或多邊形,通常來源檔案大小超過 50 MB 就屬於這個類別),建議您在上傳前簡化資料,以便在視覺地圖中獲得最佳效能。

以下列舉準備資料的最佳做法:

  1. 盡量減少地圖項目屬性。只保留用於設定地圖樣式的地圖項目屬性,例如「id」和「category」。您可以使用唯一 ID 鍵,在用戶端應用程式中,將其他屬性彙整至地圖項目。例如,請參閱「使用資料導向樣式即時查看資料」一文。
  2. 盡可能使用簡單的資料類型 (例如整數) 來建立屬性物件,以縮小圖塊大小並改善地圖效能。
  3. 上傳檔案前,請簡化複雜的幾何圖形。您可以在所選的地理空間工具中執行這項操作,例如開源 Mapshaper.org 公用程式,或是在 BigQuery 中使用 ST_Simplify 對複雜的多邊形幾何圖形進行簡化。
  4. 上傳檔案前,請將密集的點叢集起來。您可以在所選的地理空間工具中執行這項操作,例如開放原始碼的 turf.js 叢集函式,或是在 BigQuery 中使用 ST_CLUSTERDBSCAN 函式處理密集的點型幾何圖形。

如需資料集最佳做法的其他指引,請參閱「使用資料集和 BigQuery 將資料視覺化」。

GeoJSON 相關規定

Maps SDK for iOS 支援目前的 GeoJSON 規格。Maps SDK for iOS 也支援包含下列任一物件類型的 GeoJSON 檔案:

  • 幾何圖形物件:這種空間形狀是由一組點、線及含有自選孔洞的多邊形所組成。
  • 地圖項目物件:包含幾何圖形,以及額外的名稱/值組 (依個別應用程式而不同)。
  • 地圖項目集合:一組地圖項目物件。

除了 WGS84 以外,Maps SDK for iOS 不支援含有其他座標參考系統 (CRS) 資料的 GeoJSON 檔案。

如要進一步瞭解 GeoJSON,請參閱「符合 RFC 7946 規範」一文。

KML 相關規定

Maps SDK for iOS 有以下規定:

  • 所有網址都必須是檔案的本機 (或相對) 網址。
  • 支援點、線和多邊幾何圖形。
  • 所有資料屬性都視為字串。
不支援下列 KML 功能:
  • 檔案中未定義的圖示或 <styleUrl>
  • 網路連結,例如 <NetworkLink>
  • 區域疊加層,例如 <GroundOverlay>
  • 3D 幾何圖形或所有高度相關標記,例如 <altitudeMode>
  • 相機規格,例如 <LookAt>
  • KML 檔案中定義的樣式。

CSV 相關規定

在 CSV 檔案中,支援的資料欄名稱會按照以下優先順序排列:

  • latitudelongitude
  • latlong
  • xy
  • wkt (Well-Known Text)
  • addresscitystatezip
  • address
  • 單一資料欄,內含所有地址資訊 (例如 1600 Amphitheatre Parkway Mountain View, CA 94043)

舉例來說,您的檔案含有名為 xywkt 的資料欄。 由於 xy 的優先順序較高 (請見上方清單中的支援資料欄名稱順序),因此系統會使用 xy 資料欄中的值,並略過 wkt 資料欄。

此外:

  • 每個資料欄名稱都必須屬於單一資料欄。也就是說,如果資料欄名為 xy 且內含 X 和 Y 座標資料,則不得使用。X 和 Y 座標必須分別位於不同的資料欄中。
  • 資料欄名稱不區分大小寫。
  • 資料欄名稱的順序沒有任何影響。舉例來說,如果您的 CSV 檔案包含 latlong 資料欄,這兩欄可以按照任何順序排列。

處理資料上傳錯誤

將資料上傳至資料集時,可能會遇到本節所述的常見錯誤。

GeoJSON 錯誤

常見的 GeoJSON 錯誤包括:

  • 缺少 type 欄位,或者 type 不是字串。在上傳的 GeoJSON 資料檔案中,每個地圖項目物件和幾何圖形物件定義都必須包含名為 type 的字串欄位。

KML 錯誤

常見的 KML 錯誤包括:

  • 資料檔案不得含有上述任何不支援的 KML 功能,否則資料匯入作業可能會失敗。

CSV 錯誤

常見的 CSV 錯誤包括:

  • 部分資料列缺少幾何圖形資料欄的值。在 CSV 檔案中,幾何圖形資料欄的每一列都必須包含非空值。幾何圖形資料欄包括:
    • latitudelongitude
    • latlong
    • xy
    • wkt
    • addresscitystatezip
    • address
    • 單一資料欄,內含所有地址資訊 (例如 1600 Amphitheatre Parkway Mountain View, CA 94043)
  • 如果 xy 是幾何圖形資料欄,請確認單位為經緯度。部分公開資料集在 xy 標頭下會使用不同的座標系統。如果使用的單位有誤,則即使成功匯入資料集,算繪後的資料也可能會在非預期的位置顯示資料集點。

建立資料集

如要建立資料集,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Datasets」(資料集) 頁面
  2. 點選「建立資料集」
  3. 輸入資料集名稱。所有資料集的名稱皆不得重複。
  4. 視需要輸入資料集說明
  5. 按一下「Continue」(繼續)。「Import data」(匯入資料) 頁面隨即顯示。
  6. 如果要用來填入資料集的資料是系統中的本機檔案,請在「Upload source」(上傳來源) 下拉式選單中選取「Desktop」(電腦),或您也可以選擇「Google Cloud Storage bucket」(Google Cloud Storage 值區)
    • 如果選取「Desktop」(電腦),請按一下「Browse」(瀏覽),使用檔案選擇器選取需要的檔案。
    • 如果選取「Google Cloud Storage bucket」(Google Cloud Storage 值區),請按一下「Browse」(瀏覽),選取包含資料的值區和檔案。
  7. 選取「File format」(檔案格式)
  8. 按一下「Continue」(繼續) 檢查設定。
  9. 按一下「Create」(建立)。「Datasets」(資料集) 頁面隨即顯示且列出新的資料集,狀態應為「Processing」(處理中)

    如果資料上傳成功:

    • 資料集的狀態已設為「COMPLETED」
    • 資料集會成為「有效」版本,也是應用程式使用的版本。

    如果上傳時發生錯誤:

    • 新資料集版本的狀態已設為「已完成」以外的狀態。

查看或修改資料集

建立資料集後,您可以查看或修改資料集:

  1. 在 Google Cloud 控制台中,前往「Datasets」(資料集) 頁面
  2. 按一下資料集名稱。「Dataset details」(資料集詳細資料) 頁面隨即顯示。
    1. 按一下「Details」(詳細資料) 分頁標籤,查看資料集相關資訊。在這個分頁也可以編輯資料集名稱和說明。
    2. 按一下「Preview」(預覽) 分頁標籤,在地圖上查看資料集 (僅限狀態為「COMPLETED」或「REVERTED」的資料集)。
    3. 按一下「Table Data」分頁標籤,查看資料集的所有屬性 (僅限狀態為「COMPLETED」或「REVERTED」的資料集)。這些是可用於在地圖上設定資料集樣式的屬性。
    4. 點選「Download」(下載) 按鈕,將資料下載到本機檔案中。
    5. 按一下「Delete」(刪除) 按鈕,刪除資料集。
    6. 按一下「Import Data File」(匯入資料檔案) 按鈕,將新資料上傳至資料集。

      將新資料上傳至資料集,系統會建立資料集的新版本。如果新資料上傳成功:

      • 新版資料集的狀態已設為「已完成」
      • 新版本會成為「有效」版本,也是應用程式使用的版本。

      如果上傳時發生錯誤:

      • 新資料集版本的狀態已設為「已完成」以外的狀態。舉例來說,如果有先前的「有效」版本,資料集的狀態就會設為「已還原」
      • 先前「有效」的資料集版本會維持為「有效」版本,也是應用程式使用的版本。