Наборы данных позволяют загружать геопространственные данные из локального файла или из Google Cloud Storage на платформу Google Maps. Затем вы можете связать набор данных с одним или несколькими стилями карт в консоли Cloud. После связывания набора данных со стилем карт используйте API стилизации на основе данных для динамического стилизации вашего приложения карт.
Вы также можете использовать REST API для загрузки геопространственных данных в набор данных. Для получения дополнительной информации см. Maps Datasets API
Настроить роли
Для создания и управления наборами данных в проекте Google Cloud вам необходимо иметь роль IAM владельца или редактора в проекте.
Кроме того, вы можете назначить следующие роли IAM учетной записи пользователя или учетной записи службы, которую вы используете для управления наборами данных:
- Роль
Maps Platform Datasets Admin
предоставляет пользователю или учетной записи служб доступ на чтение/запись наборов данных в проекте. Эта роль позволяет пользователю выполнять все операции с набором данных. - Роль
Maps Platform Datasets Viewer
предоставляет доступ только для чтения к наборам данных в проекте. Эта роль позволяет выполнять операции list, get или download для набора данных.
Дополнительную информацию см. в статье Предоставление роли IAM с помощью консоли Google Cloud .
Источник данных для набора данных
После создания набора данных загрузите данные в набор данных из Google Cloud Storage или из локального файла.При загрузке данных из Cloud Storage укажите путь к файлу ресурса, содержащего данные в Cloud Storage. Этот путь имеет вид
gs:// GCS_BUCKET / FILE
.Пользователь, делающий запрос, должен иметь роль Storage Object Viewer или любую другую роль, которая включает разрешение
storage.objects.get
. Для получения дополнительной информации об управлении доступом к Cloud Storage см. раздел Обзор управления доступом .- При загрузке данных из локального файла укажите путь к файлу 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 JavaScript API поддерживает текущую спецификацию GeoJSON . Maps JavaScript API также поддерживает файлы GeoJSON, содержащие любой из следующих типов объектов:
- Геометрические объекты . Геометрический объект — это пространственная форма, описываемая как объединение точек, линий и многоугольников с необязательными отверстиями.
- Объекты объектов . Объект объектов содержит геометрию и дополнительные пары имя/значение, значение которых зависит от приложения.
- Коллекции объектов . Коллекция объектов — это набор объектов.
API JavaScript Карт не поддерживает файлы GeoJSON, содержащие данные в системе координат (CRS), отличной от WGS84 .
Более подробную информацию о GeoJSON см. в разделе Соответствие RFC 7946 .
Требования KML
API JavaScript Карт предъявляет следующие требования:
- Все 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) .
- Для рабочего стола нажмите «Обзор» , а затем выберите файл в списке выбора файлов.
- Для контейнера Google Cloud Storage нажмите «Обзор» и выберите контейнер и файл, содержащий данные.
- Выберите формат файла .
- Нажмите «Продолжить» , чтобы просмотреть настройки.
Нажмите Создать . Появится страница Наборы данных , на которой будет показан ваш новый набор данных. Статус должен быть Обработка .
Если данные загружены успешно:
- Статус набора данных установлен на COMPLETED .
- Набор данных становится «активной» версией и представляет собой версию, используемую вашим приложением.
Если при загрузке возникла ошибка:
- Статус новой версии набора данных установлен на статус, отличный от COMPLETED .
Просмотреть или изменить набор данных
После создания набора данных вы можете просмотреть или изменить его:
- В консоли Google Cloud перейдите на страницу «Наборы данных» .
- Нажмите на имя набора данных. Появится страница сведений о наборе данных .
- Нажмите вкладку Details , чтобы увидеть информацию о наборе данных. На этой вкладке вы также можете редактировать имя и описание набора данных.
- Нажмите вкладку «Предварительный просмотр» , чтобы увидеть набор данных на карте (только наборы данных со статусом ЗАВЕРШЕНО или ОТМЕНЕНО ).
- Нажмите вкладку Данные таблицы , чтобы увидеть все атрибуты набора данных (только наборы данных с состоянием COMPLETED или REVERTED ). Это атрибуты, которые можно использовать для стилизации набора данных на карте.
- Нажмите кнопку «Загрузить» , чтобы загрузить данные в локальный файл.
- Нажмите кнопку Удалить , чтобы удалить набор данных.
Нажмите кнопку Импорт файла данных , чтобы загрузить новые данные в набор данных.
Загрузка новых данных в набор данных создает новую версию набора данных. Если новые данные загружаются успешно:
- Статус новой версии набора данных установлен на COMPLETED .
- Новая версия становится «активной» версией и используется вашим приложением.
Если при загрузке возникла ошибка:
- Статус новой версии набора данных устанавливается на статус, отличный от COMPLETED . Например, если есть предыдущая «активная» версия, статус набора данных устанавливается на REVERTED .
- Предыдущая «активная» версия набора данных остается «активной» версией и используется вашим приложением.