Tworzenie zbioru danych i zarządzanie nim

Zbiory danych umożliwiają przesyłanie danych geoprzestrzennych z pliku lokalnego lub z Google Cloud Storage do Google Maps Platform. Potem możesz powiązać zbiór danych z co najmniej 1 stylem mapy w konsoli Cloud. Po powiązaniu zbioru danych ze stylem Map użyj interfejsu API stylu opartego na danych, aby dynamicznie określać styl aplikacji map.

Możesz także użyć interfejsu API typu REST, aby przesłać dane geoprzestrzenne do zbioru danych. Więcej informacji znajdziesz na stronie interfejsu Maps Datasets API.

Skonfiguruj role

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

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

  • Rola Maps Platform Datasets Admin przyznaje kontu użytkownika lub usługi uprawnienia do zapisu i odczytu zbiorów danych w projekcie. Ta rola umożliwia użytkownikowi wykonywanie wszystkich operacji na zbiorze danych.
  • Rola Maps Platform Datasets Viewer przyznaje dostęp tylko do odczytu do zbiorów danych w projekcie. Ta rola umożliwia wykonywanie operacji na zbiorze danych, pobieraniu i ich pobieraniu.

Więcej informacji znajdziesz w artykule o przypisywaniu roli 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 podaj ścieżkę pliku do zasobu zawierającego dane w Cloud Storage. Ta ścieżka ma postać gs://GCS_BUCKET/FILE.

    Użytkownik wysyłający żądanie wymaga roli wyświetlający obiekty Cloud Storage lub dowolnej innej roli, która zawiera 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 do przesłania.

Wymagania wstępne

Podczas tworzenia zbioru danych:

  • Wyświetlane nazwy muszą być unikalne w obrębie projektu Google Cloud.
  • Wyświetlane nazwy muszą mieć mniej niż 64 bajty (ponieważ znaki te są reprezentowane w formacie UTF-8, dlatego w niektórych językach każdy znak może być reprezentowany przez kilka bajtów).
  • Opisy muszą być mniejsze niż 1000 bajtów.

Podczas przesyłania danych:

  • Obsługiwane typy plików to CSV, GeoJSON i KML.
  • Maksymalny obsługiwany rozmiar pliku to 350 MB.
  • Nazwy kolumn atrybutów nie mogą zaczynać się od ciągu „?_”.
  • Trójwymiarowe geometrie nie są obsługiwane. Obejmuje to sufiks „Z” w formacie WKT i 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 należą często pliki źródłowe o rozmiarze większym niż 50 MB), rozważ uproszczenie danych przed przesłaniem, aby uzyskać najlepszą wydajność na mapie wizualnej.

Oto kilka sprawdzonych metod przygotowywania danych:

  1. Minimalizuj właściwości cech. Zachowaj tylko te właściwości obiektów, które są niezbędne do określenia stylu mapy, na przykład „id” i „category”. Możesz złączać dodatkowe właściwości z cechami w aplikacji klienckiej za pomocą stylów opartych na danych z użyciem unikalnego klucza identyfikatora. Przykład znajdziesz w sekcji Wyświetlanie danych w czasie rzeczywistym dzięki stylowi opartemu na danych.
  2. W miarę możliwości używaj prostych typów danych (takich jak liczby całkowite), aby zminimalizować rozmiar kafelka i zwiększyć wydajność mapy.
  3. Przed przesłaniem pliku uprość złożone geometrie. Możesz to zrobić w dowolnym narzędziu geoprzestrzennym, takim jak narzędzie open source Mapshaper.org, lub w BigQuery przy użyciu ST_Simplify w przypadku złożonych geometrii wielokątów.
  4. Przed przesłaniem pliku grupuj bardzo gęste punkty. Możesz to zrobić w dowolnym narzędziu geoprzestrzennym, takim jak funkcje klastra turf.js typu open source, lub w BigQuery przy użyciu ST_CLUSTERDBSCAN w gęstych geometriach punktowych.

Dodatkowe wskazówki dotyczące sprawdzonych metod dotyczących zbiorów danych znajdziesz w artykule Wizualizacja danych za pomocą zbiorów danych i BigQuery.

Wymagania GeoJSON

Maps JavaScript API obsługuje bieżącą specyfikację GeoJSON. Maps JavaScript API obsługuje też pliki GeoJSON, które zawierają dowolny z tych typów obiektów:

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

Maps JavaScript API nie obsługuje plików GeoJSON, które zawierają dane w systemie odniesienia współrzędnych (CRS) innym niż WGS84.

Więcej informacji na temat GeoJSON znajdziesz w artykule Zgodność ze standardem RFC 7946.

Wymagania dotyczące formatu KML

Interfejs Maps JavaScript API ma następujące wymagania:

  • Wszystkie adresy URL muszą być lokalne (lub względne) wobec samego pliku.
  • Obsługiwane są geometrie punktów, linii i wielokątów.
  • Wszystkie atrybuty danych są uznawane za ciągi znaków.
Te funkcje KML nie są obsługiwane:
  • Ikony lub <styleUrl> zdefiniowane poza plikiem.
  • Linki sieciowe, takie jak <NetworkLink>
  • warstwy nad powierzchnią, np. <GroundOverlay>
  • geometrie 3D lub wszelkie tagi związane z wysokością, np. <altitudeMode>;
  • Specyfikacje aparatu, np. <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 według priorytetu:

  • latitude, longitude
  • lat, long
  • x, y
  • wkt (dobrze znany tekst)
  • address, city, state, zip
  • address
  • Pojedyncza kolumna zawierająca wszystkie informacje adresowe, np. 1600 Amphitheatre Parkway Mountain View, CA 94043

Na przykład plik zawiera kolumny o nazwach x, y i wkt. Kolumny x i y mają wyższy priorytet określony na podstawie kolejności obsługiwanych nazw kolumn z powyższej listy, dlatego wartości w kolumnach x i y są używane, a kolumna wkt jest ignorowana.

Ponadto:

  • Każda nazwa kolumny musi należeć do jednej kolumny. Oznacza to, że kolumna o nazwie xy nie może zawierać danych o współrzędnych x i y. Współrzędne x i y muszą znajdować się w oddzielnych kolumnach.
  • W nazwach kolumn nie jest rozróżniana wielkość liter.
  • Kolejność nazw kolumn nie ma znaczenia. Jeśli na przykład plik CSV zawiera kolumny lat i long, kolumny te mogą występować w dowolnej kolejności.

Postępowanie w przypadku błędów przesyłania danych

Podczas przesyłania danych do zbioru danych może wystąpić jeden z typowych błędów opisanych w tej sekcji.

Błędy GeoJSON

Typowe błędy GeoJSON:

  • Brak pola type lub type nie jest ciągiem. Przesłany plik danych GeoJSON musi zawierać pole ciągu znaków o nazwie type jako część każdego obiektu Feature i definicji obiektów Geometry.

Błędy KML

Typowe błędy w plikach KML:

  • Plik danych nie może zawierać żadnych nieobsługiwanych funkcji KML wymienionych powyżej, w przeciwnym razie import danych może się nie udać.

Błędy pliku CSV

Typowe błędy w pliku CSV:

  • W niektórych wierszach brakuje wartości kolumny geometrycznej. Wszystkie wiersze w pliku CSV muszą zawierać niepuste wartości kolumn geometrii. Kolumny geometryczne:
    • latitude, longitude
    • lat, long
    • x, y
    • wkt
    • address, city, state, zip
    • address
    • Pojedyncza kolumna zawierająca wszystkie informacje adresowe, np. 1600 Amphitheatre Parkway Mountain View, CA 94043
  • Jeśli x i y to kolumny geometrii, upewnij się, że jednostki to długość i szerokość geograficzna. Niektóre publiczne zbiory danych korzystają z różnych układów współrzędnych w nagłówkach x i y. Jeśli używane będą nieprawidłowe jednostki, zbiór danych może zostać zaimportowany, ale renderowane dane mogą pokazywać punkty zbioru danych w nieoczekiwanych lokalizacjach.

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 Importowanie danych.
  6. Wybierz Źródło przesyłania danych używanych do wypełniania zbioru danych. Wybierz opcję Komputer (czyli plik lokalny w Twoim systemie) lub zasobnik Google Cloud Storage.
    • W przypadku opcji Komputer kliknij Przeglądaj i wybierz plik z selektora plików.
    • W sekcji Zasobnik 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. Powinna ona mieć stan Przetwarzanie.
  10. Poczekaj, aż zbiór danych będzie miał stan Ukończony.

Wyświetlanie lub modyfikowanie zbioru danych

Gdy utworzysz zbiór danych, jego stan zmieni się na Ukończony. Następnie możesz zapoznać się ze szczegółami zbioru danych.

Aby wyświetlić lub zmodyfikować zbiór danych:

  1. W konsoli Google Cloud otwórz stronę Zbiory danych.
  2. Kliknij nazwę zbioru danych. Pojawi się strona Szczegóły zbioru danych.
    1. Kliknij kartę Szczegóły, aby wyświetlić informacje o zbiorze danych. Na tej karcie możesz też edytować nazwę i opis zbioru danych.
    2. Kliknij kartę Podgląd, aby zobaczyć zbiór danych na mapie.
    3. Kliknij kartę Dane w tabeli, aby wyświetlić wszystkie atrybuty zbioru danych. Za pomocą tych atrybutów możesz określić styl zbioru danych na mapie.
    4. Kliknij przycisk Pobierz, aby pobrać dane do pliku lokalnego.
    5. Kliknij przycisk Usuń, aby usunąć zbiór danych.
    6. Kliknij przycisk Importuj plik danych, aby przesłać nowe dane do zbioru danych.

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

      • Stan nowej wersji zbioru danych zostanie ustawiony na UKOŃCZONO.
      • Nowa wersja stanie się wersją „aktywną” i będzie używana przez aplikację.

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

      • Stan nowej wersji zbioru danych zostanie ustawiony na inny stan niż UKOŃCZONO. Jeśli na przykład istnieje poprzednia „aktywna” wersja, stan zbioru danych zostanie ustawiony na ODWRÓĆ.
      • Wcześniej „aktywna” wersja zbioru danych pozostaje „aktywną” wersją używaną przez Twoją aplikację.