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:
- 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.
- 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.
- 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.
- 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 Androida obsługuje aktualną specyfikację GeoJSON. Pakiet SDK Map na Androida 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 Mapy na Androida nie obsługuje plików GeoJSON, które zawierają dane w systemie odniesienia współrzędnych (CRS) innym niż WGS84.
Więcej informacji o GeoJSON znajdziesz w dokumentach zgodnych z RFC 7946.
Wymagania dotyczące pliku KML
Pakiet SDK Map na Androida 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.
- 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
, y
i wkt
.
Ponieważ atrybuty x
i y
mają wyższy priorytet, określony przez kolejność obsługiwanych nazw kolumn na liście powyżej, 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 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
lat
ilong
, 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 poletype
nie jest ciągiem znaków. Przesłany plik danych GeoJSON musi zawierać pole ciągu znaków o nazwietype
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
x
iy
, 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ówx
iy
. 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:
- W konsoli Google Cloud otwórz stronę Zbiory danych.
- Kliknij Utwórz zbiór danych.
- Wpisz nazwę zbioru danych. Nazwa musi być niepowtarzalna wśród wszystkich zbiorów danych.
- Opcjonalnie wpisz opis zbioru danych.
- Kliknij Dalej. Pojawi się strona Importuj dane.
- 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.
- 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 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ć:
- 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 ZAMKNIĘTY lub Cofnięto).
- 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.
- Aby pobrać dane do pliku lokalnego, kliknij przycisk Pobierz.
- Aby usunąć zbiór danych, kliknij przycisk Usuń.
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ę.