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 Adminprzyznaje 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 Viewerprzyznaje 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:
- 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.
- 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.
- 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.
- 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.
- 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, y i wkt.
Ponieważ kolumny x i y mają wyższy priorytet (określony przez kolejność obsługiwanych nazw kolumn na powyższej liście), używane są wartości w kolumnach x i y, 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 latilong, 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 typelub poletypenie jest ciągiem znaków. Przesłany plik danych GeoJSON musi zawierać pole tekstowe o nazwietypew 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 xiy, 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łówkachxiy. 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:
- W konsoli Google Cloud otwórz stronę Zbiory danych.
- Kliknij Utwórz zbiór danych.
- Wpisz nazwę zbioru danych. Nazwa musi być unikalna wśród wszystkich zbiorów danych.
- Opcjonalnie wpisz opis zbioru danych.
- Kliknij Dalej. Pojawi się strona Importowanie danych.
- 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.
 
- Wybierz Format pliku.
- Kliknij Dalej, aby sprawdzić ustawienia.
- 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ć:
- W konsoli Google Cloud otwórz stronę Zbiory danych.
- Kliknij nazwę zbioru danych. Pojawi się strona Szczegóły zbioru danych.
    - Aby wyświetlić informacje o zbiorze danych, kliknij kartę Szczegóły. Na tej karcie możesz też edytować nazwę i opis zbioru danych.
- Kliknij kartę Podgląd, aby wyświetlić zbiór danych na mapie (tylko zbiory danych o stanie UKOŃCZONO lub PRZYWRÓCONO).
- 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.
- Kliknij przycisk Pobierz, aby pobrać dane do pliku lokalnego.
- Aby usunąć zbiór danych, kliknij przycisk Usuń.
- 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ę.