Method: photoSequence.create

Dopo che il client ha completato il caricamento di PhotoSequence con l'elemento UploadRef restituito, photoSequence.create estrae una sequenza di foto sferiche da un video o da Extensible Device Metadata (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 ricerca

Parametri
inputType

enum (InputType)

Obbligatorio. Il formato 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 di Operation appena creata.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per ulteriori informazioni, consulta la Panoramica di OAuth 2.0.

PhotoSequence

Una sequenza di foto sferiche e 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 per la sequenza di foto. Agisce anche come 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)

Campo facoltativo. Tempo assoluto in cui inizia l'acquisizione della sequenza di foto. Se la sequenza di foto è un video, questa è l'ora di inizio del video. Se questo campo viene compilato nell'input, sostituisce l'ora di acquisizione nel video o nel file XDM.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

uploadTime

string (Timestamp format)

Solo output. L'ora di creazione di questa sequenza di foto nel servizio USV Store.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

rawGpsTimeline[]

object (Pose)

Solo input. Misurazioni GPS non elaborate con timestamp crescenti dal dispositivo che non vengono sincronizzati con ogni foto. Queste misurazioni non elaborate verranno utilizzate per dedurre la posizione di ogni frame. Richiesto nell'input quando InputType è VIDEO e le misurazioni GPS non elaborate non sono in Camera Motion Metadata Track (CAMM). L'utente può indicare quale ha la precedenza utilizzando GPSSource se le misurazioni GPS non elaborate sono fornite sia in rawGpsTimeline che in Camera Motion Metadata Track (CAMM).

gpsSource

enum (GpsSource)

Solo input. Se sia rawGpsTimeline che Camera Motion Metadata Track (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, questi 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 presenta ProcessingState = FAILED, questo conterrà il motivo per cui l'operazione non è riuscita. Se ProcessingState è un altro valore, questo campo non verrà impostato.

failureDetails

object (ProcessingFailureDetails)

Solo output. Se in questa sequenza è impostato il criterio failureReason, l'operazione 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 PhotoSequenza.

filename

string

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

GpsSource

Fonte principale delle misurazioni GPS.

Enum
PHOTO_SEQUENCE Il GPS in rawGpsTimeline ha la precedenza, se esiste.
CAMERA_MOTION_METADATA_TRACK Il GPS nella Traccia metadati di movimento della fotocamera (CAMM) ha la precedenza, se esistente.

Imu

Dati IMU provenienti dai sensori dei dispositivi.

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

object (Measurement3d)

L'accelerometro misura i dati in metri/sec^2 con timestamp crescenti dai dispositivi.

gyroRps[]

object (Measurement3d)

Il giroscopio misura i 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.

Misurazione3d

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.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

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 vengono spostati nel seguente modo:

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

La sequenza può passare a 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 è stata completata, compreso il perfezionamento della posizione.
FAILED L'elaborazione della sequenza non è riuscita. Per ulteriori dettagli, vedi FailureReason.

ProcessingFailureReason

Possibili motivi per cui questo PhotoSequence non è riuscito a elaborare.

Enum
PROCESSING_FAILURE_REASON_UNSPECIFIED Il motivo dell'errore non è specificato. Questo è il valore predefinito.
LOW_RESOLUTION La risoluzione del fotogramma video è troppo bassa.
DUPLICATE Questo video è già stato caricato in precedenza.
INSUFFICIENT_GPS Punti GPS insufficienti.
NO_OVERLAP_GPS Nessuna sovrapposizione tra l'intervallo di tempo della traccia GPS e l'intervallo di tempo del video.
INVALID_GPS GPS non valido (ad es. tutti i punti GPS sono su (0,0))
FAILED_TO_REFINE_POSITIONS Non è stato possibile individuare con precisione la sequenza di foto nel mondo.
TAKEDOWN La sequenza è stata rimossa per motivi legati alle norme.
CORRUPT_VIDEO Il file video è danneggiato o non può essere decodificato.
INTERNAL Si è verificato un guasto permanente nel sistema sottostante.
INVALID_VIDEO_FORMAT Il formato del video non è valido o non è supportato.
INVALID_VIDEO_DIMENSIONS Sono state trovate proporzioni dell'immagine non valide.
INVALID_CAPTURE_TIME Data/ora di acquisizione non valida. I timestamp risalgono al futuro.
GPS_DATA_GAP I dati GPS contengono un intervallo di tempo superiore a 5 secondi.
JUMPY_GPS I dati GPS sono troppo irregolari per essere elaborati.
INVALID_IMU I dati 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 verificarsi altri problemi che impediscono ai nostri sistemi di analizzarli.
INSUFFICIENT_IMU Punti IMU insufficienti.
INSUFFICIENT_OVERLAP_TIME_SERIES Sovrapposizione insufficiente nell'intervallo di tempo tra i dati GPS, IMU e altre serie temporali.
IMU_DATA_GAP I dati IMU (accelerometro, giroscopio e così via) contengono lacune di durata superiori a 0, 1 secondi.
UNSUPPORTED_CAMERA La fotocamera non è supportata.
NOT_OUTDOORS Alcune cornici erano in ambienti interni, il che non è supportato.
INSUFFICIENT_VIDEO_FRAMES Fotogrammi video insufficienti.
INSUFFICIENT_MOVEMENT Dati sullo spostamento insufficienti.

ProcessingFailureDetails

Dettagli aggiuntivi di accompagnamento all'enumerazione ProcessingFailureReason. Si prevede che questo messaggio venga sempre utilizzato in combinazione con ProcessingFailureReason e che l'unico valore impostato in questo messaggio dovrebbe 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 di unione details. Verrà impostato un solo insieme di dettagli, che deve corrispondere all'enum corrispondente in ProcessingFailureReason. details può essere solo uno dei seguenti:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Vedi InsufficientGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Vedi GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Vedere ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Vedi NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Vedi NoOverlayGpsFailureDetails.

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 ci sono più intervalli di dati GPS, qui viene riportato solo quello con la durata maggiore.

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

string (Duration format)

La durata dell'intervallo nei dati GPS rilevato.

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

gapStartTime

string (Duration format)

Tempo relativo (dall'inizio del video stream) in cui è iniziato l'intervallo di tempo.

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 ci sono più lacune nei dati IMU, qui viene riportata solo quella con la durata maggiore.

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

string (Duration format)

La durata del divario nei dati IMU individuati.

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

gapStartTime

string (Duration format)

Tempo relativo (dall'inizio del video stream) in cui è iniziato l'intervallo di tempo.

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 sono stati trovati più frame per interni, qui viene registrato il primo.

Rappresentazione JSON
{
  "startTime": string
}
Campi
startTime

string (Duration format)

Tempo relativo (dall'inizio del video stream) in cui è stato rilevato un fotogramma 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.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

gpsEndTime

string (Timestamp format)

Ora dell'ultimo punto GPS registrato.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

videoStartTime

string (Timestamp format)

Ora di inizio del video.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

videoEndTime

string (Timestamp format)

Ora di fine del video.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

LatLngBounds

Un rettangolo in coordinate geografiche.

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

object (LatLng)

L'angolo sud-ovest di questi confini.

northeast

object (LatLng)

L'angolo nord-est di questi confini.

InputType

Moduli 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