Method: photoSequence.create

Después de que el cliente termina de subir el PhotoSequence con el UploadRef devuelto, photoSequence.create extrae una secuencia de fotos en 360° de un video o de metadatos extensibles del dispositivo (XDM, http://www.xdm.org/) para publicarlos en Street View en Google Maps.

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

Este método devuelve 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. Es el formulario 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 permiso de OAuth:

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

Para obtener más información, consulta OAuth 2.0 Overview.

PhotoSequence

Es una secuencia de fotos en 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. 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 crecientes.

uploadReference

object (UploadRef)

Solo entrada. Se requiere cuando se crea una secuencia de fotos. Es 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 la fecha y hora absolutas en que comienza la captura de la secuencia de fotos. Si la secuencia de fotos es un video, esta es la hora de inicio del video. Si este campo se completa en la entrada, anula la hora de captura en el archivo de video o XDM.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

uploadTime

string (Timestamp format)

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

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

rawGpsTimeline[]

object (Pose)

Solo entrada. Mediciones de GPS sin procesar con marcas de tiempo crecientes del dispositivo que no están sincronizadas con cada foto. Estas mediciones sin procesar se usarán para inferir la pose de cada fotograma. Se requiere en la entrada cuando InputType es VIDEO y las mediciones de GPS sin procesar no están en el segmento de metadatos de movimiento de la cámara (CAMM). El usuario puede indicar qué tiene prioridad con gpsSource si se proporcionan mediciones de GPS sin procesar en rawGpsTimeline y en Camera Motion Metadata Track (CAMM).

gpsSource

enum (GpsSource)

Solo entrada. Si tanto rawGpsTimeline como la pista de metadatos de movimiento de la cámara (CAMM) contienen mediciones de GPS, indica cuál tiene prioridad.

imu

object (Imu)

Solo entrada. Son los datos de la IMU de tres ejes para la recopilación. Si estos datos son demasiado grandes para incluirlos en la solicitud, se deben agregar a la pista de CAMM del video. Estos datos siempre tienen prioridad sobre los datos equivalentes de CAMM, si existen.

processingState

enum (ProcessingState)

Solo salida. Es el estado de procesamiento de esta secuencia.

failureReason

enum (ProcessingFailureReason)

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

failureDetails

object (ProcessingFailureDetails)

Solo salida. Si esta secuencia tiene establecido failureReason, es posible que contenga detalles adicionales sobre la falla.

distanceMeters

number

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

sequenceBounds

object (LatLngBounds)

Solo salida. Es una caja rectangular que encapsula cada imagen 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 este objeto PhotoSequence.

filename

string

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

GpsSource

Es la fuente principal de las mediciones de GPS.

Enums
PHOTO_SEQUENCE El GPS en rawGpsTimeline tiene prioridad si existe.
CAMERA_MOTION_METADATA_TRACK El GPS en el segmento de metadatos de movimiento de la cámara (CAMM) tiene prioridad si existe.

Imu

Son los datos de la IMU de los sensores del dispositivo.

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

object (Measurement3d)

Son las mediciones del acelerómetro en m/s² con marcas de tiempo crecientes de los dispositivos.

gyroRps[]

object (Measurement3d)

Son las mediciones del giroscopio en radianes/s con marcas de tiempo crecientes de los dispositivos.

magUt[]

object (Measurement3d)

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

Measurement3d

Es una muestra genérica de medición en 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 la IMU.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

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

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 al estado FAILED desde cualquier estado. Además, una secuencia procesada se puede volver a procesar en cualquier momento.

Enums
PROCESSING_STATE_UNSPECIFIED El estado no se especifica. Este es el valor predeterminado.
PENDING La secuencia aún no comenzó a procesarse.
PROCESSING La secuencia se está procesando.
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

Son los posibles motivos por los que no se pudo procesar este PhotoSequence.

Enums
PROCESSING_FAILURE_REASON_UNSPECIFIED No se especifica el motivo del error. Este es el valor predeterminado.
LOW_RESOLUTION La resolución del fotograma del video es demasiado baja.
DUPLICATE Este video ya se subió.
INSUFFICIENT_GPS Hay muy pocos puntos de GPS.
NO_OVERLAP_GPS No hay superposición entre el período del monitoreo de GPS y el 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 No se pudo ubicar con precisión la secuencia de fotos en el mundo.
TAKEDOWN Se quitó la secuencia por incumplimiento de 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 El tiempo de captura no es válido. Las marcas de tiempo eran del futuro.
GPS_DATA_GAP Los datos de GPS contienen una brecha de más de 5 segundos de duración.
JUMPY_GPS Los datos de GPS son demasiado erráticos para procesarse.
INVALID_IMU Los datos de la 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 Hay muy pocos puntos de la IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES No hay suficiente superposición en el período entre el GPS, la IMU y otros datos de series temporales.
IMU_DATA_GAP Los datos de la 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 fotogramas se tomaron en interiores, lo que no se admite.
INSUFFICIENT_VIDEO_FRAMES No hay suficientes fotogramas de video.
INSUFFICIENT_MOVEMENT No hay suficientes datos de movimiento.
MAST_DOWN El mástil está abajo.
CAMERA_COVERED La cámara está cubierta.

ProcessingFailureDetails

Son detalles adicionales que acompañan al enum ProcessingFailureReason. Siempre se espera que este mensaje se use junto con ProcessingFailureReason, y el valor de 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, que 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

Son los detalles relacionados con ProcessingFailureReason#INSUFFICIENT_GPS.

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

integer

Es la cantidad de puntos GPS que se encontraron en el video.

GpsDataGapFailureDetails

Son los 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 de la brecha 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)

Es la hora relativa (desde el inicio de la transmisión de video) en la que comenzó la brecha.

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

ImuDataGapFailureDetails

Son detalles relacionados con ProcessingFailureReason#IMU_DATA_GAP. Si hay varias brechas en los datos de la 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 de la brecha en los datos de la 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)

Es la hora relativa (desde el inicio de la transmisión de video) en la que comenzó la brecha.

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

NotOutdoorsFailureDetails

Son los detalles relacionados con ProcessingFailureReason#NOT_OUTDOORS. Si se encuentran varios fotogramas interiores, el primero se registra aquí.

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

string (Duration format)

Es la hora relativa (desde el inicio de la transmisión de video) en la que se encontró un cuadro en interiores.

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

NoOverlapGpsFailureDetails

Son detalles relacionados con PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.

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

string (Timestamp format)

Es la fecha y hora del primer punto GPS registrado.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

gpsEndTime

string (Timestamp format)

Es la fecha y hora del último punto GPS registrado.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

videoStartTime

string (Timestamp format)

Es la hora de inicio del video.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

videoEndTime

string (Timestamp format)

Hora de finalización del video.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

LatLngBounds

Es un rectángulo en coordenadas geográficas.

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

object (LatLng)

Es la esquina suroeste de estos límites.

northeast

object (LatLng)

Es la esquina noreste de estos límites.

InputType

Son las formas de entrada de PhotoSequence.

Enums
INPUT_TYPE_UNSPECIFIED No se especifica. El servidor devolverá google.rpc.Code.INVALID_ARGUMENT.
VIDEO Video en 360°.
XDM Extensible Device Metadata, http://www.xdm.org