Method: photoSequence.create

Dopo che il cliente ha terminato il caricamento del PhotoSequence con il UploadRef restituito, photoSequence.create estrae una sequenza di foto a 360° da un video o da metadati estensibili del dispositivo (XDM, http://www.xdm.org/) da pubblicare su Street View su Google Maps.

photoSequence.create restituisce un Operation, con l'ID PhotoSequence impostato nel campo Operation.name.

Questo metodo restituisce i seguenti codici di errore:

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri di query

Parametri
inputType

enum (InputType)

Obbligatorio. Il modulo di input di PhotoSequence.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di PhotoSequence.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di Operation.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per ulteriori informazioni, consulta OAuth 2.0 Overview.

PhotoSequence

Una sequenza di foto sferiche insieme ai metadati.

Rappresentazione 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
}
Campi
id

string

Solo output. Identificatore univoco della sequenza di foto. Funge anche da ID operazione a lunga esecuzione se il caricamento viene eseguito in modo asincrono.

photos[]

object (Photo)

Solo output. Foto con timestamp crescenti.

uploadReference

object (UploadRef)

Solo input. Obbligatorio durante la creazione di una sequenza di foto. Il nome della risorsa in cui vengono caricati i byte della sequenza di foto (sotto forma di video).

captureTimeOverride

string (Timestamp format)

Facoltativo. Ora assoluta in cui inizia l'acquisizione della sequenza di foto. Se la sequenza di foto è un video, questo è l'orario di inizio del video. Se questo campo viene compilato nell'input, sostituisce l'ora di acquisizione nel video o nel file XDM.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

uploadTime

string (Timestamp format)

Solo output. L'ora in cui è stata creata questa sequenza di foto nel servizio uSV Store.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

rawGpsTimeline[]

object (Pose)

Solo input. Misurazioni GPS non elaborate con timestamp crescenti dal dispositivo che non sono sincronizzati con l'ora di ogni foto. Queste misurazioni grezze verranno utilizzate per dedurre la posa di ogni frame. Obbligatorio nell'input quando InputType è VIDEO e le misurazioni GPS non elaborate non sono nella traccia dei metadati di movimento della videocamera (CAMM). L'utente può indicare quale ha la precedenza utilizzando gpsSource se le misurazioni GPS non elaborate vengono fornite sia in rawGpsTimeline che in Camera Motion Metadata Track (CAMM).

gpsSource

enum (GpsSource)

Solo input. Se sia rawGpsTimeline che la traccia dei metadati di movimento della videocamera (CAMM) contengono misurazioni GPS, indica quale ha la precedenza.

imu

object (Imu)

Solo input. Dati IMU a tre assi per la raccolta. Se questi dati sono troppo grandi per essere inseriti nella richiesta, devono essere inseriti nella traccia CAMM del video. Questi dati hanno sempre la precedenza sui dati CAMM equivalenti, se esistenti.

processingState

enum (ProcessingState)

Solo output. Lo stato di elaborazione di questa sequenza.

failureReason

enum (ProcessingFailureReason)

Solo output. Se questa sequenza ha processingState = FAILED, questo campo conterrà il motivo dell'errore. Se processingState ha un altro valore, questo campo non verrà impostato.

failureDetails

object (ProcessingFailureDetails)

Solo output. Se questa sequenza ha impostato failureReason, potrebbe contenere ulteriori dettagli sull'errore.

distanceMeters

number

Solo output. La distanza calcolata della sequenza di foto in metri.

sequenceBounds

object (LatLngBounds)

Solo output. Un riquadro rettangolare che racchiude ogni immagine di questa sequenza fotografica.

viewCount

string (int64 format)

Solo output. Il numero totale di visualizzazioni ricevute da tutte le immagini pubblicate in questa sequenza di foto.

filename

string

Solo output. Il nome del file caricato. Non include il percorso della directory. Disponibile solo se la sequenza è stata caricata su una piattaforma che fornisce il nome file.

GpsSource

Origine principale delle misurazioni GPS.

Enum
PHOTO_SEQUENCE Il GPS in rawGpsTimeline ha la precedenza, se presente.
CAMERA_MOTION_METADATA_TRACK Il GPS nella traccia dei metadati di movimento della videocamera (CAMM) ha la precedenza, se esistente.

Imu

Dati IMU provenienti dai sensori del dispositivo.

Rappresentazione JSON
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
Campi
accelMpsps[]

object (Measurement3d)

Le misurazioni dell'accelerometro in metri/sec^2 con timestamp crescenti dai dispositivi.

gyroRps[]

object (Measurement3d)

Le misurazioni del giroscopio in radianti/sec con timestamp crescenti dai dispositivi.

magUt[]

object (Measurement3d)

Le misurazioni del magnetometro del campo magnetico in microtesla (uT) con timestamp crescenti dai dispositivi.

Measurement3d

Un esempio generico di misurazione 3D.

Rappresentazione JSON
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
Campi
captureTime

string (Timestamp format)

Il timestamp della misurazione IMU.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

x

number

La misurazione del sensore sull'asse X.

y

number

La misurazione del sensore sull'asse Y.

z

number

La misurazione del sensore sull'asse Z.

ProcessingState

Lo stato di elaborazione della sequenza. Gli stati si spostano come segue:

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

La sequenza può passare allo stato FAILED da qualsiasi stato. Inoltre, una sequenza elaborata può essere rielaborata in qualsiasi momento.

Enum
PROCESSING_STATE_UNSPECIFIED Lo stato non è specificato, questo è il valore predefinito.
PENDING L'elaborazione della sequenza non è ancora iniziata.
PROCESSING La sequenza è attualmente in fase di elaborazione.
PROCESSED L'elaborazione della sequenza è terminata, inclusa la definizione della posizione.
FAILED L'elaborazione della sequenza non è riuscita. Per ulteriori dettagli, consulta FailureReason.

ProcessingFailureReason

I possibili motivi per cui l'elaborazione di PhotoSequence non è riuscita.

Enum
PROCESSING_FAILURE_REASON_UNSPECIFIED Il motivo dell'errore non è specificato, questo è il valore predefinito.
LOW_RESOLUTION La risoluzione del fotogramma del video è troppo bassa.
DUPLICATE Questo video è già stato caricato.
INSUFFICIENT_GPS Punti GPS insufficienti.
NO_OVERLAP_GPS Nessuna sovrapposizione tra l'intervallo di tempo della traccia GPS e quello del video.
INVALID_GPS Il GPS non è valido (ad es. tutti i punti GPS sono a (0,0))
FAILED_TO_REFINE_POSITIONS La sequenza di foto non è stata localizzata con precisione nel mondo.
TAKEDOWN La sequenza è stata rimossa per motivi legati alle norme.
CORRUPT_VIDEO Il file video era danneggiato o non è stato possibile decodificarlo.
INTERNAL Si è verificato un errore permanente nel sistema sottostante.
INVALID_VIDEO_FORMAT Il formato del video non è valido o non è supportato.
INVALID_VIDEO_DIMENSIONS Sono state rilevate proporzioni immagine non valide.
INVALID_CAPTURE_TIME Ora di acquisizione non valida. I timestamp corrispondono a una data futura.
GPS_DATA_GAP I dati GPS contengono una lacuna di durata superiore a 5 secondi.
JUMPY_GPS I dati GPS sono troppo irregolari per essere elaborati.
INVALID_IMU I dati dell'IMU (accelerometro, giroscopio e così via) non sono validi. Potrebbero mancare campi obbligatori (x, y, z o ora), potrebbero non essere formattati correttamente o potrebbero presentare qualsiasi altro problema che impedisce ai nostri sistemi di analizzarli.
INSUFFICIENT_IMU Pochi punti IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Sovrapposizione insufficiente nell'intervallo di tempo tra GPS, IMU e altri dati delle serie temporali.
IMU_DATA_GAP I dati IMU (accelerometro, giroscopio e così via) contengono lacune di durata superiore a 0, 1 secondi.
UNSUPPORTED_CAMERA La videocamera non è supportata.
NOT_OUTDOORS Alcuni fotogrammi sono stati girati in ambienti interni, il che non è supportato.
INSUFFICIENT_VIDEO_FRAMES Numero insufficiente di fotogrammi video.
INSUFFICIENT_MOVEMENT Dati sul movimento insufficienti.
MAST_DOWN Il supporto è abbassato.
CAMERA_COVERED La videocamera è coperta.

ProcessingFailureDetails

Dettagli aggiuntivi da accompagnare all'enumerazione ProcessingFailureReason. Questo messaggio deve sempre essere utilizzato in combinazione con ProcessingFailureReason e il valore oneof impostato in questo messaggio deve corrispondere a FailureReason.

Rappresentazione 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.
}
Campi
Campo unione details. Verrà impostato un solo insieme di dettagli, che deve corrispondere all'enumerazione corrispondente in ProcessingFailureReason. details può essere solo uno dei seguenti:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Vedi InsufficientGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Vedi GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Vedi ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Vedi NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Vedi NoOverlapGpsFailureDetails.

InsufficientGpsFailureDetails

Dettagli relativi a ProcessingFailureReason#INSUFFICIENT_GPS.

Rappresentazione JSON
{
  "gpsPointsFound": integer
}
Campi
gpsPointsFound

integer

Il numero di punti GPS trovati nel video.

GpsDataGapFailureDetails

Dettagli relativi a ProcessingFailureReason#GPS_DATA_GAP. Se sono presenti più lacune nei dati GPS, qui viene segnalata solo quella con la durata maggiore.

Rappresentazione JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Campi
gapDuration

string (Duration format)

La durata del periodo di tempo in cui non sono stati rilevati dati GPS.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

gapStartTime

string (Duration format)

Ora relativa (dall'inizio dello stream video) in cui è iniziato il gap.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

ImuDataGapFailureDetails

Dettagli relativi a ProcessingFailureReason#IMU_DATA_GAP. Se sono presenti più lacune nei dati IMU, qui viene segnalata solo quella con la durata maggiore.

Rappresentazione JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Campi
gapDuration

string (Duration format)

La durata del divario nei dati IMU rilevato.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

gapStartTime

string (Duration format)

Ora relativa (dall'inizio dello stream video) in cui è iniziato il gap.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

NotOutdoorsFailureDetails

Dettagli relativi a ProcessingFailureReason#NOT_OUTDOORS. Se vengono trovate più cornici interne, qui viene registrata la prima.

Rappresentazione JSON
{
  "startTime": string
}
Campi
startTime

string (Duration format)

Ora relativa (dall'inizio dello stream video) in cui è stato trovato un frame di interno.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

NoOverlapGpsFailureDetails

Dettagli relativi a PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.

Rappresentazione JSON
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
Campi
gpsStartTime

string (Timestamp format)

Ora del primo punto GPS registrato.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

gpsEndTime

string (Timestamp format)

Ora dell'ultimo punto GPS registrato.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

videoStartTime

string (Timestamp format)

Ora di inizio del video.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

videoEndTime

string (Timestamp format)

Ora di fine del video.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

LatLngBounds

Un rettangolo in coordinate geografiche.

Rappresentazione JSON
{
  "southwest": {
    object (LatLng)
  },
  "northeast": {
    object (LatLng)
  }
}
Campi
southwest

object (LatLng)

L'angolo sud-ovest di questi limiti.

northeast

object (LatLng)

L'angolo nord-est di questi limiti.

InputType

Forme di input di PhotoSequence.

Enum
INPUT_TYPE_UNSPECIFIED Non specificato. Il server restituirà google.rpc.Code.INVALID_ARGUMENT.
VIDEO Video a 360°.
XDM Extensible Device Metadata, http://www.xdm.org