Tạo và quản lý tập dữ liệu

Chọn nền tảng: Android iOS JavaScript

Tập dữ liệu cho phép bạn tải dữ liệu không gian địa lý lên từ một tệp cục bộ hoặc từ Google Cloud Storage lên Google Maps Platform. Sau đó, bạn có thể liên kết một tập dữ liệu với một hoặc nhiều kiểu bản đồ trong Cloud Console. Sau khi liên kết tập dữ liệu với một kiểu bản đồ, hãy sử dụng API tạo kiểu dựa trên dữ liệu để tạo kiểu động cho ứng dụng bản đồ.

Bạn cũng có thể sử dụng API REST để tải dữ liệu không gian địa lý lên một tập dữ liệu. Để biết thêm thông tin, hãy xem API Tập dữ liệu Maps

Định cấu hình vai trò

Để tạo và quản lý tập dữ liệu trong một dự án Google Cloud, bạn phải có vai trò Chủ sở hữu hoặc Người chỉnh sửa IAM trong dự án đó.

Ngoài ra, bạn có thể chỉ định các vai trò IAM sau đây cho tài khoản người dùng hoặc tài khoản dịch vụ mà bạn dùng để quản lý tập dữ liệu:

  • Vai trò Maps Platform Datasets Admin cấp cho tài khoản người dùng hoặc tài khoản dịch vụ quyền đọc/ghi vào tập dữ liệu trong dự án. Vai trò này cho phép người dùng thực hiện tất cả thao tác trên một tập dữ liệu.
  • Vai trò Maps Platform Datasets Viewer cấp quyền chỉ có thể đọc vào các tập dữ liệu trong dự án. Vai trò này cho phép bạn thực hiện thao tác liệt kê, lấy hoặc tải xuống trên một tập dữ liệu.

Để biết thêm thông tin, hãy xem phần Cấp vai trò IAM bằng Google Cloud Console.

Nguồn dữ liệu cho tập dữ liệu

Sau khi bạn tạo một tập dữ liệu, hãy tải dữ liệu lên tập dữ liệu đó từ Google Cloud Storage hoặc từ một tệp cục bộ.
  • Khi tải dữ liệu lên từ Cloud Storage, hãy chỉ định đường dẫn tệp đến tài nguyên chứa dữ liệu trong Cloud Storage. Đường dẫn này có dạng gs://GCS_BUCKET/FILE.

    Người dùng đưa ra yêu cầu cần có vai trò Người xem đối tượng bộ nhớ hoặc bất kỳ vai trò nào khác có quyền storage.objects.get. Để biết thêm thông tin về cách quản lý quyền truy cập vào Cloud Storage, hãy xem phần Tổng quan về tính năng kiểm soát quyền truy cập.

  • Khi tải dữ liệu lên từ tệp cục bộ, hãy chỉ định đường dẫn đến tệp GeoJSON, KML hoặc CSV chứa dữ liệu cần tải lên.

Điều kiện tiên quyết

Khi tạo tập dữ liệu:

  • Tên hiển thị phải là duy nhất trong dự án Google Cloud của bạn.
  • Tên hiển thị phải có kích thước dưới 64 byte (Vì các ký tự này được biểu thị bằng UTF-8, nên trong một số ngôn ngữ, mỗi ký tự có thể được biểu thị bằng nhiều byte).
  • Nội dung mô tả phải có kích thước dưới 1.000 byte.

Khi tải dữ liệu lên:

  • Các loại tệp được hỗ trợ là CSV, GeoJSON và KML.
  • Kích thước tệp tối đa được hỗ trợ là 500 MB.
  • Tên cột thuộc tính không được bắt đầu bằng chuỗi "?_".
  • Không hỗ trợ hình học ba chiều. Tên này bao gồm hậu tố "Z" ở định dạng WKT và toạ độ độ cao ở định dạng GeoJSON.

Các phương pháp hay nhất để chuẩn bị dữ liệu

Nếu dữ liệu nguồn của bạn phức tạp hoặc có dung lượng lớn, chẳng hạn như các điểm dày đặc, chuỗi đường dài hoặc đa giác (thường là các tệp nguồn có kích thước lớn hơn 50 MB thuộc danh mục này), hãy cân nhắc đơn giản hoá dữ liệu trước khi tải lên để đạt được hiệu suất tốt nhất trong bản đồ trực quan.

Dưới đây là một số phương pháp hay nhất để chuẩn bị dữ liệu:

  1. Giảm thiểu các thuộc tính của đối tượng. Chỉ giữ lại các thuộc tính đối tượng cần thiết để tạo kiểu cho bản đồ, ví dụ: "id" và "category". Bạn có thể kết hợp các thuộc tính bổ sung với một tính năng trong ứng dụng khách bằng cách sử dụng các kiểu dựa trên dữ liệu trên khoá giá trị nhận dạng duy nhất. Ví dụ: hãy xem bài viết Xem dữ liệu theo thời gian thực bằng tính năng Định kiểu dựa trên dữ liệu.
  2. Sử dụng các loại dữ liệu đơn giản cho các đối tượng thuộc tính (nếu có thể), chẳng hạn như số nguyên, để giảm thiểu kích thước thẻ thông tin và cải thiện hiệu suất của bản đồ.
  3. Đơn giản hoá các hình học phức tạp trước khi tải tệp lên. Bạn có thể thực hiện việc này trong một công cụ không gian địa lý mà bạn chọn, chẳng hạn như tiện ích nguồn mở Mapshaper.org hoặc trong BigQuery bằng cách sử dụng hàm ST_Simplify trên các hình đa giác phức tạp.
  4. Nhóm các điểm rất dày đặc trước khi tải tệp lên. Bạn có thể thực hiện việc này trong một công cụ không gian địa lý mà bạn chọn, chẳng hạn như các hàm cụm turf.js nguồn mở hoặc trong BigQuery bằng cách sử dụng ST_CLUSTERDBSCAN trên các hình học điểm dày đặc.

Hãy xem hướng dẫn bổ sung về các phương pháp hay nhất đối với tập dữ liệu trong bài viết Hình ảnh hoá dữ liệu bằng Tập dữ liệu và BigQuery.

Yêu cầu về GeoJSON

SDK Bản đồ dành cho Android hỗ trợ thông số kỹ thuật GeoJSON hiện tại. SDK Bản đồ dành cho Android cũng hỗ trợ các tệp GeoJSON chứa bất kỳ loại đối tượng nào sau đây:

  • Đối tượng hình học. Đối tượng hình học là một hình dạng không gian, được mô tả là một tổ hợp của các điểm, đường và đa giác có lỗ tuỳ chọn.
  • Đối tượng tính năng. Đối tượng đặc điểm chứa một hình học cùng với các cặp tên/giá trị bổ sung, có ý nghĩa dành riêng cho ứng dụng.
  • Bộ sưu tập tính năng. Tập hợp đối tượng là một tập hợp các đối tượng đặc điểm.

SDK Maps cho Android không hỗ trợ các tệp GeoJSON có dữ liệu trong hệ thống tham chiếu toạ độ (CRS) khác với WGS84.

Để biết thêm thông tin về GeoJSON, hãy xem phần Tuân thủ RFC 7946.

Yêu cầu về tệp KML

SDK Bản đồ dành cho Android có các yêu cầu sau:

  • Tất cả URL phải là URL cục bộ (hoặc tương đối) so với chính tệp đó.
  • Hỗ trợ hình học điểm, đường và đa giác.
  • Tất cả thuộc tính dữ liệu đều được coi là chuỗi.
Các tính năng KML sau đây không được hỗ trợ:
  • Biểu tượng hoặc <styleUrl> được xác định bên ngoài tệp.
  • Đường liên kết mạng, chẳng hạn như <NetworkLink>
  • Lớp phủ mặt đất, chẳng hạn như <GroundOverlay>
  • Hình học 3D hoặc bất kỳ thẻ nào liên quan đến độ cao, chẳng hạn như <altitudeMode>
  • Thông số kỹ thuật của máy ảnh, chẳng hạn như <LookAt>
  • Các kiểu được xác định bên trong tệp KML.

Yêu cầu về tệp CSV

Đối với tệp CSV, tên cột được hỗ trợ được liệt kê bên dưới theo thứ tự ưu tiên:

  • latitude, longitude
  • lat, long
  • x, y
  • wkt (Văn bản đã biết)
  • address, city, state, zip
  • address
  • Một cột duy nhất chứa tất cả thông tin địa chỉ, chẳng hạn như 1600 Amphitheatre Parkway Mountain View, CA 94043

Ví dụ: tệp của bạn chứa các cột có tên x, ywkt. Vì xy có mức độ ưu tiên cao hơn, được xác định theo thứ tự tên cột được hỗ trợ trong danh sách ở trên, nên các giá trị trong cột xy sẽ được sử dụng và cột wkt sẽ bị bỏ qua.

Ngoài ra:

  • Mỗi tên cột phải thuộc về một cột duy nhất. Tức là bạn không thể có cột có tên xy chứa cả dữ liệu toạ độ x và y. Toạ độ x và y phải nằm trong các cột riêng biệt.
  • Tên cột không phân biệt chữ hoa chữ thường.
  • Thứ tự của tên cột không quan trọng. Ví dụ: nếu tệp CSV của bạn chứa các cột latlong, thì các cột này có thể xuất hiện theo thứ tự bất kỳ.

Xử lý lỗi tải dữ liệu lên

Khi tải dữ liệu lên một tập dữ liệu, bạn có thể gặp phải một trong các lỗi thường gặp được mô tả trong phần này.

Lỗi GeoJSON

Sau đây là các lỗi GeoJSON thường gặp:

  • Thiếu trường type hoặc type không phải là một chuỗi. Tệp dữ liệu GeoJSON đã tải lên phải chứa một trường chuỗi có tên là type trong mỗi định nghĩa đối tượng Feature và đối tượng Geometry.

Lỗi KML

Sau đây là các lỗi KML thường gặp:

  • Tệp dữ liệu không được chứa bất kỳ tính năng KML nào không được hỗ trợ nêu trên, nếu không, quá trình nhập dữ liệu có thể không thành công.

Lỗi CSV

Sau đây là một số lỗi CSV thường gặp:

  • Một số hàng thiếu giá trị cho cột hình học. Tất cả các hàng trong tệp CSV phải chứa giá trị không trống cho các cột hình học. Các cột hình học bao gồm:
    • latitude, longitude
    • lat, long
    • x, y
    • wkt
    • address, city, state, zip
    • address
    • Một cột duy nhất chứa tất cả thông tin địa chỉ, chẳng hạn như 1600 Amphitheatre Parkway Mountain View, CA 94043
  • Nếu xy là cột hình học, hãy đảm bảo rằng đơn vị là kinh độ và vĩ độ. Một số tập dữ liệu công khai sử dụng các hệ toạ độ khác nhau trong tiêu đề xy. Nếu bạn sử dụng sai đơn vị, tập dữ liệu có thể nhập thành công, nhưng dữ liệu được kết xuất có thể hiển thị các điểm tập dữ liệu ở những vị trí không mong muốn.

Tạo tập dữ liệu

Cách tạo tập dữ liệu:

  1. Trong Google Cloud Console, hãy chuyển đến trang Tập dữ liệu.
  2. Nhấp vào Tạo tập dữ liệu.
  3. Nhập tên tập dữ liệu. Tên không được trùng lặp trên tất cả các tập dữ liệu.
  4. Bạn có thể nhập Nội dung mô tả cho tập dữ liệu (không bắt buộc).
  5. Nhấp vào Tiếp tục. Trang Nhập dữ liệu sẽ xuất hiện.
  6. Chọn Nguồn tải lên của dữ liệu dùng để điền sẵn tập dữ liệu dưới dạng Máy tính, nghĩa là tệp cục bộ trên hệ thống của bạn hoặc Bộ chứa Google Cloud Storage.
    • Đối với Máy tính, hãy nhấp vào Duyệt qua rồi chọn tệp trong trình chọn tệp.
    • Đối với bộ chứa Google Cloud Storage, hãy nhấp vào Browse (Duyệt qua) rồi chọn bộ chứa và tệp chứa dữ liệu.
  7. Chọn Định dạng tệp.
  8. Nhấp vào Tiếp tục để xem lại chế độ cài đặt.
  9. Nhấp vào Tạo. Trang Tập dữ liệu sẽ xuất hiện, cho thấy tập dữ liệu mới của bạn. Trạng thái phải là Đang xử lý.

    Nếu dữ liệu tải lên thành công:

    • Trạng thái của tập dữ liệu được đặt thành ĐÃ HOÀN TẤT.
    • Tập dữ liệu sẽ trở thành phiên bản "đang hoạt động" và là phiên bản mà ứng dụng của bạn sử dụng.

    Nếu quá trình tải lên gặp lỗi:

    • Trạng thái của phiên bản tập dữ liệu mới được đặt thành một trạng thái khác với ĐÃ HOÀN TẤT.

Xem hoặc sửa đổi tập dữ liệu

Sau khi tạo tập dữ liệu, bạn có thể xem hoặc sửa đổi tập dữ liệu đó:

  1. Trong Google Cloud Console, hãy chuyển đến trang Tập dữ liệu.
  2. Nhấp vào tên tập dữ liệu. Trang Thông tin chi tiết về tập dữ liệu sẽ xuất hiện.
    1. Nhấp vào thẻ Thông tin chi tiết để xem thông tin về tập dữ liệu. Trên thẻ này, bạn cũng có thể chỉnh sửa tên và nội dung mô tả của tập dữ liệu.
    2. Nhấp vào thẻ Xem trước để xem tập dữ liệu của bạn trên bản đồ (chỉ áp dụng cho các tập dữ liệu có trạng thái là ĐÃ HOÀN TẤT hoặc ĐÃ HUỶ).
    3. Nhấp vào thẻ Dữ liệu bảng để xem tất cả thuộc tính của tập dữ liệu (chỉ áp dụng cho các tập dữ liệu có trạng thái là ĐÃ HOÀN THÀNH hoặc ĐÃ HUỶ). Đây là các thuộc tính mà bạn có thể sử dụng để tạo kiểu cho tập dữ liệu trên bản đồ.
    4. Nhấp vào nút Tải xuống để tải dữ liệu xuống một tệp cục bộ.
    5. Nhấp vào nút Xoá để xoá tập dữ liệu.
    6. Nhấp vào nút Nhập tệp dữ liệu để tải dữ liệu mới lên tập dữ liệu.

      Việc tải dữ liệu mới lên tập dữ liệu sẽ tạo một phiên bản mới của tập dữ liệu đó. Nếu dữ liệu mới tải lên thành công:

      • Trạng thái của phiên bản mới của tập dữ liệu được đặt thành ĐÃ HOÀN TẤT.
      • Phiên bản mới trở thành phiên bản "đang hoạt động" và là phiên bản mà ứng dụng của bạn sử dụng.

      Nếu quá trình tải lên gặp lỗi:

      • Trạng thái của phiên bản tập dữ liệu mới được đặt thành một trạng thái khác với ĐÃ HOÀN TẤT. Ví dụ: nếu có phiên bản "đang hoạt động" trước đó, thì trạng thái của tập dữ liệu sẽ được đặt thành ĐÃ HUỶ.
      • Phiên bản tập dữ liệu "đang hoạt động" trước đó vẫn là phiên bản "đang hoạt động" và là phiên bản mà ứng dụng của bạn sử dụng.