- Richiesta HTTP
- Parametri di ricerca
- Corpo della richiesta
- Corpo della risposta
- Ambiti di autorizzazione
- PhotoSequence
- GpsSource
- Imu
- Measurement3d
- ProcessingState
- ProcessingFailureReason
- ProcessingFailureDetails
- InsufficientGpsFailureDetails
- GpsDataGapFailureDetails
- ImuDataGapFailureDetails
- NotOutdoorsFailureDetails
- NoOverlapGpsFailureDetails
- LatLngBounds
- InputType
- Prova!
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:
google.rpc.Code.INVALID_ARGUMENTse la richiesta non è valida.google.rpc.Code.NOT_FOUNDse il riferimento di caricamento non esiste.
Richiesta HTTP
POST https://streetviewpublish.googleapis.com/v1/photoSequence
L'URL utilizza la sintassi di transcodifica gRPC.
Parametri di query
| Parametri | |
|---|---|
inputType |
Obbligatorio. Il modulo di input di |
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 ( |
| Campi | |
|---|---|
id |
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[] |
Solo output. Foto con timestamp crescenti. |
uploadReference |
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 |
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: |
uploadTime |
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: |
rawGpsTimeline[] |
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 |
Solo input. Se sia rawGpsTimeline che la traccia dei metadati di movimento della videocamera (CAMM) contengono misurazioni GPS, indica quale ha la precedenza. |
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 |
Solo output. Lo stato di elaborazione di questa sequenza. |
failureReason |
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 |
Solo output. Se questa sequenza ha impostato |
distanceMeters |
Solo output. La distanza calcolata della sequenza di foto in metri. |
sequenceBounds |
Solo output. Un riquadro rettangolare che racchiude ogni immagine di questa sequenza fotografica. |
viewCount |
Solo output. Il numero totale di visualizzazioni ricevute da tutte le immagini pubblicate in questa sequenza di foto. |
filename |
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 ( |
| Campi | |
|---|---|
accelMpsps[] |
Le misurazioni dell'accelerometro in metri/sec^2 con timestamp crescenti dai dispositivi. |
gyroRps[] |
Le misurazioni del giroscopio in radianti/sec con timestamp crescenti dai dispositivi. |
magUt[] |
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 |
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: |
x |
La misurazione del sensore sull'asse X. |
y |
La misurazione del sensore sull'asse Y. |
z |
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 |
| 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 |
Vedi InsufficientGpsFailureDetails. |
gpsDataGapDetails |
Vedi GpsDataGapFailureDetails. |
imuDataGapDetails |
Vedi ImuDataGapFailureDetails. |
notOutdoorsDetails |
Vedi NotOutdoorsFailureDetails. |
noOverlapGpsDetails |
Vedi NoOverlapGpsFailureDetails. |
InsufficientGpsFailureDetails
Dettagli relativi a ProcessingFailureReason#INSUFFICIENT_GPS.
| Rappresentazione JSON |
|---|
{ "gpsPointsFound": integer } |
| Campi | |
|---|---|
gpsPointsFound |
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 |
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 " |
gapStartTime |
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 " |
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 |
La durata del divario nei dati IMU rilevato. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
gapStartTime |
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 " |
NotOutdoorsFailureDetails
Dettagli relativi a ProcessingFailureReason#NOT_OUTDOORS. Se vengono trovate più cornici interne, qui viene registrata la prima.
| Rappresentazione JSON |
|---|
{ "startTime": string } |
| Campi | |
|---|---|
startTime |
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 " |
NoOverlapGpsFailureDetails
Dettagli relativi a PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.
| Rappresentazione JSON |
|---|
{ "gpsStartTime": string, "gpsEndTime": string, "videoStartTime": string, "videoEndTime": string } |
| Campi | |
|---|---|
gpsStartTime |
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: |
gpsEndTime |
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: |
videoStartTime |
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: |
videoEndTime |
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: |
LatLngBounds
Un rettangolo in coordinate geografiche.
| Rappresentazione JSON |
|---|
{ "southwest": { object ( |
| Campi | |
|---|---|
southwest |
L'angolo sud-ovest di questi limiti. |
northeast |
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 |