Method: photoSequence.create

Nachdem der Client das PhotoSequence mit dem zurückgegebenen UploadRef hochgeladen hat, extrahiert photoSequence.create eine Sequenz von 360°-Fotos aus einem Video oder Extensible Device Metadata (XDM, http://www.xdm.org/), die in Street View in Google Maps veröffentlicht werden sollen.

photoSequence.create gibt ein Operation zurück, wobei die PhotoSequence-ID im Feld Operation.name festgelegt ist.

Diese Methode gibt die folgenden Fehlercodes zurück:

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Abfrageparameter

Parameter
inputType

enum (InputType)

Erforderlich. Die Eingabeform von PhotoSequence.

Anfragetext

Der Anfragetext enthält eine Instanz von PhotoSequence.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine neu erstellte Instanz von Operation.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

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

Weitere Informationen finden Sie unter OAuth 2.0 Overview.

PhotoSequence

Eine Reihe von 360°-Fotos mit Metadaten.

JSON-Darstellung
{
  "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
}
Felder
id

string

Nur Ausgabe. Eindeutige Kennung für die Fotoserie. Dies dient auch als ID des Vorgangs mit langer Ausführungszeit, wenn der Upload asynchron erfolgt.

photos[]

object (Photo)

Nur Ausgabe. Fotos mit ansteigenden Zeitstempeln.

uploadReference

object (UploadRef)

Nur Eingabe. Erforderlich beim Erstellen einer Bildfolge. Der Ressourcenname, unter dem die Bytes der Fotosequenz (in Form eines Videos) hochgeladen werden.

captureTimeOverride

string (Timestamp format)

Optional. Absolute Zeit, zu der die Aufnahme der Fotoserie beginnt. Wenn die Fotosequenz ein Video ist, ist dies die Startzeit des Videos. Wenn dieses Feld in der Eingabe ausgefüllt ist, wird die Aufnahmezeit im Video oder in der XDM-Datei überschrieben.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

uploadTime

string (Timestamp format)

Nur Ausgabe. Der Zeitpunkt, zu dem diese Fotosequenz im uSV Store-Dienst erstellt wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

rawGpsTimeline[]

object (Pose)

Nur Eingabe. Rohe GPS-Messungen mit ansteigenden Zeitstempeln vom Gerät, die nicht mit den einzelnen Fotos synchronisiert sind. Anhand dieser Rohmessungen wird die Position jedes Frames abgeleitet. Erforderlich in der Eingabe, wenn InputType VIDEO ist und rohe GPS-Messungen nicht im CAMM-Track (Camera Motion Metadata Track) enthalten sind. Der Nutzer kann mit „gpsSource“ angeben, welche Vorrang hat, wenn sowohl im Roh-GPS-Zeitachsentrack als auch im CAMM-Track (Camera Motion Metadata Track) rohe GPS-Messungen bereitgestellt werden.

gpsSource

enum (GpsSource)

Nur Eingabe. Wenn sowohl „rawGpsTimeline“ als auch der CAMM-Track (Camera Motion Metadata Track) GPS-Messungen enthalten, geben Sie an, welcher Vorrang hat.

imu

object (Imu)

Nur Eingabe. IMU-Daten für drei Achsen für die Erfassung. Wenn diese Daten zu groß sind, um in die Anfrage aufgenommen zu werden, sollten sie im CAMM-Track für das Video angegeben werden. Diese Daten haben immer Vorrang vor den entsprechenden CAMM-Daten, sofern vorhanden.

processingState

enum (ProcessingState)

Nur Ausgabe. Der Verarbeitungsstatus dieser Sequenz.

failureReason

enum (ProcessingFailureReason)

Nur Ausgabe. Wenn für diese Sequenz „processingState“ = „FAILED“ gilt, enthält sie den Grund für den Fehler. Wenn „processingState“ einen anderen Wert hat, wird dieses Feld nicht festgelegt.

failureDetails

object (ProcessingFailureDetails)

Nur Ausgabe. Wenn für diese Sequenz failureReason festgelegt ist, enthält sie möglicherweise zusätzliche Details zum Fehler.

distanceMeters

number

Nur Ausgabe. Die berechnete Entfernung der Fotosequenz in Metern.

sequenceBounds

object (LatLngBounds)

Nur Ausgabe. Ein rechteckiger Rahmen, der jedes Bild in dieser Fotoserie umschließt.

viewCount

string (int64 format)

Nur Ausgabe. Die Gesamtzahl der Aufrufe, die alle veröffentlichten Bilder in dieser Bildfolge erhalten haben.

filename

string

Nur Ausgabe. Der Dateiname des Uploads. Der Verzeichnispfad ist nicht enthalten. Nur verfügbar, wenn die Sequenz auf einer Plattform hochgeladen wurde, die den Dateinamen angibt.

GpsSource

Primäre Quelle für GPS-Messungen.

Enums
PHOTO_SEQUENCE GPS in „rawGpsTimeline“ hat Vorrang, sofern vorhanden.
CAMERA_MOTION_METADATA_TRACK GPS in Camera Motion Metadata Track (CAMM) hat Vorrang, sofern vorhanden.

Imu

IMU-Daten von den Gerätesensoren.

JSON-Darstellung
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
Felder
accelMpsps[]

object (Measurement3d)

Die Beschleunigungsmessungen in Metern/Sekunde^2 mit ansteigenden Zeitstempeln von Geräten.

gyroRps[]

object (Measurement3d)

Die Gyroskopmessungen in Radian/Sekunde mit ansteigenden Zeitstempeln von Geräten.

magUt[]

object (Measurement3d)

Die Magnetometer-Messungen des Magnetfelds in Mikrotesla (μT) mit ansteigenden Zeitstempeln von Geräten.

Measurement3d

Ein generisches 3D-Messbeispiel.

JSON-Darstellung
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
Felder
captureTime

string (Timestamp format)

Der Zeitstempel der IMU-Messung.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

x

number

Die Sensormessung auf der x-Achse.

y

number

Die Sensormessung auf der y-Achse.

z

number

Die Sensormessung auf der Z-Achse.

ProcessingState

Der Verarbeitungsstatus der Sequenz. Die Statusübergänge sind wie folgt:

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

Die Sequenz kann von jedem Status in den Status „FAILED“ (FEHLER) wechseln. Außerdem kann eine verarbeitete Sequenz jederzeit noch einmal verarbeitet werden.

Enums
PROCESSING_STATE_UNSPECIFIED Der Status ist nicht angegeben. Das ist der Standardwert.
PENDING Die Verarbeitung der Sequenz hat noch nicht begonnen.
PROCESSING Die Sequenz wird gerade verarbeitet.
PROCESSED Die Verarbeitung der Sequenz, einschließlich der Optimierung der Position, ist abgeschlossen.
FAILED Die Verarbeitung der Sequenz ist fehlgeschlagen. Weitere Informationen finden Sie unter „FailureReason“.

ProcessingFailureReason

Mögliche Gründe, warum die Verarbeitung von PhotoSequence fehlgeschlagen ist.

Enums
PROCESSING_FAILURE_REASON_UNSPECIFIED Der Grund für den Fehler ist nicht angegeben. Dies ist der Standardwert.
LOW_RESOLUTION Die Auflösung des Videobilds ist zu gering.
DUPLICATE Dieses Video wurde bereits hochgeladen.
INSUFFICIENT_GPS Zu wenige GPS-Punkte.
NO_OVERLAP_GPS Keine Überschneidung zwischen dem Zeitraum des GPS-Tracks und dem Zeitraum des Videos.
INVALID_GPS GPS ist ungültig (z.B. alle GPS-Punkte befinden sich an der Position (0,0))
FAILED_TO_REFINE_POSITIONS Die Fotoserie konnte nicht genau auf der Welt verortet werden.
TAKEDOWN Die Sequenz wurde aus Richtliniengründen entfernt.
CORRUPT_VIDEO Die Videodatei war beschädigt oder konnte nicht decodiert werden.
INTERNAL Im zugrunde liegenden System ist ein dauerhafter Fehler aufgetreten.
INVALID_VIDEO_FORMAT Das Videoformat ist ungültig oder wird nicht unterstützt.
INVALID_VIDEO_DIMENSIONS Es wurde ein ungültiges Bildseitenverhältnis gefunden.
INVALID_CAPTURE_TIME Ungültige Aufnahmezeit. Die Zeitstempel bezogen sich auf die Zukunft.
GPS_DATA_GAP Die GPS-Daten weisen eine Lücke von mehr als 5 Sekunden auf.
JUMPY_GPS Die GPS-Daten sind zu unregelmäßig, um verarbeitet zu werden.
INVALID_IMU Die IMU-Daten (Beschleunigungsmesser, Gyroskop usw.) sind ungültig. Möglicherweise fehlen erforderliche Felder (x, y, z oder Zeit), die Daten sind nicht richtig formatiert oder es liegt ein anderes Problem vor, das verhindert, dass unsere Systeme die Daten parsen können.
INSUFFICIENT_IMU Zu wenige IMU-Punkte.
INSUFFICIENT_OVERLAP_TIME_SERIES Es gibt nicht genügend Überschneidungen im Zeitrahmen zwischen GPS-, IMU- und anderen Zeitreihendaten.
IMU_DATA_GAP Die IMU-Daten (Beschleunigungsmesser, Gyroskop usw.) weisen Lücken von über 0, 1 Sekunden auf.
UNSUPPORTED_CAMERA Die Kamera wird nicht unterstützt.
NOT_OUTDOORS Einige Frames wurden in Innenräumen aufgenommen, was nicht unterstützt wird.
INSUFFICIENT_VIDEO_FRAMES Nicht genügend Videoframes.
INSUFFICIENT_MOVEMENT Nicht genügend Bewegungsdaten vorhanden.
MAST_DOWN Der Mast ist abgesenkt.
CAMERA_COVERED Die Kamera ist verdeckt.

ProcessingFailureDetails

Zusätzliche Details zur Enumeration „ProcessingFailureReason“. Diese Nachricht wird immer in Verbindung mit ProcessingFailureReason verwendet und der in dieser Nachricht festgelegte „oneof“-Wert sollte mit dem „FailureReason“ übereinstimmen.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld details. Es wird nur ein Satz von Details festgelegt, der mit dem entsprechenden Enum in ProcessingFailureReason übereinstimmen muss. Für details ist nur einer der folgenden Werte zulässig:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Weitere Informationen finden Sie unter InsufficientGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Weitere Informationen finden Sie unter GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Weitere Informationen finden Sie unter ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Weitere Informationen finden Sie unter NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Siehe NoOverlapGpsFailureDetails.

InsufficientGpsFailureDetails

Details zu ProcessingFailureReason#INSUFFICIENT_GPS.

JSON-Darstellung
{
  "gpsPointsFound": integer
}
Felder
gpsPointsFound

integer

Die Anzahl der GPS-Punkte, die im Video gefunden wurden.

GpsDataGapFailureDetails

Details zu ProcessingFailureReason#GPS_DATA_GAP. Wenn es mehrere Lücken in den GPS-Daten gibt, wird hier nur die mit der längsten Dauer gemeldet.

JSON-Darstellung
{
  "gapDuration": string,
  "gapStartTime": string
}
Felder
gapDuration

string (Duration format)

Die Dauer der Lücke in den GPS-Daten.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

gapStartTime

string (Duration format)

Die relative Zeit (ab Beginn des Videostreams), zu der die Lücke begonnen hat.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

ImuDataGapFailureDetails

Details zu ProcessingFailureReason#IMU_DATA_GAP. Wenn es mehrere Lücken bei den IMU-Daten gibt, wird hier nur die mit der längsten Dauer gemeldet.

JSON-Darstellung
{
  "gapDuration": string,
  "gapStartTime": string
}
Felder
gapDuration

string (Duration format)

Die Dauer der Lücke in den IMU-Daten, die gefunden wurde.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

gapStartTime

string (Duration format)

Die relative Zeit (ab Beginn des Videostreams), zu der die Lücke begonnen hat.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

NotOutdoorsFailureDetails

Details zu ProcessingFailureReason#NOT_OUTDOORS. Wenn mehrere Innenrahmen gefunden werden, wird der erste Rahmen hier aufgezeichnet.

JSON-Darstellung
{
  "startTime": string
}
Felder
startTime

string (Duration format)

Die relative Zeit (ab Beginn des Videostreams), zu der ein Frame von einer Innenaufnahme gefunden wurde.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

NoOverlapGpsFailureDetails

Details zu PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.

JSON-Darstellung
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
Felder
gpsStartTime

string (Timestamp format)

Uhrzeit des ersten aufgezeichneten GPS-Punkts.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

gpsEndTime

string (Timestamp format)

Zeitpunkt des letzten aufgezeichneten GPS-Punkts.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

videoStartTime

string (Timestamp format)

Startzeit des Videos.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

videoEndTime

string (Timestamp format)

Ende des Videos.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

LatLngBounds

Ein Rechteck in geografischen Koordinaten.

JSON-Darstellung
{
  "southwest": {
    object (LatLng)
  },
  "northeast": {
    object (LatLng)
  }
}
Felder
southwest

object (LatLng)

Die südwestliche Ecke dieser Grenzen.

northeast

object (LatLng)

Die nordöstliche Ecke dieser Grenzen.

InputType

Eingabeformen von PhotoSequence.

Enums
INPUT_TYPE_UNSPECIFIED Nicht angegeben. Der Server gibt google.rpc.Code.INVALID_ARGUMENT zurück.
VIDEO 360°-Video
XDM Extensible Device Metadata, http://www.xdm.org