Method: photoSequence.create

Dopo che il cliente ha terminato di caricare l'oggetto PhotoSequence con il valore UploadRef restituito, photoSequence.create estrae una sequenza di foto sferiche da un video o dai metadati estensibili del dispositivo (XDM, http://www.xdm.org/) da pubblicare su Street View su Google Maps.

photoSequence.create restituisce un valore 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 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 con 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. Inoltre, funge 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 quando crei 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) Tempo assoluto in cui inizia l'acquisizione della sequenza di foto. Se la sequenza di foto è un video, si tratta del momento in cui inizia il video. Se questo campo viene compilato in input, sostituisce il momento di acquisizione nel video o nel file XDM.

Un timestamp nel formato RFC3339 UTC "Zulu" 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 in cui questa sequenza di foto è stata creata nel servizio di negozio uSV.

Un timestamp nel formato RFC3339 UTC "Zulu" 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 del dispositivo che non sono sincronizzate con l'ora di ogni foto. Queste misurazioni non elaborate verranno utilizzate per dedurre la posa di ogni fotogramma. Obbligatorio nell'input quando il valore di InputType è VIDEO e le misurazioni GPS non elaborate non sono nella traccia CAMM (Motion Metadata Track) della fotocamera. L'utente può indicare quale ha la precedenza utilizzando gpsSource se vengono fornite misurazioni GPS non elaborate sia in rawGpsTimeline che in CAMM (Camera Motion Metadata Track).

gpsSource

enum (GpsSource)

Solo input. Se sia il rawGpsTimeline sia la CAMM (camera Motion Metadata Track) 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 presenti.

processingState

enum (ProcessingState)

Solo output. Lo stato di elaborazione di questa sequenza.

failureReason

enum (ProcessingFailureReason)

Solo output. Se questa sequenza ha ProcessingState = FAILED, conterrà il motivo per cui l'operazione non è riuscita. Se il valore ProcessingState è qualsiasi altro, questo campo non verrà impostato.

failureDetails

object (ProcessingFailureDetails)

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

distanceMeters

number

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

sequenceBounds

object (LatLngBounds)

Solo output. Una scatola rettangolare che incapsula ogni immagine in questa sequenza di foto.

viewCount

string (int64 format)

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

filename

string

Solo output. Il nome file del caricamento. 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 esistente.
CAMERA_MOTION_METADATA_TRACK Il GPS nella traccia CAMM (Motion Metadata Track) della videocamera 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)

L'accelerometro effettua le misurazioni in metri/sec^2 con timestamp crescenti dai dispositivi.

gyroRps[]

object (Measurement3d)

Il giroscopio esegue le misurazioni in radianti al secondo con timestamp crescenti dai dispositivi.

magUt[]

object (Measurement3d)

Il magnetometro misura il campo magnetico in microtesla (uT) con timestamp crescenti provenienti dai dispositivi.

Misurazione3d

Un campione di misurazione 3D generico.

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

string (Timestamp format)

Il timestamp della misurazione IMU.

Un timestamp nel formato RFC3339 UTC "Zulu" 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 si spostano come segue:

     +-------------------------+
     |                         |
 +---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 stata avviata.
PROCESSING La sequenza è attualmente in fase di elaborazione.
PROCESSED L'elaborazione della sequenza è stata completata, incluso il perfezionamento della posizione.
FAILED Elaborazione della sequenza non riuscita. Consulta FailureReason per ulteriori dettagli.

ProcessingFailureReason

I possibili motivi per cui l'elaborazione di questo 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 ridotta.
DUPLICATE Questo video è già stato caricato.
INSUFFICIENT_GPS Numero insufficiente di punti GPS.
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 esempio, 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 era danneggiato o non può essere decodificato.
INTERNAL Si è verificato un errore permanente nel sistema sottostante.
INVALID_VIDEO_FORMAT Il formato del video non è valido o non è supportato.
INVALID_VIDEO_DIMENSIONS Rilevate 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 non essere presenti campi obbligatori (x, y, z o ora), potrebbero non essere formattati correttamente o presentare altri problemi che impediscono ai nostri sistemi di analizzarli.
INSUFFICIENT_IMU Numero insufficiente di punti IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Sovrapposizione insufficiente nell'intervallo di tempo tra GPS, IMU e altri dati di 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 frame si trovavano all'interno, anche se non è supportato.
INSUFFICIENT_VIDEO_FRAMES Frame video insufficienti.
INSUFFICIENT_MOVEMENT Dati sullo spostamento insufficienti.

ProcessingFailureDetails

Ulteriori dettagli da accompagnare all'enum ProcessingFailureReason. Si prevede che questo messaggio venga sempre utilizzato insieme a 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 set di dettagli che deve corrispondere all'enum corrispondente in ProcessingFailureReason. details può essere solo uno dei seguenti:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Consulta InsufficientGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Vedi GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Vedi ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Vedi NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Visualizza Nessuna sovrapposizioneGpsFailureDetails.

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 riportata solo quella con la durata maggiore.

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

string (Duration format)

La durata della lacuna nei dati GPS trovati.

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

gapStartTime

string (Duration format)

Tempo relativo (dall'inizio dello stream video) in cui è iniziato il divario.

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

ImuDataGapFailureDetails

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

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

string (Duration format)

La durata del gap nei dati IMU rilevati.

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

gapStartTime

string (Duration format)

Tempo relativo (dall'inizio dello stream video) in cui è iniziato il divario.

Durata in secondi con un massimo di nove cifre frazionarie e termina con "s". Esempio: "3.5s".

NotOutdoorsFailureDetails

Dettagli relativi a ProcessingFailureReason#NOT_OUTDOORS. Se sono stati trovati più frame interni, qui viene registrato il primo frame.

Rappresentazione JSON
{
  "startTime": string
}
Campi
startTime

string (Duration format)

Tempo relativo (dall'inizio del video stream) in cui è stato rilevato un fotogramma interno.

Durata in secondi con un massimo di nove cifre frazionarie e 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 nel formato RFC3339 UTC "Zulu" 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 nel formato RFC3339 UTC "Zulu" 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 nel formato RFC3339 UTC "Zulu" 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 nel formato RFC3339 UTC "Zulu" 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 con coordinate geografiche.

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

object (LatLng)

L'angolo a sud-ovest di questi confini.

northeast

object (LatLng)

L'angolo a nord-est di questi confini.

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