Как добавлять наборы данных и управлять ими

Выберите платформу: Android iOS JavaScript

Наборы данных позволяют загружать геопространственные данные из локального файла или из облачного хранилища Google на платформу Google Maps. Затем вы можете связать набор данных с одним или несколькими стилями карты в Cloud Console. После связывания набора данных со стилем карт используйте API стилизации на основе данных, чтобы динамически стилизовать приложение карт.

Вы также можете использовать REST API для загрузки геопространственных данных в набор данных. Дополнительную информацию см. в разделе API наборов данных Карт.

Настройка ролей

Чтобы создавать наборы данных в проекте Google Cloud и управлять ими, вы должны иметь роль IAM владельца или редактора в проекте.

Альтернативно вы можете назначить следующие роли IAM учетной записи пользователя или учетной записи службы, которую вы используете для управления наборами данных:

  • Роль Maps Platform Datasets Admin предоставляет пользователю или учетной записи службы доступ на чтение и запись к наборам данных в проекте. Эта роль позволяет пользователю выполнять все операции с набором данных.
  • Роль Maps Platform Datasets Viewer предоставляет доступ только для чтения к наборам данных в проекте. Эта роль позволяет выполнять операции списка, получения или загрузки набора данных.

Дополнительную информацию см. в разделе Предоставление роли IAM с помощью консоли Google Cloud .

Источник данных для набора данных

После создания набора данных загрузите данные в набор данных из Google Cloud Storage или из локального файла.
  • При загрузке данных из Cloud Storage укажите путь к файлу ресурса, содержащего данные в Cloud Storage. Этот путь имеет вид gs:// GCS_BUCKET / FILE .

    Пользователю, делающему запрос, требуется роль «Просмотр объектов хранилища» или любая другая роль, включающая разрешение storage.objects.get . Дополнительную информацию об управлении доступом к Cloud Storage см. в разделе Обзор контроля доступа .

  • При загрузке данных из локального файла укажите путь к файлу GeoJSON, KML или CSV, содержащему данные для загрузки.

Предварительные условия

При создании набора данных:

  • Отображаемые имена должны быть уникальными в рамках вашего проекта Google Cloud.
  • Отображаемые имена должны быть меньше 64 байтов (поскольку эти символы представлены в кодировке UTF-8, в некоторых языках каждый символ может быть представлен несколькими байтами).
  • Описания должны быть меньше 1000 байт.

При загрузке данных:

  • Поддерживаемые типы файлов: CSV, GeoJSON и KML.
  • Максимальный поддерживаемый размер файла — 500 МБ.
  • Имена столбцов атрибутов не могут начинаться со строки «?_».
  • Трехмерная геометрия не поддерживается. Сюда входит суффикс «Z» в формате WKT и координата высоты в формате GeoJSON.

Лучшие практики подготовки данных

Если ваши исходные данные сложны или велики, например, плотные точки, длинные линии или многоугольники (часто в эту категорию попадают исходные файлы размером более 50 МБ), рассмотрите возможность упрощения данных перед загрузкой, чтобы добиться максимальной производительности на визуальной карте.

Вот несколько рекомендаций по подготовке данных:

  1. Свернуть свойства объекта . Сохраняйте только свойства объекта, необходимые для стилизации вашей карты, например «id» и «категория». Вы можете присоединить дополнительные свойства к функции в клиентском приложении, используя стили, управляемые данными, на ключе уникального идентификатора. Например, см . Просматривайте данные в реальном времени с помощью стилей на основе данных .
  2. По возможности используйте простые типы данных для объектов свойств, например целые числа, чтобы минимизировать размер фрагмента и повысить производительность карты.
  3. Упростите сложную геометрию перед загрузкой файла. Вы можете сделать это с помощью геопространственного инструмента по вашему выбору, такого как утилита с открытым исходным кодом Mapshaper.org , или в BigQuery, используя ST_Simplify для сложной геометрии полигонов.
  4. Сгруппируйте очень плотные точки перед загрузкой файла. Вы можете сделать это с помощью геопространственного инструмента по вашему выбору, такого как функции кластера turf.js с открытым исходным кодом, или в BigQuery, используя ST_CLUSTERDBSCAN для плотной точечной геометрии.

Дополнительные рекомендации по передовым практикам работы с наборами данных см. в разделе Визуализация данных с помощью наборов данных и BigQuery .

Требования GeoJSON

Maps SDK для Android поддерживает текущую спецификацию GeoJSON . Maps SDK для Android также поддерживает файлы GeoJSON, содержащие любые из следующих типов объектов:

  • Геометрические объекты . Геометрический объект — это пространственная форма, описываемая как объединение точек, линий и многоугольников с дополнительными отверстиями.
  • Объекты-характеристики . Объект объекта содержит геометрию плюс дополнительные пары имя/значение, значение которых зависит от приложения.
  • Коллекции функций . Коллекция объектов — это набор объектов объектов.

Maps SDK для Android не поддерживает файлы GeoJSON, данные которых имеют систему координат (CRS), отличную от WGS84 .

Дополнительную информацию о GeoJSON см. в разделе «Соответствие RFC 7946» .

Требования KML

Maps SDK для Android предъявляет следующие требования:

  • Все URL-адреса должны быть локальными (или относительными) по отношению к самому файлу.
  • Поддерживаются точечные, линейные и полигональные геометрии.
  • Все атрибуты данных считаются строками.
Следующие функции KML не поддерживаются:
  • Значки или <styleUrl> , определенные вне файла.
  • Сетевые ссылки, например <NetworkLink>
  • Наложения земли, например <GroundOverlay>
  • 3D-геометрия или любые теги, связанные с высотой, такие как <altitudeMode>
  • Характеристики камеры, такие как <LookAt>
  • Стили, определенные внутри файла KML.

Требования к CSV

Для файлов CSV поддерживаемые имена столбцов перечислены ниже в порядке приоритета:

  • latitude longitude
  • lat , long
  • x , y
  • wkt (хорошо известный текст)
  • address , city , state , zip
  • address
  • Один столбец, содержащий всю адресную информацию, например 1600 Amphitheatre Parkway Mountain View, CA 94043

Например, ваш файл содержит столбцы с именами x , y и wkt . Поскольку x и y имеют более высокий приоритет, что определяется порядком поддерживаемых имен столбцов в приведенном выше списке, используются значения в столбцах x и y , а столбец wkt игнорируется.

Кроме того:

  • Каждое имя столбца должно принадлежать одному столбцу. То есть у вас не может быть столбца с именем xy , который содержит данные координат x и y. Координаты x и y должны быть в отдельных столбцах.
  • Имена столбцов нечувствительны к регистру.
  • Порядок имен столбцов не имеет значения. Например, если ваш CSV-файл содержит столбцы lat и long , они могут располагаться в любом порядке.

Обработка ошибок загрузки данных

При загрузке данных в набор данных вы можете столкнуться с одной из распространенных ошибок, описанных в этом разделе.

Ошибки GeoJSON

К частым ошибкам GeoJSON относятся:

  • Поле type отсутствует, или type не является строкой. Загруженный файл данных GeoJSON должен содержать строковое поле с именем type как часть каждого объекта Feature и определения объекта Geometry.

Ошибки KML

К частым ошибкам KML относятся:

  • Файл данных не должен содержать ни одной из неподдерживаемых функций KML, перечисленных выше, иначе импорт данных может завершиться неудачно.

CSV-ошибки

Распространенные ошибки CSV включают в себя:

  • В некоторых строках отсутствуют значения для столбца геометрии. Все строки в файле CSV должны содержать непустые значения столбцов геометрии. Столбцы геометрии включают в себя:
    • latitude longitude
    • lat , long
    • x , y
    • wkt
    • address , city , state , zip
    • address
    • Один столбец, содержащий всю адресную информацию, например 1600 Amphitheatre Parkway Mountain View, CA 94043
  • Если x и y – это столбцы геометрии, убедитесь, что в качестве единиц измерения используются долгота и широта. Некоторые общедоступные наборы данных используют разные системы координат под заголовками x и y . Если используются неправильные единицы измерения, набор данных может быть успешно импортирован, но визуализированные данные могут отображать точки набора данных в неожиданных местах.

Создать набор данных

Чтобы создать набор данных:

  1. В Google Cloud Console перейдите на страницу «Наборы данных» .
  2. Нажмите Создать набор данных .
  3. Введите имя набора данных. Имя должно быть уникальным среди всех наборов данных.
  4. При необходимости введите Описание набора данных.
  5. Нажмите Продолжить . Появится страница импорта данных .
  6. Выберите источник загрузки данных, используемых для заполнения набора данных: « Рабочий стол» , то есть локальный файл в вашей системе, или сегмент Google Cloud Storage .
    • Для рабочего стола нажмите «Обзор» , а затем выберите файл в средстве выбора файлов.
    • Для сегмента Google Cloud Storage нажмите «Обзор» и выберите сегмент и файл, содержащий данные.
  7. Выберите формат файла .
  8. Нажмите Продолжить , чтобы просмотреть настройки.
  9. Нажмите Создать . Появится страница «Наборы данных» , показывающая ваш новый набор данных. Статус должен быть «Обработка» .

    Если данные загружаются успешно:

    • Статус набора данных установлен на COMPLETED .
    • Набор данных становится «активной» версией и версией, используемой вашим приложением.

    Если при загрузке произошла ошибка:

    • Статус новой версии набора данных устанавливается в состояние, отличное от COMPLETED .

Просмотр или изменение набора данных

После создания набора данных вы можете просмотреть или изменить набор данных:

  1. В Google Cloud Console перейдите на страницу «Наборы данных» .
  2. Щелкните имя набора данных. Появится страница сведений о наборе данных .
    1. Щелкните вкладку «Подробности» , чтобы просмотреть информацию о наборе данных. На этой вкладке вы также можете редактировать имя и описание набора данных.
    2. Перейдите на вкладку «Предварительный просмотр» , чтобы увидеть свой набор данных на карте (только наборы данных со статусом ЗАВЕРШЕНО или ОТМЕНЕНО ).
    3. Перейдите на вкладку «Данные таблицы» , чтобы просмотреть все атрибуты набора данных (только наборы данных со статусом ЗАВЕРШЕНО или ОТМЕНЕНО ). Это атрибуты, которые вы можете использовать для стилизации набора данных на карте.
    4. Нажмите кнопку «Загрузить» , чтобы загрузить данные в локальный файл.
    5. Нажмите кнопку «Удалить» , чтобы удалить набор данных.
    6. Нажмите кнопку «Импортировать файл данных» , чтобы загрузить новые данные в набор данных.

      Загрузка новых данных в набор данных создает новую версию набора данных. Если новые данные загружены успешно:

      • Статус новой версии набора данных установлен на ЗАВЕРШЕНО .
      • Новая версия становится «активной» и используется вашим приложением.

      Если при загрузке произошла ошибка:

      • Статус новой версии набора данных устанавливается в состояние, отличное от COMPLETED . Например, если существует предыдущая «активная» версия, статус набора данных устанавливается на REVERTED .
      • Ранее «активная» версия набора данных остается «активной» версией и является версией, используемой вашим приложением.