W tym dokumencie opisujemy wymagania wstępne, sprawdzone metody i typowe błędy występujące podczas pracy ze 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 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 za pomocą stylów opartych na danych i unikalnego klucza identyfikatora. Przykład znajdziesz w sekcji Wyświetlanie danych w czasie rzeczywistym dzięki stylowi opartemu na danych.
- 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.
- Uprość złożone geometrie przed przesłaniem pliku. 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.
- 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
Interfejs Maps Datasets API obsługuje aktualną specyfikację GeoJSON. Interfejs Maps Datasets API obsługuje też pliki GeoJSON zawierające dowolne 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.
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 na temat GeoJSON znajdziesz w artykule Zgodność ze standardem RFC 7946.
Wymagania dotyczące KML
Interfejs Maps Datasets API musi spełniać te wymagania:
- Wszystkie adresy URL muszą być lokalne (lub względne) wobec samego pliku.
- Obsługiwane są geometrie punktowe, liniowe i wielokątne.
- Wszystkie atrybuty danych są uznawane za 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, 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 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, 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 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.
Postępowanie w przypadku 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 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 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żywane będą nieprawidłowe jednostki, zbiór danych może zostać zaimportowany, ale renderowane dane mogą pokazywać punkty zbioru danych w nieoczekiwanych lokalizacjach.