Method: photoSequence.create

Una vez que el cliente termina de subir el objeto PhotoSequence con el objeto UploadRef que se muestra, photoSequence.create extrae una secuencia de fotos de 360° de un video o metadatos del dispositivo extensible (XDM, http://www.xdm.org/) para publicar en Street View en Google Maps.

photoSequence.create muestra un Operation, con el ID de PhotoSequence establecido en el campo Operation.name.

Este método muestra los siguientes códigos de error:

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de consulta

Parámetros
inputType

enum (InputType)

Obligatorio. La forma de entrada de PhotoSequence.

Cuerpo de la solicitud

El cuerpo de la solicitud incluye una instancia de PhotoSequence.

Cuerpo de la respuesta

Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de Operation.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta la Descripción general de OAuth 2.0.

PhotoSequence

Una secuencia de fotos de 360° junto con metadatos

Representación 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
}
Campos
id

string

Solo salida. Es el identificador único de la secuencia de fotos. Esto también actúa como un ID de operación de larga duración si la carga se realiza de forma asíncrona.

photos[]

object (Photo)

Solo salida. Fotos con marcas de tiempo en aumento.

uploadReference

object (UploadRef)

Solo entrada. Obligatorio al crear una secuencia de fotos. El nombre del recurso al que se suben los bytes de la secuencia de fotos (en forma de video).

captureTimeOverride

string (Timestamp format)

Opcional. Tiempo absoluto cuando comienza a capturarse la secuencia de fotos. Si la secuencia de fotos es un video, este es el momento de inicio del video. Si este campo se completa en la entrada, anula la hora de captura en el archivo XDM o de video.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

uploadTime

string (Timestamp format)

Solo salida. La hora en la que se creó esta secuencia de fotos en el servicio de uSV Store.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

rawGpsTimeline[]

object (Pose)

Solo entrada. Mediciones GPS sin procesar con marcas de tiempo en aumento del dispositivo que no se sincronizan con cada foto. Estas mediciones sin procesar se usarán para inferir la pose de cada fotograma. Obligatorio en la entrada cuando InputType es VIDEO y las mediciones de GPS sin procesar no están en el seguimiento de metadatos de movimiento de la cámara (CAMM). El usuario puede indicar cuál tiene prioridad con gpsSource si las mediciones de GPS sin procesar se proporcionan tanto en el objeto RawGpsTimeline como en el seguimiento de metadatos de movimiento de la cámara (CAMM).

gpsSource

enum (GpsSource)

Solo entrada. Si el objeto RAWGpsTimeline y el seguimiento de metadatos de movimiento de la cámara (CAMM) contienen mediciones de GPS, indica cuál tiene prioridad.

imu

object (Imu)

Solo entrada. Datos del IMU de tres ejes para la colección. Si estos datos son demasiado grandes para incluirlos en la solicitud, deben colocarse en la pista de cámara del video. Estos datos siempre tienen prioridad sobre los datos de CAMM equivalentes (si existen).

processingState

enum (ProcessingState)

Solo salida. El estado de procesamiento de esta secuencia.

failureReason

enum (ProcessingFailureReason)

Solo salida. Si esta secuencia tiene processingState = FAILED, este incluirá el motivo del error. Si ProcessingState tiene cualquier otro valor, no se establecerá este campo.

failureDetails

object (ProcessingFailureDetails)

Solo salida. Si esta secuencia tiene configurado el valor failureReason, es posible que contenga detalles adicionales sobre el error.

distanceMeters

number

Solo salida. La distancia calculada de la secuencia de fotos en metros.

sequenceBounds

object (LatLngBounds)

Solo salida. Es un cuadro rectangular que encapsula todas las imágenes de la secuencia de fotos.

viewCount

string (int64 format)

Solo salida. La cantidad total de vistas que recibieron todas las imágenes publicadas en esta PhotoSequence.

filename

string

Solo salida. Es el nombre del archivo de la carga. No incluye la ruta de acceso al directorio. Solo está disponible si la secuencia se subió en una plataforma que proporciona el nombre del archivo.

GpsSource

Fuente principal de las mediciones del GPS.

Enumeradores
PHOTO_SEQUENCE El GPS en brutoGpsTimeline tiene prioridad si existe.
CAMERA_MOTION_METADATA_TRACK Si existe, el GPS en la pista de metadatos de movimiento de la cámara (CAMM) tiene prioridad.

Imu

Datos de IMU provenientes de los sensores del dispositivo.

Representación JSON
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
Campos
accelMpsps[]

object (Measurement3d)

Las mediciones del acelerómetro en metros/s^2 con marcas de tiempo en aumento de los dispositivos.

gyroRps[]

object (Measurement3d)

El giroscopio mide en radianes por segundo con marcas de tiempo en aumento provenientes de los dispositivos.

magUt[]

object (Measurement3d)

Las mediciones del magnetómetro del campo magnético en microteslas (uT) con marcas de tiempo crecientes de los dispositivos.

Medición 3d

Una muestra genérica de medición 3D.

Representación JSON
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
Campos
captureTime

string (Timestamp format)

Es la marca de tiempo de la medición de IMU.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

x

number

Es la medición del sensor en el eje x.

y

number

Es la medición del sensor en el eje y.

z

number

Es la medición del sensor en el eje z.

ProcessingState

Es el estado de procesamiento de la secuencia. Los estados se mueven de la siguiente manera:

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

La secuencia puede pasar a FAILED desde cualquier estado. Además, una secuencia procesada se puede volver a procesar en cualquier momento.

Enumeradores
PROCESSING_STATE_UNSPECIFIED El estado no está especificado; este es el valor predeterminado.
PENDING Aún no comenzó el procesamiento de la secuencia.
PROCESSING La secuencia se está procesando en este momento.
PROCESSED Se terminó de procesar la secuencia, incluida la posición de perfeccionamiento.
FAILED No se pudo procesar la secuencia. Consulta FailureReason para obtener más detalles.

ProcessingFailureReason

Estos son los motivos posibles por los que no se pudo procesar esta PhotoSequence.

Enumeradores
PROCESSING_FAILURE_REASON_UNSPECIFIED No se especifica el motivo de la falla; este es el valor predeterminado.
LOW_RESOLUTION La resolución del fotograma del video es demasiado pequeña.
DUPLICATE Este video se subió anteriormente.
INSUFFICIENT_GPS Muy pocos puntos de GPS.
NO_OVERLAP_GPS No hay superposición entre el período de seguimiento GPS y el período del video.
INVALID_GPS El GPS no es válido (p.ej., todos los puntos de GPS están en (0,0))
FAILED_TO_REFINE_POSITIONS La secuencia de fotos no se pudo ubicar con precisión en el mundo.
TAKEDOWN Se quitó la secuencia por motivos relacionados con las políticas.
CORRUPT_VIDEO El archivo de video se dañó o no se pudo decodificar.
INTERNAL Se produjo una falla permanente en el sistema subyacente.
INVALID_VIDEO_FORMAT El formato del video no es válido o no es compatible.
INVALID_VIDEO_DIMENSIONS Se encontró una relación de aspecto de imagen no válida.
INVALID_CAPTURE_TIME La hora de captura no es válida. Las marcas de tiempo eran del futuro.
GPS_DATA_GAP Los datos de GPS contienen un intervalo de más de 5 segundos de duración.
JUMPY_GPS Los datos de GPS son demasiado erráticos para procesarlos.
INVALID_IMU Los datos del IMU (acelerómetro, giroscopio, etc.) no son válidos. Es posible que les falten campos obligatorios (x, y, z o tiempo), que no tengan el formato correcto o que existan otros problemas que impidan que nuestros sistemas analicen el elemento.
INSUFFICIENT_IMU Muy pocos puntos de IMU
INSUFFICIENT_OVERLAP_TIME_SERIES Superposición insuficiente en el período entre el GPS, la IMU y otros datos de series temporales.
IMU_DATA_GAP Los datos de IMU (acelerómetro, giroscopio, etc.) contienen brechas de más de 0.1 segundos de duración.
UNSUPPORTED_CAMERA La cámara no es compatible.
NOT_OUTDOORS Algunos marcos eran interiores, lo cual no es compatible.
INSUFFICIENT_VIDEO_FRAMES No hay suficientes fotogramas de video.
INSUFFICIENT_MOVEMENT No hay suficientes datos móviles.

ProcessingFailureDetails

Detalles adicionales para acompañar la enumeración ProcessingFailureReason. Este mensaje siempre se espera que se use junto con ProcessingFailureReason, y el valor establecido en este mensaje debe coincidir con FailureReason.

Representación 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.
}
Campos
Campo de unión details. Solo se establecerá un conjunto de detalles, que debe coincidir con la enumeración correspondiente en ProcessingFailureReason. Las direcciones (details) solo pueden ser una de las siguientes opciones:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Consulta InsufficientGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Consulta GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Consulta ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Consulta NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Consulta NoOverlapGpsFailureDetails.

InsufficientGpsFailureDetails

Detalles relacionados con ProcessingFailureReason#INSUFFICIENT_GPS.

Representación JSON
{
  "gpsPointsFound": integer
}
Campos
gpsPointsFound

integer

La cantidad de puntos de GPS que se encontraron en el video.

GpsDataGapFailureDetails

Detalles relacionados con ProcessingFailureReason#GPS_DATA_GAP. Si hay varias brechas en los datos de GPS, aquí solo se informa el que tenga la mayor duración.

Representación JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Campos
gapDuration

string (Duration format)

La duración del intervalo que se encontró en los datos de GPS.

Es una duración en segundos con hasta nueve dígitos decimales que termina en "s". Ejemplo: "3.5s".

gapStartTime

string (Duration format)

Tiempo relativo (desde el inicio de la transmisión de video por Internet) cuando comenzó la brecha.

Es una duración en segundos con hasta nueve dígitos decimales que termina en "s". Ejemplo: "3.5s".

ImuDataGapFailureDetails

Detalles relacionados con ProcessingFailureReason#IMU_DATA_GAP. Si hay varias brechas de datos de IMU, aquí solo se informa la que tiene la mayor duración.

Representación JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Campos
gapDuration

string (Duration format)

La duración del déficit que se encontró en los datos de IMU

Es una duración en segundos con hasta nueve dígitos decimales que termina en "s". Ejemplo: "3.5s".

gapStartTime

string (Duration format)

Tiempo relativo (desde el inicio de la transmisión de video por Internet) cuando comenzó la brecha.

Es una duración en segundos con hasta nueve dígitos decimales que termina en "s". Ejemplo: "3.5s".

NotOutdoorsFailureDetails

Detalles relacionados con ProcessingFailureReason#NOT_OUTDOORS. Si se encuentran varios fotogramas de interiores, el primero se registra aquí.

Representación JSON
{
  "startTime": string
}
Campos
startTime

string (Duration format)

Tiempo relativo (desde el inicio de la transmisión de video por Internet) en el que se encontró un fotograma interior

Es una duración en segundos con hasta nueve dígitos decimales que termina en "s". Ejemplo: "3.5s".

NoOverlapGpsFailureDetails

Detalles relacionados con PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.

Representación JSON
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
Campos
gpsStartTime

string (Timestamp format)

Hora del primer punto de GPS registrado.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

gpsEndTime

string (Timestamp format)

Hora del último punto de GPS registrado.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

videoStartTime

string (Timestamp format)

Hora de inicio del video.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

videoEndTime

string (Timestamp format)

Hora de finalización del video.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

LatLngBounds

Un rectángulo en coordenadas geográficas.

Representación JSON
{
  "southwest": {
    object (LatLng)
  },
  "northeast": {
    object (LatLng)
  }
}
Campos
southwest

object (LatLng)

El extremo suroeste de estos límites.

northeast

object (LatLng)

La esquina noreste de estos límites.

InputType

Formas de entrada de PhotoSequence

Enumeradores
INPUT_TYPE_UNSPECIFIED No se especifica. El servidor mostrará google.rpc.Code.INVALID_ARGUMENT.
VIDEO Video en 360°.
XDM Extensible Device Metadata (Metadatos del dispositivo extensible): http://www.xdm.org