- HTTP-запрос
- Параметры запроса
- Текст запроса
- Тело ответа
- Области авторизации
- Фотопоследовательность
- GpsSource
- Иму
- Измерение3D
- ProcessingState
- ПричинаОшибкиОбработки
- ПодробностиОбработкиОшибки
- НедостаточноGpsFailureDetails
- GpsDataGapFailureDetails
- ImuDataGapFailureDetails
- НеНа открытом воздухеНеисправностьПодробности
- НетПерекрытияGpsНеисправностьПодробности
- LatLngBounds
- Тип ввода
- Попробуйте!
После того как клиент завершает загрузку PhotoSequence с возвращенным UploadRef , photoSequence.create извлекает последовательность 360 фотографий из видео или расширяемых метаданных устройства (XDM, http://www.xdm.org/ ) для публикации в Street View на Google Maps.
photoSequence.create возвращает Operation с идентификатором PhotoSequence , заданным в поле Operation.name .
Этот метод возвращает следующие коды ошибок:
-
google.rpc.Code.INVALID_ARGUMENTесли запрос неверен. -
google.rpc.Code.NOT_FOUND, если ссылка на загрузку не существует.
HTTP-запрос
POST https://streetviewpublish.googleapis.com/v1/photoSequence
URL использует синтаксис перекодировки gRPC .
Параметры запроса
| Параметры | |
|---|---|
inputType | Обязательно. Форма ввода |
Текст запроса
Тело запроса содержит экземпляр PhotoSequence .
Тело ответа
В случае успеха тело ответа содержит вновь созданный экземпляр Operation .
Области авторизации
Требуется следующая область OAuth:
-
https://www.googleapis.com/auth/streetviewpublish
Для получения более подробной информации см.OAuth 2.0 Overview .
Фотопоследовательность
Последовательность из 360 фотографий вместе с метаданными.
| JSON-представление |
|---|
{ "id": string, "photos": [ { object ( |
| Поля | |
|---|---|
id | Только вывод. Уникальный идентификатор последовательности фотографий. Он также служит идентификатором длительной операции, если загрузка выполняется асинхронно. |
photos[] | Только вывод. Фотографии с увеличивающимися временными метками. |
uploadReference | Только ввод. Требуется при создании фотопоследовательности. Имя ресурса, куда загружаются байты фотопоследовательности (в виде видео). |
captureTimeOverride | Необязательно. Абсолютное время начала съёмки последовательности фотографий. Если последовательность фотографий — это видео, это время начала видео. Если это поле заполнено, оно переопределяет время съёмки в видео или XDM-файле. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
uploadTime | Только вывод. Время создания этой последовательности фотографий в сервисе uSV Store. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
rawGpsTimeline[] | Только входные данные. Необработанные измерения GPS с увеличивающимися временными метками с устройства, которые не синхронизированы по времени с каждой фотографией. Эти необработанные измерения будут использоваться для определения позы каждого кадра. Требуется для входных данных, если InputType — VIDEO, а необработанные измерения GPS не находятся в дорожке метаданных движения камеры (CAMM). Пользователь может указать приоритет с помощью gpsSource, если необработанные измерения GPS доступны как в rawGpsTimeline, так и в дорожке метаданных движения камеры (CAMM). |
gpsSource | Только ввод. Если и rawGpsTimeline, и трек метаданных движения камеры (CAMM) содержат измерения GPS, укажите, какой из них имеет приоритет. |
imu | Только входные данные. Данные трёхкоординатного инерциального блока (IMU) для сбора данных. Если эти данные слишком велики для размещения в запросе, их следует поместить на дорожку CAMM для видео. Эти данные всегда имеют приоритет над эквивалентными данными CAMM, если таковые имеются. |
processingState | Только вывод. Состояние обработки этой последовательности. |
failureReason | Только выходные данные. Если в этой последовательности processingState = FAILED, здесь будет указана причина сбоя. Если processingState имеет любое другое значение, это поле будет сброшено. |
failureDetails | Только вывод. Если для этой последовательности задан параметр |
distanceMeters | Только вывод. Расчётное расстояние последовательности фотографий в метрах. |
sequenceBounds | Только вывод. Прямоугольная рамка, в которой заключены все изображения в этой последовательности фотографий. |
viewCount | Только вывод. Общее количество просмотров всех опубликованных изображений в этой фотопоследовательности. |
filename | Только вывод. Имя файла загрузки. Не включает путь к каталогу. Доступно только в том случае, если последовательность была загружена на платформу, предоставляющую имя файла. |
GpsSource
Основной источник измерений GPS.
| Перечисления | |
|---|---|
PHOTO_SEQUENCE | GPS в rawGpsTimeline имеет приоритет, если он существует. |
CAMERA_MOTION_METADATA_TRACK | Приоритет имеет GPS в треке метаданных движения камеры (CAMM), если он существует. |
Иму
Данные ИМУ с датчиков устройства.
| JSON-представление |
|---|
{ "accelMpsps": [ { object ( |
| Поля | |
|---|---|
accelMpsps[] | Показания акселерометра в метрах/сек^2 с увеличивающимися временными метками с устройств. |
gyroRps[] | Измерения гироскопа в радианах/сек с увеличением временных меток с устройств. |
magUt[] | Измерения магнитного поля магнитометром в микротеслах (мкТл) с увеличением временных меток с устройств. |
Измерение3D
Стандартный пример 3D-измерений.
| JSON-представление |
|---|
{ "captureTime": string, "x": number, "y": number, "z": number } |
| Поля | |
|---|---|
captureTime | Временная метка измерения IMU. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
x | Измерение датчика по оси x. |
y | Измерение датчика по оси Y. |
z | Измерение датчика по оси z. |
ProcessingState
Состояние обработки последовательности. Состояния изменяются следующим образом:
+-------------------------+
| |
+---v---+ +----------+ +----+----+
|PENDING+-->PROCESSING+-->PROCESSED|
+---+---+ +----+-----+ +----+----+
| | |
| +--v---+ |
+-------->FAILED<---------+
+------+
Последовательность может перейти в состояние FAILED из любого состояния. Кроме того, обработанная последовательность может быть обработана повторно в любой момент.
| Перечисления | |
|---|---|
PROCESSING_STATE_UNSPECIFIED | Состояние не указано, это значение по умолчанию. |
PENDING | Обработка последовательности еще не началась. |
PROCESSING | В настоящее время последовательность находится в обработке. |
PROCESSED | Последовательность завершена, включая уточнение позиции. |
FAILED | Последовательность не была обработана. Подробнее см. FailureReason. |
ПричинаОшибкиОбработки
Возможные причины, по которым эта PhotoSequence не была обработана.
| Перечисления | |
|---|---|
PROCESSING_FAILURE_REASON_UNSPECIFIED | Причина сбоя не указана, это значение по умолчанию. |
LOW_RESOLUTION | Разрешение видеокадра слишком маленькое. |
DUPLICATE | Это видео уже было загружено ранее. |
INSUFFICIENT_GPS | Слишком мало точек GPS. |
NO_OVERLAP_GPS | Нет перекрытия между временными рамками GPS-трека и временными рамками видео. |
INVALID_GPS | GPS недействителен (например, все точки GPS находятся в точке (0,0)) |
FAILED_TO_REFINE_POSITIONS | Последовательность фотографий не удалось точно локализовать в мире. |
TAKEDOWN | Последовательность была удалена по политическим причинам. |
CORRUPT_VIDEO | Видеофайл был поврежден или не поддается декодированию. |
INTERNAL | Произошел постоянный сбой в базовой системе. |
INVALID_VIDEO_FORMAT | Формат видео недействителен или не поддерживается. |
INVALID_VIDEO_DIMENSIONS | Найдено недопустимое соотношение сторон изображения. |
INVALID_CAPTURE_TIME | Неверное время съёмки. Временные метки были из будущего. |
GPS_DATA_GAP | Данные GPS содержат пробел длительностью более 5 секунд. |
JUMPY_GPS | Данные GPS слишком нестабильны для обработки. |
INVALID_IMU | Данные IMU (акселерометра, гироскопа и т. д.) недействительны. Возможно, в них отсутствуют обязательные поля (x, y, z или время), они не отформатированы или имеют другую проблему, препятствующую их анализу нашими системами. |
INSUFFICIENT_IMU | Слишком мало очков ИДУ. |
INSUFFICIENT_OVERLAP_TIME_SERIES | Недостаточное перекрытие временных интервалов между данными GPS, IMU и другими временными рядами. |
IMU_DATA_GAP | Данные IMU (акселерометра, гироскопа и т. д.) содержат пробелы длительностью более 0,1 секунды. |
UNSUPPORTED_CAMERA | Камера не поддерживается. |
NOT_OUTDOORS | Некоторые рамы находились внутри помещения, что не имело опоры. |
INSUFFICIENT_VIDEO_FRAMES | Недостаточно видеокадров. |
INSUFFICIENT_MOVEMENT | Недостаточно данных о перемещении. |
MAST_DOWN | Мачта опущена. |
CAMERA_COVERED | Камера закрыта. |
ПодробностиОбработкиОшибки
Дополнительные сведения, сопровождающие перечисление ProcessingFailureReason. Это сообщение всегда должно использоваться вместе с ProcessingFailureReason, а значение oneof, заданное в этом сообщении, должно совпадать с FailureReason.
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
details о поле объединения. Будет установлен только один набор сведений, который должен соответствовать соответствующему перечислению в ProcessingFailureReason. details могут быть только одним из следующих: | |
insufficientGpsDetails | См. InsufficientGpsFailureDetails. |
gpsDataGapDetails | См. GpsDataGapFailureDetails. |
imuDataGapDetails | См. ImuDataGapFailureDetails. |
notOutdoorsDetails | См. NotOutdoorsFailureDetails. |
noOverlapGpsDetails | См. NoOverlapGpsFailureDetails. |
НедостаточноGpsFailureDetails
Подробная информация о ProcessingFailureReason#INSUFFICIENT_GPS.
| JSON-представление |
|---|
{ "gpsPointsFound": integer } |
| Поля | |
|---|---|
gpsPointsFound | Количество точек GPS, найденных на видео. |
GpsDataGapFailureDetails
Подробная информация по ProcessingFailureReason#GPS_DATA_GAP. При наличии нескольких пропусков данных GPS здесь отображается только тот, который имеет наибольшую продолжительность.
| JSON-представление |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| Поля | |
|---|---|
gapDuration | Продолжительность обнаруженного пробела в данных GPS. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « |
gapStartTime | Относительное время (от начала видеопотока), когда начался разрыв. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « |
ImuDataGapFailureDetails
Подробная информация по ProcessingFailureReason#IMU_DATA_GAP. При наличии нескольких пропусков данных IMU здесь отображается только тот, который имеет наибольшую продолжительность.
| JSON-представление |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| Поля | |
|---|---|
gapDuration | Длительность обнаруженного пробела в данных ИМУ. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « |
gapStartTime | Относительное время (от начала видеопотока), когда начался разрыв. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « |
НеНа открытом воздухеНеисправностьПодробности
Подробности по ProcessingFailureReason#NOT_OUTDOORS. Если обнаружено несколько внутренних кадров, здесь записывается первый кадр.
| JSON-представление |
|---|
{ "startTime": string } |
| Поля | |
|---|---|
startTime | Относительное время (от начала видеопотока), когда был обнаружен кадр внутри помещения. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « |
НетПерекрытияGpsНеисправностьПодробности
Подробная информация, относящаяся к PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.
| JSON-представление |
|---|
{ "gpsStartTime": string, "gpsEndTime": string, "videoStartTime": string, "videoEndTime": string } |
| Поля | |
|---|---|
gpsStartTime | Время первой зафиксированной точки GPS. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
gpsEndTime | Время последней зафиксированной точки GPS. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
videoStartTime | Время начала видео. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
videoEndTime | Время окончания видео. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
LatLngBounds
Прямоугольник в географических координатах.
| JSON-представление |
|---|
{ "southwest": { object ( |
| Поля | |
|---|---|
southwest | Юго-западный угол этих границ. |
northeast | Северо-восточный угол этих границ. |
Тип ввода
Формы ввода PhotoSequence .
| Перечисления | |
|---|---|
INPUT_TYPE_UNSPECIFIED | Не указано. Сервер вернёт google.rpc.Code.INVALID_ARGUMENT . |
VIDEO | Видео 360. |
XDM | Расширяемые метаданные устройства, http://www.xdm.org |