Tworzenie zbioru danych i zarządzanie nim

Wybierz platformę: Android iOS JavaScript

Zbiory danych umożliwiają przesyłanie danych geoprzestrzennych z pliku lokalnego lub z Google Cloud Storage do Platformy Map Google. Następnie możesz powiązać zbiór danych z jednym lub kilkoma stylami map w konsoli Cloud. Po powiązaniu zbioru danych ze stylem mapy użyj interfejsu API stylu opartego na danych, aby dynamicznie nadać styl aplikacji map.

Dane geoprzestrzenne możesz też przesłać do zbioru danych za pomocą interfejsu REST API. Więcej informacji znajdziesz w interfejsie Maps Datasets API.

Konfigurowanie ról

Aby tworzyć zbiory danych w projekcie Google Cloud i nimi zarządzać, musisz mieć w nim przypisaną rolę uprawnień Właściciel lub Edytor.

Możesz też przypisać te role uprawnień do konta użytkownika lub konta usługi, których używasz do zarządzania zbiorami danych:

  • Rola Maps Platform Datasets Admin przyznaje użytkownikowi lub kontu usługi dostęp z możliwością odczytu/zapisu do zbiorów danych w projekcie. Ta rola pozwala użytkownikowi wykonywać wszystkie operacje na zbiorze danych.
  • Rola Maps Platform Datasets Viewer przyznaje dostęp tylko do odczytu do zbiorów danych w projekcie. Ta rola umożliwia wyświetlanie listy, pobieranie lub pobieranie zbioru danych.

Więcej informacji znajdziesz w artykule Przyznawanie ról uprawnień za pomocą konsoli Google Cloud.

Źródło danych zbioru danych

Po utworzeniu zbioru danych prześlij do niego dane z Google Cloud Storage lub z pliku lokalnego.
  • Podczas przesyłania danych z Cloud Storage określ ścieżkę do zasobu zawierającego dane w Cloud Storage. Ścieżka ma format gs://GCS_BUCKET/FILE.

    Użytkownik przesyłający żądanie musi mieć rolę wyświetlający obiekty Cloud Storage lub inną rolę, która obejmuje uprawnienie storage.objects.get. Więcej informacji o zarządzaniu dostępem do Cloud Storage znajdziesz w artykule Omówienie kontroli dostępu.

  • Podczas przesyłania danych z pliku lokalnego podaj ścieżkę do pliku GeoJSON, KML lub CSV zawierającego dane, które chcesz przesłać.

Wymagania wstępne

Podczas tworzenia zbioru danych:

  • Nazwy wyświetlane muszą być unikalne w projekcie Google Cloud.
  • Wyświetlane nazwy muszą mieć mniej niż 64 bajty (znaki te są reprezentowane w formacie UTF-8, a w niektórych językach każdy znak może być reprezentowany przez kilka bajtów).
  • Opis nie może mieć więcej niż 1000 bajtów.

Podczas przesyłania danych:

  • Obsługiwane typy plików to CSV, GeoJSON i KML.
  • Maksymalny obsługiwany rozmiar pliku to 500 MB.
  • Nazwy kolumn atrybutów nie mogą zaczynać się od ciągu „?_”.
  • Geometria trójwymiarowa nie jest obsługiwana. Obejmuje to sufiks „Z” w formacie WKT oraz współrzędną wysokości w formacie GeoJSON.

Sprawdzone metody przygotowywania danych

Jeśli dane źródłowe są złożone lub duże, np. gęste punkty, długie ciągi linii lub wielokąty (do tej kategorii często należą pliki źródłowe o większym rozmiarze niż 50 MB), przed przesłaniem danych rozważ ich uproszczenie, aby uzyskać jak najlepszy efekt na mapie wizualnej.

Oto kilka sprawdzonych metod przygotowywania danych:

  1. Minimalizuj właściwości funkcji. Zachowaj tylko właściwości obiektu potrzebne do stylizacji mapy, np. „id” i „category”. Możesz dołączać dodatkowe właściwości do funkcji w aplikacji klienta, używając stylów opartych na danych i klucza identyfikatora. Zobacz na przykład, jak wyświetlać dane w czasie rzeczywistym za pomocą stylizacji opartej na danych.
  2. Używaj prostych typów danych w przypadku obiektów właściwości, np. liczb całkowitych, aby zminimalizować rozmiary kafelków i poprawić wydajność mapy.
  3. Uprość złożone geometrie przed przesłaniem pliku. Możesz to zrobić w dowolnym wybranym przez siebie narzędziu geoprzestrzennym, takim jak narzędzie open source Mapshaper.org, lub w BigQuery za pomocą funkcji ST_Simplify na złożonych geometriach wielokątów.
  4. Zgrupuj bardzo gęste punkty przed przesłaniem pliku. Możesz to zrobić w dowolnym wybranym przez siebie narzędziu geoprzestrzennym, takim jak funkcje klastrowania turf.js, lub w BigQuery za pomocą funkcji ST_CLUSTERDBSCAN na geometrycznych danych punktowych o dużej gęstości.

Więcej wskazówek dotyczących zbiorów danych znajdziesz w artykule Wizualizowanie danych za pomocą Datasets i BigQuery.

Wymagania dotyczące GeoJSON

Pakiet SDK Map na iOS obsługuje aktualną specyfikację GeoJSON. Pakiet Maps SDK na iOS obsługuje też pliki GeoJSON, które zawierają dowolny z tych typów obiektów:

  • obiekty geometrii, Obiekt geometryczny to kształt przestrzenny opisany jako złączenie punktów, linii i wielokątów z opcjonalnymi otworami.
  • obiekty funkcji, Obiekt obiektu zawiera geometrię oraz dodatkowe pary nazwa/wartość, których znaczenie zależy od aplikacji.
  • Kolekcje funkcji. Kolekcja cech to zbiór obiektów cech.

Pakiet SDK Map na iOS nie obsługuje plików GeoJSON, które zawierają dane w systemie współrzędności (CRS) innym niż WGS84.

Więcej informacji o GeoJSON znajdziesz w dokumentach zgodnych z RFC 7946.

Wymagania dotyczące pliku KML

Maps SDK na iOS musi spełniać te wymagania:

  • Wszystkie adresy URL muszą być lokalne (lub względne) względem pliku.
  • Obsługiwane są geometrie punktowe, liniowe i wielokątne.
  • Wszystkie atrybuty danych są traktowane jako ciągi znaków.
Te funkcje KML nie są obsługiwane:
  • Ikony lub <styleUrl> zdefiniowane poza plikiem.
  • Linki sieciowe, takie jak <NetworkLink>
  • nakładki na powierzchnię, takie jak <GroundOverlay>;
  • geometrie 3D lub dowolne tagi związane z wysokośćami, np. <altitudeMode>
  • Specyfikacje aparatu, takie jak <LookAt>
  • Style zdefiniowane w pliku KML.

Wymagania dotyczące pliku CSV

W przypadku plików CSV obsługiwane nazwy kolumn są wymienione poniżej w kolejności priorytetów:

  • latitude, longitude
  • lat, long
  • x, y
  • wkt (Well-Known Text)
  • address, city, state, zip
  • address
  • Jedna kolumna zawierająca wszystkie informacje o adresie, takie jak: 1600 Amphitheatre Parkway Mountain View, CA 94043

Plik zawiera np. kolumny o nazwach x, ywkt. Ponieważ atrybuty xy mają wyższy priorytet, określony przez kolejność obsługiwanych nazw kolumn na liście powyżej, używane są wartości w kolumnach xy, a kolumna wkt jest ignorowana.

Ponadto:

  • Każda nazwa kolumny musi należeć do jednej kolumny. Oznacza to, że nie możesz mieć kolumny o nazwie xy, która zawiera dane o współrzędnych x i y. współrzędne x i y muszą być w oddzielnych kolumnach,
  • W nazwach kolumn wielkość liter nie ma znaczenia.
  • Kolejność nazw kolumn nie ma znaczenia. Jeśli np. plik CSV zawiera kolumny latlong, mogą one występować w dowolnej kolejności.

Obsługa błędów przesyłania danych

Podczas przesyłania danych do zbioru danych możesz napotkać jeden z częstych błędów opisanych w tym rozdziale.

Błędy GeoJSON

Typowe błędy GeoJSON:

  • Brakuje pola type lub pole type nie jest ciągiem znaków. Przesłany plik danych GeoJSON musi zawierać pole ciągu znaków o nazwie type w ramach definicji obiektu Feature i obiektu Geometry.

Błędy KML

Typowe błędy pliku KML:

  • Plik danych nie może zawierać żadnych z wymienionych powyżej funkcji KML, ponieważ może to spowodować niepowodzenie importu danych.

Błędy w pliku CSV

Typowe błędy pliku CSV:

  • W niektórych wierszach brakuje wartości w kolumnie geometrii. Wszystkie wiersze w pliku CSV muszą zawierać niepuste wartości w kolumnach geometrycznych. Kolumny geometrii obejmują:
    • latitude, longitude
    • lat, long
    • x, y
    • wkt
    • address, city, state, zip
    • address
    • Jedna kolumna zawierająca wszystkie informacje o adresie, takie jak:1600 Amphitheatre Parkway Mountain View, CA 94043
  • Jeśli kolumny geometryczne to xy, sprawdź, czy jednostki to długość i szerokość geograficzna. Niektóre publiczne zbiory danych używają różnych układów współrzędnych w ramach nagłówków xy. Jeśli użyjesz niewłaściwych jednostek, zbiór danych może zostać zaimportowany, ale wyrenderowane dane mogą zawierać punkty zbioru danych w nieoczekiwanych miejscach.

Tworzenie zbioru danych

Aby utworzyć zbiór danych:

  1. W konsoli Google Cloud otwórz stronę Zbiory danych.
  2. Kliknij Utwórz zbiór danych.
  3. Wpisz nazwę zbioru danych. Nazwa musi być niepowtarzalna wśród wszystkich zbiorów danych.
  4. Opcjonalnie wpisz opis zbioru danych.
  5. Kliknij Dalej. Pojawi się strona Importuj dane.
  6. Wybierz źródło przesyłania danych służących do wypełniania zbioru danych: Pulpit (plik lokalny w systemie) lub zasośnik Google Cloud Storage.
    • W przypadku komputera kliknij Przeglądaj, a następnie wybierz plik w selektorze plików.
    • W przypadku zasobnika Google Cloud Storage kliknij Przeglądaj i wybierz zasobnik oraz plik zawierający dane.
  7. Wybierz Format pliku.
  8. Kliknij Dalej, aby sprawdzić ustawienia.
  9. Kliknij Utwórz. Pojawi się strona Zbiory danych z nowym zbiorem danych. Stan powinien być Przetwarzanie.

    Jeśli dane zostaną przesłane:

    • Stan zbioru danych to ZAMKNIĘTY.
    • Zbiór danych staje się „aktywnym” zbiorem danych i jest używany przez aplikację.

    Jeśli podczas przesyłania wystąpił błąd:

    • stan nowej wersji zbioru danych jest inny niż ZAMKNIĘTY.

Wyświetlanie i modyfikowanie zbioru danych

Po utworzeniu zbioru danych możesz go wyświetlać lub modyfikować:

  1. W konsoli Google Cloud otwórz stronę Zbiory danych.
  2. Kliknij nazwę zbioru danych. Pojawi się strona Szczegóły zbioru danych.
    1. Aby wyświetlić informacje o zbiorze danych, kliknij kartę Szczegóły. Na tej karcie możesz też edytować nazwę i opis zbioru danych.
    2. Kliknij kartę Podgląd, aby wyświetlić zbiór danych na mapie (tylko zbiory danych o stanie ZAMKNIĘTY lub Cofnięto).
    3. Kliknij kartę Dane tabeli, aby wyświetlić wszystkie atrybuty zbioru danych (tylko zbiory danych ze stanem ZAMKNIĘTE lub PRZENOŚLONE). To atrybuty, których możesz używać do nadawania stylów zbiorowi danych na mapie.
    4. Aby pobrać dane do pliku lokalnego, kliknij przycisk Pobierz.
    5. Aby usunąć zbiór danych, kliknij przycisk Usuń.
    6. Aby przesłać nowe dane do zbioru danych, kliknij przycisk Importuj plik danych.

      Przesyłanie nowych danych do zbioru danych powoduje utworzenie nowej wersji zbioru danych. Jeśli nowe dane zostaną przesłane:

      • Stan nowej wersji zbioru danych to ZAMKNIĘTY.
      • Nowa wersja staje się „aktywna” i jest używana przez aplikację.

      Jeśli podczas przesyłania wystąpił błąd:

      • stan nowej wersji zbioru danych jest inny niż ZAMKNIĘTY. Jeśli na przykład istnieje poprzednia „aktywna” wersja, stan zbioru danych jest ustawiony na Cofnięto.
      • Wersja „aktywna” zbioru danych pozostaje „aktywną” wersją i jest wersją używaną przez aplikację.