Zanim zaczniesz

W tym dokumencie opisano wymagania wstępne, sprawdzone metody i typowe błędy podczas pracy ze zbiorami danych.

Wymagania wstępne

Podczas tworzenia zbioru danych:

  • Wyświetlane nazwy 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 „?_”.
  • 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. zawierają gęste punkty, długie ciągi linii lub wielokąty (często pliki źródłowe o rozmiarze większym niż 50 MB należą do tej kategorii), rozważ uproszczenie danych przed przesłaniem, aby uzyskać najlepszą wydajność na mapie wizualnej.

Oto kilka sprawdzonych metod przygotowywania danych:

  1. Zminimalizuj właściwości funkcji. Zachowaj tylko te właściwości obiektów, które są potrzebne do nadania stylu mapie, np. „id” i „category”. Możesz dołączyć dodatkowe właściwości do elementu w aplikacji klienckiej, używając stylów opartych na danych w unikalnym identyfikatorze klucza. Zobacz na przykład Wyświetlanie danych w czasie rzeczywistym dzięki stylowi opartemu na danych.
  2. W miarę możliwości używaj prostych typów danych dla obiektów właściwości, takich jak liczby całkowite, aby zminimalizować rozmiar kafelków i poprawić wydajność mapy.
  3. Przed przesłaniem pliku uprość złożone geometrie. Możesz to zrobić w wybranym narzędziu geoprzestrzennym, takim jak narzędzie open source Mapshaper.org, lub w BigQuery za pomocą ST_Simplify na złożonych geometriach wielokątów.
  4. Przed przesłaniem pliku pogrupuj bardzo gęsto rozmieszczone punkty. Możesz to zrobić w wybranym narzędziu geoprzestrzennym, takim jak funkcje klastra turf.js typu open source, lub w BigQuery za pomocą ST_CLUSTERDBSCAN na gęstych geometriach punktów.

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

Wymagania dotyczące GeoJSON

Interfejs Maps Datasets API obsługuje bieżącą specyfikację GeoJSON. 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 suma punktów, linii i wielokątów z opcjonalnymi otworami.
  • Obiekty cech. Obiekt elementu zawiera geometrię oraz dodatkowe pary nazwa-wartość, których znaczenie zależy od aplikacji.
  • Kolekcje obiektów. Kolekcja obiektów to zbiór obiektów obiektów.

Interfejs Maps Datasets API nie obsługuje plików GeoJSON, które zawierają dane w układzie współrzędnych innym niż WGS84.

Więcej informacji o GeoJSON znajdziesz w artykule o zgodności ze standardem RFC 7946.

Wymagania dotyczące plików KML

Interfejs Maps Datasets API ma te wymagania:

  • Wszystkie adresy URL muszą być lokalne (lub względne) w stosunku do samego pliku.
  • Obsługiwane są geometrie punktów, linii i wielokątów.
  • Wszystkie atrybuty danych są traktowane jako ciągi znaków.
Te funkcje KML nie są obsługiwane:
  • Ikony lub <styleUrl> zdefiniowane poza plikiem.
  • linki sieciowe, takie jak <NetworkLink>;
  • nakładki na grunt, takie jak <GroundOverlay>;
  • geometria 3D lub tagi związane z wysokością, takie jak <altitudeMode>;
  • Dane techniczne aparatu, takie jak <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
  • Pojedyncza kolumna zawierająca wszystkie informacje adresowe, takie jak 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, który jest określany przez kolejność obsługiwanych nazw kolumn na liście powyżej, używane są wartości z kolumn 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 lat i long, mogą one występować w dowolnej kolejności.

Obsługa błędów występujących podczas 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

Do częstych błędów GeoJSON należą:

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

Błędy KML

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

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

Błędy w pliku CSV

Typowe błędy w plikach CSV:

  • 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:
    • latitude, longitude
    • lat, long
    • x, y
    • wkt
    • address, city, state, zip
    • address
    • Jedna kolumna zawierająca wszystkie informacje adresowe, takie jak 1600 Amphitheatre Parkway Mountain View, CA 94043
  • Jeśli x i y to kolumny geometrii, upewnij się, że jednostkami są długość i szerokość geograficzna. Niektóre publiczne zbiory danych używają różnych układów współrzędnych w nagłówkach x i y. 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.