Method: photoSequence.create

После того, как клиент завершит загрузку PhotoSequence с возвращенным UploadRef , photoSequence.create извлекает последовательность панорамных фотографий из видео или метаданных расширяемого устройства (XDM, http://www.xdm.org/ ) для публикации в Street View в Google. Карты.

photoSequence.create возвращает Operation с идентификатором PhotoSequence , установленным в поле Operation.name .

Этот метод возвращает следующие коды ошибок:

HTTP-запрос

POST https://streetviewpublish.googleapis.com/v1/photoSequence

URL-адрес использует синтаксис транскодирования gRPC .

Параметры запроса

Параметры
inputType

enum ( InputType )

Необходимый. Форма ввода PhotoSequence .

Тело запроса

Тело запроса содержит экземпляр PhotoSequence .

Тело ответа

В случае успеха тело ответа содержит вновь созданный экземпляр Operation .

Области авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/streetviewpublish

Дополнительную информацию см. в обзоре OAuth 2.0 .

ФотоПоследовательность

Последовательность из панорамных фотографий с метаданными.

JSON-представление
{
  "id": string,
  "photos": [
    {
      object (Photo)
    }
  ],
  "uploadReference": {
    object (UploadRef)
  },
  "captureTimeOverride": string,
  "uploadTime": string,
  "rawGpsTimeline": [
    {
      object (Pose)
    }
  ],
  "gpsSource": enum (GpsSource),
  "imu": {
    object (Imu)
  },
  "processingState": enum (ProcessingState),
  "failureReason": enum (ProcessingFailureReason),
  "failureDetails": {
    object (ProcessingFailureDetails)
  },
  "distanceMeters": number,
  "sequenceBounds": {
    object (LatLngBounds)
  },
  "viewCount": string,
  "filename": string
}
Поля
id

string

Только вывод. Уникальный идентификатор серии фотографий. Он также действует как идентификатор длительной операции, если загрузка выполняется асинхронно.

photos[]

object ( Photo )

Только вывод. Фотографии с увеличивающимися временными метками.

uploadReference

object ( UploadRef )

Только ввод. Требуется при создании фоторяда. Имя ресурса, куда загружаются байты серии фотографий (в виде видео).

captureTimeOverride

string ( Timestamp format)

Необязательный. Абсолютное время, когда начинается съемка серии фотографий. Если серия фотографий представляет собой видео, это время начала видео. Если это поле заполнено во входных данных, оно переопределяет время захвата в видео или файле XDM.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

uploadTime

string ( Timestamp format)

Только вывод. Время создания этой серии фотографий в сервисе uSV Store.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

rawGpsTimeline[]

object ( Pose )

Только ввод. Необработанные измерения GPS с увеличивающимися временными метками с устройства, которые не синхронизированы по времени с каждой фотографией. Эти необработанные измерения будут использоваться для определения позы каждого кадра. Требуется во входных данных, когда Тип ввода — ВИДЕО и необработанные измерения GPS не находятся в дорожке метаданных движения камеры (CAMM). Пользователь может указать, что имеет приоритет, используя gpsSource, если необработанные измерения GPS предоставляются как в rawGpsTimeline, так и в треке метаданных движения камеры (CAMM).

gpsSource

enum ( GpsSource )

Только ввод. Если и rawGpsTimeline, и трек метаданных движения камеры (CAMM) содержат измерения GPS, укажите, какие из них имеют приоритет.

imu

object ( Imu )

Только ввод. Трехосные данные IMU для коллекции. Если эти данные слишком велики для размещения в запросе, их следует поместить в дорожку CAMM для видео. Эти данные всегда имеют приоритет над эквивалентными данными CAMM, если они существуют.

processingState

enum ( ProcessingState )

Только вывод. Состояние обработки этой последовательности.

failureReason

enum ( ProcessingFailureReason )

Только вывод. Если эта последовательность имеет ProcessingState = FAILED, это будет содержать причину, по которой она не удалась. Если ProcessingState имеет любое другое значение, это поле будет не установлено.

failureDetails

object ( ProcessingFailureDetails )

Только вывод. Если для этой последовательности установлен failureReason , она может содержать дополнительные сведения об ошибке.

distanceMeters

number

Только вывод. Вычисленное расстояние до серии фотографий в метрах.

sequenceBounds

object ( LatLngBounds )

Только вывод. Прямоугольная коробка, в которой заключены все изображения в этой серии фотографий.

viewCount

string ( int64 format)

Только вывод. Общее количество просмотров, полученных всеми опубликованными изображениями в этой PhotoSequence.

filename

string

Только вывод. Имя файла загрузки. Не включает путь к каталогу. Доступно только в том случае, если эпизод был загружен на платформу, предоставляющую имя файла.

GPSИсточник

Основной источник измерений GPS.

Перечисления
PHOTO_SEQUENCE GPS в rawGpsTimeline имеет приоритет, если он существует.
CAMERA_MOTION_METADATA_TRACK GPS в отслеживании метаданных движения камеры (CAMM) имеет приоритет, если он существует.

Иму

Данные IMU от датчиков устройства.

JSON-представление
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
Поля
accelMpsps[]

object ( Measurement3d )

Измерения акселерометра в метрах/сек^2 с увеличением меток времени от устройств.

gyroRps[]

object ( Measurement3d )

Измерения гироскопа в радианах/сек с увеличением меток времени от устройств.

magUt[]

object ( Measurement3d )

Магнитометрические измерения магнитного поля в микротеслах (мкТл) с увеличением временных меток от приборов.

Измерение3d

Общий образец 3D-измерений.

JSON-представление
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
Поля
captureTime

string ( Timestamp format)

Временная метка измерения IMU.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

x

number

Измерение датчика по оси X.

y

number

Измерение датчика по оси Y.

z

number

Измерение датчика по оси z.

Состояние обработки

Состояние обработки последовательности. Государства действуют следующим образом:

     +-------------------------+
     |                         |
 +---v---+  +----------+  +----+----+
 |PENDING+-->PROCESSING+-->PROCESSED|
 +---+---+  +----+-----+  +----+----+
     |           |             |
     |        +--v---+         |
     +-------->FAILED<---------+
              +------+

Последовательность может перейти в состояние FAILED из любого состояния. Кроме того, обработанная последовательность может быть повторно обработана в любое время.

Перечисления
PROCESSING_STATE_UNSPECIFIED Состояние не указано, это значение по умолчанию.
PENDING Последовательность еще не начала обработку.
PROCESSING Последовательность в настоящее время находится в обработке.
PROCESSED Последовательность завершила обработку, включая уточнение позиции.
FAILED Последовательность не удалось обработать. Дополнительные сведения см. в разделе «Причина сбоя».

Причина сбоя обработки

Возможные причины, по которым 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 Слишком мало очков IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Недостаточное перекрытие во временных рамках между данными GPS, IMU и другими временными рядами.
IMU_DATA_GAP Данные IMU (акселерометра, гироскопа и т. д.) содержат промежутки длительностью более 0,1 секунды.
UNSUPPORTED_CAMERA Камера не поддерживается.
NOT_OUTDOORS Некоторые кадры находились в помещении, что не поддерживается.
INSUFFICIENT_VIDEO_FRAMES Недостаточно видеокадров.
INSUFFICIENT_MOVEMENT Недостаточно движущихся данных.

Сбой обработкиПодробности

Дополнительные сведения, сопровождающие перечисление ProcessingFailureReason. Ожидается, что это сообщение всегда будет использоваться вместе с ProcessingFailureReason, и значение oneof, установленное в этом сообщении, должно соответствовать FailureReason.

JSON-представление
{

  // Union field details can be only one of the following:
  "insufficientGpsDetails": {
    object (InsufficientGpsFailureDetails)
  },
  "gpsDataGapDetails": {
    object (GpsDataGapFailureDetails)
  },
  "imuDataGapDetails": {
    object (ImuDataGapFailureDetails)
  },
  "notOutdoorsDetails": {
    object (NotOutdoorsFailureDetails)
  },
  "noOverlapGpsDetails": {
    object (NoOverlapGpsFailureDetails)
  }
  // End of list of possible types for union field details.
}
Поля
details поля объединения. Будет установлен только один набор сведений, который должен соответствовать соответствующему перечислению в ProcessingFailureReason. details могут быть только одним из следующих:
insufficientGpsDetails

object ( InsufficientGpsFailureDetails )

См. сведения о недостаточном GpsFailureDetails.

gpsDataGapDetails

object ( GpsDataGapFailureDetails )

См. раздел GpsDataGapFailureDetails.

imuDataGapDetails

object ( ImuDataGapFailureDetails )

См. ImuDataGapFailureDetails.

notOutdoorsDetails

object ( NotOutdoorsFailureDetails )

См. раздел NotOutdoorsFailureDetails.

noOverlapGpsDetails

object ( NoOverlapGpsFailureDetails )

См. раздел NoOverlapGpsFailureDetails.

Недостаточный GPS-сбойПодробнее

Подробности, связанные с ProcessingFailureReason#INSUFFICIENT_GPS.

JSON-представление
{
  "gpsPointsFound": integer
}
Поля
gpsPointsFound

integer

Количество GPS-точек, найденных на видео.

GpsDataGapFailureПодробности

Подробности, связанные с ProcessingFailureReason#GPS_DATA_GAP. Если имеется несколько пробелов в данных GPS, здесь указывается только тот, который имеет наибольшую продолжительность.

JSON-представление
{
  "gapDuration": string,
  "gapStartTime": string
}
Поля
gapDuration

string ( Duration format)

Продолжительность обнаруженного пробела в данных GPS.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

gapStartTime

string ( Duration format)

Относительное время (от начала видеопотока), когда начался разрыв.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

ImuDataGapFailureDetails

Подробности, связанные с ProcessingFailureReason#IMU_DATA_GAP. Если имеется несколько пробелов в данных IMU, здесь указывается только тот, который имеет наибольшую продолжительность.

JSON-представление
{
  "gapDuration": string,
  "gapStartTime": string
}
Поля
gapDuration

string ( Duration format)

Продолжительность обнаруженного пробела в данных IMU.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

gapStartTime

string ( Duration format)

Относительное время (от начала видеопотока), когда начался разрыв.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

NotOutdoorsFailureПодробности

Подробности, связанные с ProcessingFailureReason#NOT_OUTDOORS. Если обнаружено несколько внутренних кадров, здесь записывается первый кадр.

JSON-представление
{
  "startTime": string
}
Поля
startTime

string ( Duration format)

Относительное время (от начала видеопотока), когда был найден внутренний кадр.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

NoOverlapGpsFailureПодробнее

Подробности, связанные с PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.

JSON-представление
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
Поля
gpsStartTime

string ( Timestamp format)

Время первой записанной точки GPS.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

gpsEndTime

string ( Timestamp format)

Время последней записанной точки GPS.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

videoStartTime

string ( Timestamp format)

Время начала видео.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

videoEndTime

string ( Timestamp format)

Время окончания видео.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

LatLngГраницы

Прямоугольник в географических координатах.

JSON-представление
{
  "southwest": {
    object (LatLng)
  },
  "northeast": {
    object (LatLng)
  }
}
Поля
southwest

object ( LatLng )

Юго-западный угол этих границ.

northeast

object ( LatLng )

Северо-восточный угол этих границ.

Тип ввода

Формы ввода PhotoSequence .

Перечисления
INPUT_TYPE_UNSPECIFIED Не указан. Сервер вернет google.rpc.Code.INVALID_ARGUMENT .
VIDEO 360 Видео.
XDM Расширяемые метаданные устройства, http://www.xdm.org.