Наборы данных позволяют загружать геопространственные данные из локального файла или из облачного хранилища 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 МБ), рассмотрите возможность упрощения данных перед загрузкой, чтобы добиться максимальной производительности на визуальной карте.
Вот несколько рекомендаций по подготовке данных:
- Свернуть свойства объекта . Сохраняйте только свойства объекта, необходимые для стилизации вашей карты, например «id» и «категория». Вы можете присоединить дополнительные свойства к функции в клиентском приложении, используя стили, управляемые данными, на ключе уникального идентификатора. Например, см . Просматривайте данные в реальном времени с помощью стилей на основе данных .
- По возможности используйте простые типы данных для объектов свойств, например целые числа, чтобы минимизировать размер фрагмента и повысить производительность карты.
- Упростите сложную геометрию перед загрузкой файла. Вы можете сделать это с помощью геопространственного инструмента по вашему выбору, такого как утилита с открытым исходным кодом Mapshaper.org , или в BigQuery, используя ST_Simplify для сложной геометрии полигонов.
- Сгруппируйте очень плотные точки перед загрузкой файла. Вы можете сделать это с помощью геопространственного инструмента по вашему выбору, такого как функции кластера 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-адреса должны быть локальными (или относительными) по отношению к самому файлу.
- Поддерживаются точечные, линейные и полигональные геометрии.
- Все атрибуты данных считаются строками.
- Значки или
<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
. Если используются неправильные единицы измерения, набор данных может быть успешно импортирован, но визуализированные данные могут отображать точки набора данных в неожиданных местах.
Создать набор данных
Чтобы создать набор данных:
- В Google Cloud Console перейдите на страницу «Наборы данных» .
- Нажмите Создать набор данных .
- Введите имя набора данных. Имя должно быть уникальным среди всех наборов данных.
- При необходимости введите Описание набора данных.
- Нажмите Продолжить . Появится страница импорта данных .
- Выберите источник загрузки данных, используемых для заполнения набора данных: « Рабочий стол» , то есть локальный файл в вашей системе, или сегмент Google Cloud Storage .
- Для рабочего стола нажмите «Обзор» , а затем выберите файл в средстве выбора файлов.
- Для сегмента Google Cloud Storage нажмите «Обзор» и выберите сегмент и файл, содержащий данные.
- Выберите формат файла .
- Нажмите Продолжить , чтобы просмотреть настройки.
Нажмите Создать . Появится страница «Наборы данных» , показывающая ваш новый набор данных. Статус должен быть «Обработка» .
Если данные загружаются успешно:
- Статус набора данных установлен на COMPLETED .
- Набор данных становится «активной» версией и версией, используемой вашим приложением.
Если при загрузке произошла ошибка:
- Статус новой версии набора данных устанавливается в состояние, отличное от COMPLETED .
Просмотр или изменение набора данных
После создания набора данных вы можете просмотреть или изменить набор данных:
- В Google Cloud Console перейдите на страницу «Наборы данных» .
- Щелкните имя набора данных. Появится страница сведений о наборе данных .
- Щелкните вкладку «Подробности» , чтобы просмотреть информацию о наборе данных. На этой вкладке вы также можете редактировать имя и описание набора данных.
- Перейдите на вкладку «Предварительный просмотр» , чтобы увидеть свой набор данных на карте (только наборы данных со статусом ЗАВЕРШЕНО или ОТМЕНЕНО ).
- Перейдите на вкладку «Данные таблицы» , чтобы просмотреть все атрибуты набора данных (только наборы данных со статусом ЗАВЕРШЕНО или ОТМЕНЕНО ). Это атрибуты, которые вы можете использовать для стилизации набора данных на карте.
- Нажмите кнопку «Загрузить» , чтобы загрузить данные в локальный файл.
- Нажмите кнопку «Удалить» , чтобы удалить набор данных.
Нажмите кнопку «Импортировать файл данных» , чтобы загрузить новые данные в набор данных.
Загрузка новых данных в набор данных создает новую версию набора данных. Если новые данные загружены успешно:
- Статус новой версии набора данных установлен на ЗАВЕРШЕНО .
- Новая версия становится «активной» и используется вашим приложением.
Если при загрузке произошла ошибка:
- Статус новой версии набора данных устанавливается в состояние, отличное от COMPLETED . Например, если существует предыдущая «активная» версия, статус набора данных устанавливается на REVERTED .
- Ранее «активная» версия набора данных остается «активной» версией и является версией, используемой вашим приложением.