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 Google Maps Platform. Następnie możesz powiązać zbiór danych z co najmniej 1 stylem mapy w konsoli Cloud. Po powiązaniu zbioru danych ze stylem mapy użyj interfejsu Data-driven Styling API, aby dynamicznie stylować aplikację map.

Możesz też użyć interfejsu REST API, aby przesłać dane geoprzestrzenne do zbioru danych. Więcej informacji znajdziesz w artykule Maps Datasets API.

Konfigurowanie ról

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

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

  • Rola Maps Platform Datasets Admin przyznaje użytkownikowi lub kontu usługi dostęp do odczytu i zapisu 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 list, get i download na zbiorze 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 podaj ścieżkę pliku do zasobu zawierającego dane w Cloud Storage. Ścieżka ma format gs://GCS_BUCKET/FILE.

    Użytkownik wysyłający żądanie musi mieć rolę wyświetlającego 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 do przesłania.

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 (ponieważ te znaki są reprezentowane w formacie UTF-8, w niektórych językach każdy znak może być reprezentowany przez wiele bajtów).
  • Opisy muszą mieć mniej 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 znaków „?_”.
  • Geometrie trójwymiarowe 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 linie lub wielokąty (często pliki źródłowe o rozmiarze powyżej 50 MB należą do tej kategorii), przed przesłaniem ich do wizualnej mapy rozważ uproszczenie danych, aby uzyskać najlepszą wydajność.

Oto kilka sprawdzonych metod przygotowywania danych:

  1. Minimalizuj właściwości funkcji Zachowaj tylko właściwości funkcji potrzebne do stylizowania mapy, np. „id” i „category”. W aplikacji klienckiej możesz łączyć dodatkowe właściwości z funkcją za pomocą stylów opartych na danych na podstawie klucza unikalnego identyfikatora. Na przykład zobacz Wyświetlanie danych w czasie rzeczywistym za pomocą stylów opartych na danych.
  2. W przypadku obiektów właściwoś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 wybranym narzędziu geoprzestrzennym, np. w narzędziu open source Mapshaper.org lub w BigQuery za pomocą funkcji ST_Simplify w przypadku złożonych geometrii wielokątów.
  4. Przed przesłaniem pliku zgrupuj bardzo gęste punkty. Możesz to zrobić w wybranym narzędziu geoprzestrzennym, np. w funkcjach klastrowania open source turf.js lub w BigQuery za pomocą funkcji ST_CLUSTERDBSCAN w przypadku gęstych geometrii punktowych.

Dodatkowe wskazówki dotyczące sprawdzonych metod związanych ze zbiorami danych znajdziesz w artykule Wizualizowanie danych za pomocą zbiorów danych i BigQuery.

Wymagania dotyczące GeoJSON

Pakiet Maps SDK na iOS obsługuje bieżącą specyfikację GeoJSON. Pakiet Maps SDK na iOS obsługuje też pliki GeoJSON zawierające dowolny z tych typów obiektów:

  • Obiekty geometryczne Obiekt geometryczny to kształt przestrzenny opisany jako suma 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 obiektów to zbiór obiektów.

Pakiet SDK Map Google na iOS nie obsługuje plików GeoJSON, które zawierają dane w układzie odniesienia przestrzennego (CRS) innym niż WGS84.

Więcej informacji o GeoJSON znajdziesz w artykule Zgodność z RFC 7946.

Wymagania dotyczące KML

Maps SDK na iOS ma te wymagania:

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

Wymagania dotyczące plików CSV

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

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

Na przykład plik zawiera kolumny o nazwach x, ywkt. Ponieważ kolumny xy mają wyższy priorytet (określony przez kolejność obsługiwanych nazw kolumn na powyższej liście), 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 współrzędnych x i y. Współrzędne x i y muszą znajdować się w osobnych kolumnach.
  • W nazwach kolumn wielkość liter nie jest rozróżniana.
  • Kolejność nazw kolumn nie ma znaczenia. Jeśli na przykład 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że wystąpić jeden z typowych błędów opisanych w tej sekcji.

Błędy GeoJSON

Częste błędy w GeoJSON:

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

Błędy KML

Do typowych błędów KML należą:

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

Błędy w pliku CSV

Do typowych błędów w pliku CSV należą:

  • W niektórych wierszach brakuje wartości w kolumnie geometrii. Wszystkie wiersze w pliku CSV muszą zawierać niepuste wartości w kolumnach geometrii. Kolumny geometrii obejmują:
    • latitude, longitude
    • lat, long
    • x, y
    • wkt
    • address, city, state, zip
    • address
    • Jedna kolumna zawierająca wszystkie informacje o adresie, np.1600 Amphitheatre Parkway Mountain View, CA 94043
  • Jeśli kolumny geometrii to xy, upewnij się, że jednostkami są długość i szerokość geograficzna. Niektóre publiczne zbiory danych używają różnych systemów współrzędnych w nagłówkach xy. Jeśli użyjesz nieprawidłowych jednostek, zbiór danych może zostać zaimportowany, ale wyrenderowane dane mogą wyświetlać 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ć unikalna 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żytych do wypełnienia zbioru danych:Komputer, czyli lokalny plik w systemie, lub zasobnik Google Cloud Storage.
    • W przypadku komputera kliknij Przeglądaj, a potem wybierz plik w oknie wyboru plików.
    • W polu 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. Stan powinien być Przetwarzanie.

    Jeśli dane zostaną przesłane:

    • Stan zbioru danych jest ustawiony na UKOŃCZONO.
    • Zbiór danych staje się „aktywną” wersją i jest używany przez Twoją aplikację.

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

    • Stan nowej wersji zbioru danych jest inny niż UKOŃCZONO.

Wyświetlanie i modyfikowanie zbioru danych

Po utworzeniu zbioru danych możesz go wyświetlić lub zmodyfikować:

  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 UKOŃCZONO lub PRZYWRÓCONO).
    3. Kliknij kartę Dane tabeli, aby wyświetlić wszystkie atrybuty zbioru danych (tylko zbiory danych o stanie UKOŃCZONO lub PRZYWRÓCONO). Są to atrybuty, których możesz użyć do określenia stylu zbioru danych na mapie.
    4. Kliknij przycisk Pobierz, aby pobrać dane do pliku lokalnego.
    5. Aby usunąć zbiór danych, kliknij przycisk Usuń.
    6. Kliknij przycisk Import Data File (Importuj plik danych), aby przesłać nowe dane do zbioru danych.

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

      • Stan nowej wersji zbioru danych zmieni się na UKOŃCZONO.
      • Nowa wersja staje się wersją „aktywną” i jest używana przez Twoją aplikację.

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

      • Stan nowej wersji zbioru danych jest inny niż UKOŃCZONO. Jeśli na przykład istnieje poprzednia „aktywna” wersja, stan zbioru danych zostanie ustawiony na REVERTED.
      • Wcześniejsza „aktywna” wersja zbioru danych pozostaje „aktywną” wersją i jest używana przez aplikację.