- Solicitud HTTP
- Parámetros de búsqueda
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- PhotoSequence
- GpsSource
- Imu
- Measurement3d
- ProcessingState
- ProcessingFailureReason
- ProcessingFailureDetails
- InsufficientGpsFailureDetails
- GpsDataGapFailureDetails
- ImuDataGapFailureDetails
- NotOutdoorsFailureDetails
- NoOverlapGpsFailureDetails
- LatLngBounds
- InputType
- Pruébalo
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:
google.rpc.Code.INVALID_ARGUMENTsi la solicitud tiene un formato incorrectogoogle.rpc.Code.NOT_FOUNDsi no existe la referencia de carga.
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 |
Obligatorio. Es el formulario de entrada de |
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 ( |
| Campos | |
|---|---|
id |
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[] |
Solo salida. Fotos con marcas de tiempo crecientes. |
uploadReference |
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 |
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: |
uploadTime |
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: |
rawGpsTimeline[] |
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 |
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 |
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 |
Solo salida. Es el estado de procesamiento de esta secuencia. |
failureReason |
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 |
Solo salida. Si esta secuencia tiene establecido |
distanceMeters |
Solo salida. Es la distancia calculada de la secuencia de fotos en metros. |
sequenceBounds |
Solo salida. Es una caja rectangular que encapsula cada imagen de esta secuencia de fotos. |
viewCount |
Solo salida. Es la cantidad total de vistas que recibieron todas las imágenes publicadas en este objeto PhotoSequence. |
filename |
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 ( |
| Campos | |
|---|---|
accelMpsps[] |
Son las mediciones del acelerómetro en m/s² con marcas de tiempo crecientes de los dispositivos. |
gyroRps[] |
Son las mediciones del giroscopio en radianes/s con marcas de tiempo crecientes de los dispositivos. |
magUt[] |
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 |
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: |
x |
Es la medición del sensor en el eje X. |
y |
Es la medición del sensor en el eje Y. |
z |
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 |
| 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 |
Consulta InsufficientGpsFailureDetails. |
gpsDataGapDetails |
Consulta GpsDataGapFailureDetails. |
imuDataGapDetails |
Consulta ImuDataGapFailureDetails. |
notOutdoorsDetails |
Consulta NotOutdoorsFailureDetails. |
noOverlapGpsDetails |
Consulta NoOverlapGpsFailureDetails. |
InsufficientGpsFailureDetails
Son los detalles relacionados con ProcessingFailureReason#INSUFFICIENT_GPS.
| Representación JSON |
|---|
{ "gpsPointsFound": integer } |
| Campos | |
|---|---|
gpsPointsFound |
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 |
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 “ |
gapStartTime |
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 “ |
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 |
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 “ |
gapStartTime |
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 “ |
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 |
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 “ |
NoOverlapGpsFailureDetails
Son detalles relacionados con PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.
| Representación JSON |
|---|
{ "gpsStartTime": string, "gpsEndTime": string, "videoStartTime": string, "videoEndTime": string } |
| Campos | |
|---|---|
gpsStartTime |
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: |
gpsEndTime |
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: |
videoStartTime |
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: |
videoEndTime |
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: |
LatLngBounds
Es un rectángulo en coordenadas geográficas.
| Representación JSON |
|---|
{ "southwest": { object ( |
| Campos | |
|---|---|
southwest |
Es la esquina suroeste de estos límites. |
northeast |
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 |