W tym dokumencie opisujemy wymagania wstępne, sprawdzone metody i częste błędy występujące podczas pracy z zbiorami danych.
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 pojedynczy 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 dotyczące przygotowania 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 warto je uprościć, aby uzyskać jak najlepsze wyniki 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 z kluczem 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, gdy tylko to możliwe, np. liczb całkowitych, aby zminimalizować rozmiar kafelka i poprawić wydajność mapy.
- Przed przesłaniem pliku uprość skomplikowane geometrie. Możesz to zrobić w dowolnym wybranym przez siebie narzędziu geoprzestrzennym, takim jak narzędzie open source Mapshaper.org, lub w BigQuery, używając 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 wybranym przez siebie narzędziu geoprzestrzennym, takim jak funkcje klastrowania turf.js typu open source, lub w BigQuery, używając 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ą zbiorów danych i BigQuery.
Wymagania dotyczące GeoJSON
Interfejs Maps Datasets API obsługuje aktualną specyfikację GeoJSON. Interfejs Maps Datasets 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 złą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.
Interfejs Maps Datasets API 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 KML
Interfejs Maps Datasets API 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 tekstowe.
- 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, co określa 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.