Наборы данных позволяют загружать геопространственные данные из локального файла или из облачного хранилища Google на платформу Google Карт. Затем вы можете связать набор данных с одним или несколькими стилями карт в консоли Cloud. После того, как набор данных будет связан со стилем карты, используйте API стилизации на основе данных для динамического оформления вашего приложения.
Вы также можете использовать REST API для загрузки геопространственных данных в набор данных. Подробнее см. в разделе API наборов данных Карт.
Настроить роли
Для создания и управления наборами данных в проекте Google Cloud вам необходимо иметь IAM-роль владельца или редактора в проекте.
Кроме того, вы можете назначить следующие роли IAM учетной записи пользователя или учетной записи службы, которую вы используете для управления наборами данных:
- Роль
Maps Platform Datasets Admin
предоставляет пользователю или учётной записи служб доступ на чтение и запись к наборам данных в проекте. Эта роль позволяет пользователю выполнять любые операции с набором данных. - Роль
Maps Platform Datasets Viewer
предоставляет доступ только для чтения к наборам данных в проекте. Эта роль позволяет выполнять операции по составлению списка, получению или загрузке набора данных.
Дополнительные сведения см. в статье Предоставление роли IAM с помощью консоли Google Cloud .
Источник данных для набора данных
После создания набора данных загрузите данные в набор данных из Google Cloud Storage или из локального файла.При загрузке данных из облачного хранилища укажите путь к файлу ресурса, содержащего данные в облачном хранилище. Этот путь имеет вид
gs:// GCS_BUCKET / FILE
.Пользователь, выполняющий запрос, должен иметь роль « Просмотрщик объектов хранилища» или любую другую роль, включающую разрешение
storage.objects.get
. Подробнее об управлении доступом к облачному хранилищу см. в разделе «Обзор управления доступом» .- При загрузке данных из локального файла укажите путь к файлу GeoJSON, KML или CSV, содержащему данные для загрузки.
Предпосылки
При создании набора данных:
- Отображаемые имена должны быть уникальными в пределах вашего проекта Google Cloud.
- Отображаемые имена должны быть короче 64 байт (поскольку эти символы представлены в кодировке UTF-8, в некоторых языках каждый символ может быть представлен несколькими байтами).
- Описания должны быть меньше 1000 байт.
При загрузке данных:
- Поддерживаемые типы файлов: CSV, GeoJSON и KML.
- Максимальный поддерживаемый размер файла — 500 МБ.
- Имена столбцов атрибутов не могут начинаться со строки «?_».
- Трёхмерные геометрические объекты не поддерживаются. Это включает суффикс «Z» в формате WKT и координаты высоты в формате GeoJSON.
Лучшие практики подготовки данных
Если ваши исходные данные сложные или большие, например, плотные точки, длинные линии или полигоны (к этой категории часто относятся исходные файлы размером более 50 МБ), рассмотрите возможность упрощения данных перед загрузкой, чтобы добиться наилучшей производительности на визуальной карте.
Вот несколько рекомендаций по подготовке данных:
- Минимизируйте свойства объекта . Оставьте только те свойства объекта, которые необходимы для оформления карты, например, «id» и «category». Вы можете добавить дополнительные свойства к объекту в клиентском приложении, используя стили на основе данных по уникальному ключу идентификатора. Например, см. раздел «Просмотр данных в режиме реального времени с помощью стилей на основе данных» .
- По возможности используйте простые типы данных для объектов свойств, например целые числа, чтобы минимизировать размер плитки и повысить производительность карты.
- Упростите сложную геометрию перед загрузкой файла. Это можно сделать в любом геопространственном инструменте, например, в утилите Mapshaper.org с открытым исходным кодом, или в BigQuery, используя ST_Simplify для сложных полигональных геометрий.
- Кластеризуйте очень плотные точки перед загрузкой файла. Это можно сделать в любом геопространственном инструменте, например, с помощью кластерных функций turf.js с открытым исходным кодом, или в BigQuery, используя ST_CLUSTERDBSCAN для плотной геометрии точек.
Дополнительные рекомендации по передовым методам работы с наборами данных см. в статье Визуализация данных с помощью наборов данных и BigQuery .
Требования GeoJSON
Maps SDK для iOS поддерживает текущую спецификацию GeoJSON . Maps SDK для iOS также поддерживает файлы GeoJSON, содержащие любой из следующих типов объектов:
- Геометрические объекты . Геометрический объект — это пространственная фигура, описываемая как объединение точек, линий и многоугольников с возможными отверстиями.
- Объекты-элементы . Объект-элемент содержит геометрию и дополнительные пары «имя/значение», значение которых зависит от области применения.
- Коллекции объектов . Коллекция объектов — это набор объектов.
Maps SDK для iOS не поддерживает файлы GeoJSON, содержащие данные в системе координат (CRS), отличной от WGS84 .
Дополнительную информацию о GeoJSON см. в разделе, соответствующем RFC 7946 .
Требования KML
Maps SDK для iOS имеет следующие требования:
- Все 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 перейдите на страницу Наборы данных .
- Нажмите Создать набор данных .
- Введите имя набора данных. Имя должно быть уникальным среди всех наборов данных.
- При желании введите Описание набора данных.
- Нажмите «Продолжить» . Откроется страница импорта данных .
- Выберите в качестве источника загрузки данных, используемых для заполнения набора данных, Desktop (локальный файл в вашей системе) или Google Cloud Storage (хранилище Google Cloud Storage) .
- Для рабочего стола нажмите «Обзор» , а затем выберите файл в списке файлов.
- Для контейнера Google Cloud Storage нажмите кнопку «Обзор» и выберите контейнер и файл, содержащий данные.
- Выберите формат файла .
- Нажмите «Продолжить» , чтобы просмотреть настройки.
Нажмите «Создать» . Откроется страница «Наборы данных» с вашим новым набором данных. Статус должен быть «Обработка» .
Если данные успешно загружены:
- Статус набора данных установлен на COMPLETED .
- Набор данных становится «активной» версией и представляет собой версию, используемую вашим приложением.
Если при загрузке произошла ошибка:
- Статус новой версии набора данных установлен на статус, отличный от COMPLETED .
Просмотреть или изменить набор данных
После создания набора данных вы можете просмотреть или изменить его:
- В консоли Google Cloud перейдите на страницу Наборы данных .
- Щелкните имя набора данных. Откроется страница с подробностями набора данных .
- Перейдите на вкладку «Подробности» , чтобы просмотреть информацию о наборе данных. На этой вкладке вы также можете изменить название и описание набора данных.
- Нажмите вкладку Предварительный просмотр , чтобы увидеть набор данных на карте (только наборы данных со статусом ЗАВЕРШЕНО или ОТМЕНЕНО ).
- Перейдите на вкладку «Таблица данных» , чтобы увидеть все атрибуты набора данных (только для наборов данных со статусом «ЗАВЕРШЕНО» или «ВЕРНУТО» ). Эти атрибуты можно использовать для оформления набора данных на карте.
- Нажмите кнопку «Загрузить» , чтобы загрузить данные в локальный файл.
- Нажмите кнопку Удалить , чтобы удалить набор данных.
Нажмите кнопку Импорт файла данных , чтобы загрузить новые данные в набор данных.
Загрузка новых данных в набор данных создаёт новую версию набора данных. Если новые данные загружены успешно:
- Статус новой версии набора данных установлен на COMPLETED .
- Новая версия становится «активной» версией и используется вашим приложением.
Если при загрузке произошла ошибка:
- Статус новой версии набора данных устанавливается на значение, отличное от COMPLETED . Например, если существует предыдущая «активная» версия, статус набора данных устанавливается на REVERTED .
- Предыдущая «активная» версия набора данных остается «активной» версией и является версией, используемой вашим приложением.