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 de dispositivos extensibles (XDM, http://www.xdm.org/) para publicarlos 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. El formato de entrada de PhotoSequence.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene 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. Es obligatorio al crear una secuencia de fotos. El nombre del recurso en el que se suben los bytes de la secuencia de fotos (en forma de video).

captureTimeOverride

string (Timestamp format)

Opcional. Es el tiempo absoluto en el que se comienza a capturar la secuencia de fotos. Si la secuencia de fotos es un video, esta es la hora de inicio del video. Si este campo se propaga en la entrada, anula el tiempo de captura del video o el archivo XDM.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una 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. 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 una 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 de GPS sin procesar con marcas de tiempo crecientes del dispositivo que no están sincronizadas con el tiempo con cada foto. Estas mediciones sin procesar se usarán para inferir la posición de cada fotograma. Es 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 se proporcionan mediciones de GPS sin procesar en el tiempo sin procesar de Gps y en el Seguimiento de metadatos de movimiento de la cámara (CAMM).

gpsSource

enum (GpsSource)

Solo entrada. Si 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 de IMU de tres ejes para la recopilación. Si estos datos son demasiado grandes para incluirlos en la solicitud, deben colocarse en la pista CAMM del video. Estos datos siempre tienen prioridad sobre los datos de CAMM equivalentes, si los hubiera.

processingState

enum (ProcessingState)

Solo salida. Es 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 es cualquier otro valor, este campo no se establecerá.

failureDetails

object (ProcessingFailureDetails)

Solo salida. Si se configuró failureReason en esta secuencia, es posible que contenga detalles adicionales sobre la falla.

distanceMeters

number

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

sequenceBounds

object (LatLngBounds)

Solo salida. Una caja rectangular que encapsula todas las imágenes de esta secuencia de fotos.

viewCount

string (int64 format)

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

filename

string

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

GpsSource

Fuente principal de mediciones del GPS.

Enumeraciones
PHOTO_SEQUENCE Si existe, el GPS en el campo TrueViewGpsTimeline tiene prioridad.
CAMERA_MOTION_METADATA_TRACK El GPS en el seguimiento de metadatos de movimiento de la cámara (CAMM) tiene prioridad si existe.

Imu

Datos de IMU de los sensores del dispositivo

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

object (Measurement3d)

Las medidas del acelerómetro en metros/s^2 con marcas de tiempo de dispositivos cada vez más.

gyroRps[]

object (Measurement3d)

Las mediciones del giroscopio en radianes/s con marcas de tiempo de dispositivos cada vez más.

magUt[]

object (Measurement3d)

Las mediciones del magnetómetro del campo magnético en microteslas (uT) con marcas de tiempo cada vez más altas de los dispositivos.

Medición en 3 días

Una muestra genérica de mediciones en 3D.

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

string (Timestamp format)

La marca de tiempo de la medición del IMU.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una 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 medida del sensor en el eje x.

y

number

La medida del sensor en el eje y.

z

number

La medida 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.

Enumeraciones
PROCESSING_STATE_UNSPECIFIED El estado no se especifica; este es el valor predeterminado.
PENDING La secuencia aún no comenzó a procesarse.
PROCESSING En este momento, se está procesando la secuencia.
PROCESSED La secuencia terminó de procesarse, incluido el perfeccionamiento de la posición.
FAILED No se pudo procesar la secuencia. Consulta FailureReason para obtener más detalles.

ProcessingFailureReason

Posibles motivos por los que no se pudo procesar este PhotoSequence.

Enumeraciones
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 ya se subió antes.
INSUFFICIENT_GPS Muy pocos puntos de GPS.
NO_OVERLAP_GPS No hay superposición entre el intervalo de tiempo del seguimiento GPS y el intervalo de tiempo 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 eliminó la secuencia por motivos relacionados con las políticas.
CORRUPT_VIDEO El archivo de video estaba dañado 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 ser procesados.
INVALID_IMU Los datos de IMU (acelerómetro, giroscopio, etc.) no son válidos. Es posible que falten campos obligatorios (x, y, z o tiempo), que no tengan el formato correcto o que haya algún otro problema que impida que nuestros sistemas los analicen.
INSUFFICIENT_IMU Muy pocos puntos de IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Superposición insuficiente en el período de tiempo entre los datos del GPS, el 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 estaban en interiores, lo que no es compatible.
INSUFFICIENT_VIDEO_FRAMES No hay suficientes fotogramas.
INSUFFICIENT_MOVEMENT No hay suficientes datos para migrar.

ProcessingFailureDetails

Detalles adicionales para acompañar la enumeración ProcessingFailureReason. Se espera que este mensaje siempre se use junto con ProcessingFailureReason, y el valor oneof 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 y debe coincidir con el enum 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 la que tiene la mayor duración.

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

string (Duration format)

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

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

gapStartTime

string (Duration format)

Tiempo relativo (desde el inicio de la transmisión de video por Internet) en el que comenzó la interrupción.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

ImuDataGapFailureDetails

Detalles relacionados con ProcessingFailureReason#IMU_DATA_GAP. Si hay varias brechas en los 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)

Es la duración del intervalo en los datos de IMU que se encontró.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

gapStartTime

string (Duration format)

Tiempo relativo (desde el inicio de la transmisión de video por Internet) en el que comenzó la interrupción.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

NotOutdoorsFailureDetails

Detalles relacionados con ProcessingFailureReason#NOT_OUTDOORS. Si se encuentran varios marcos 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.

Una duración en segundos con hasta nueve dígitos decimales, que terminan 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 una 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 una 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 una 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)

Es la hora de finalización del video.

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

LatLngBounds

Es un rectángulo en coordenadas geográficas.

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

object (LatLng)

El ángulo suroeste de estos límites.

northeast

object (LatLng)

La esquina noreste de estos límites.

InputType

Formatos de entrada de PhotoSequence.

Enumeraciones
INPUT_TYPE_UNSPECIFIED No se especifica. El servidor mostrará google.rpc.Code.INVALID_ARGUMENT.
VIDEO Video en 360°.
XDM Metadatos de dispositivos extensibles: http://www.xdm.org