Method: photoSequence.create

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

photoSequence.create gibt eine 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. Das Eingabeformular von PhotoSequence.

Anfragetext

Der Anfragetext enthält eine Instanz von PhotoSequence.

Antworttext

Bei Erfolg 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 in der Übersicht über OAuth 2.0.

PhotoSequence

Eine Abfolge 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 Fotosequenz. Dies fungiert auch als eine Vorgangs-ID mit langer Ausführungszeit, wenn der Upload asynchron durchgeführt wird.

photos[]

object (Photo)

Nur Ausgabe. Fotos mit zunehmenden Zeitstempeln.

uploadReference

object (UploadRef)

Nur Eingabe. Erforderlich beim Erstellen von Fotosequenzen. Der Name der Ressource, in die die Byte der Fotosequenz (in Form eines Videos) hochgeladen werden.

captureTimeOverride

string (Timestamp format)

Optional. Absoluter Zeitpunkt, zu dem die Aufnahme der Fotosequenz beginnt. Wenn die Fotosequenz ein Video ist, ist dies die Startzeit des Videos. Wenn dieses Feld in der Eingabe ausgefüllt wird, wird die Erfassungszeit in der Video- oder XDM-Datei überschrieben.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

uploadTime

string (Timestamp format)

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

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

rawGpsTimeline[]

object (Pose)

Nur Eingabe. GPS-Rohdaten mit zunehmenden Zeitstempeln vom Gerät, die nicht zeitgleich mit jedem Foto synchronisiert sind. Diese Rohdaten werden verwendet, um die Position jedes Frames abzuleiten. Eingabe erforderlich, wenn der InputType VIDEO ist und GPS-Rohdaten nicht im CAMM-Metadatentrack (Camera Motion Metadata Track) enthalten sind. Der Nutzer kann mit gpsSource angeben, was Vorrang hat, wenn GPS-Rohmessungen sowohl in der rawGpsTimeline als auch in der CAMM-Datei (Camera Motion Metadata Track) bereitgestellt werden.

gpsSource

enum (GpsSource)

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

imu

object (Imu)

Nur Eingabe. Dreiachsige IMU-Daten für die Sammlung. Wenn diese Daten zu groß für die Anfrage sind, sollten sie in den CAMM-Track des Videos eingefügt 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 festgelegt ist, enthält dieses Feld den Grund für den Fehler. Wenn der Verarbeitungszustand ein anderer Wert ist, wird dieses Feld nicht festgelegt.

failureDetails

object (ProcessingFailureDetails)

Nur Ausgabe. Wenn für diese Sequenz failureReason festgelegt ist, können darin zusätzliche Details zum Fehler enthalten sein.

distanceMeters

number

Nur Ausgabe. Die berechnete Entfernung der Fotosequenz in Metern.

sequenceBounds

object (LatLngBounds)

Nur Ausgabe. Ein rechteckiges Feld, das jedes Bild in dieser Fotosequenz enthält.

viewCount

string (int64 format)

Nur Ausgabe. Die Gesamtzahl der Aufrufe, die alle veröffentlichten Bilder in dieser PhotoSequence gesendet wurden.

filename

string

Nur Ausgabe. Der Dateiname des Uploads. Enthält nicht den Verzeichnispfad. Nur verfügbar, wenn die Sequenz auf eine Plattform hochgeladen wurde, die den Dateinamen bereitstellt.

GpsSource

Primäre Quelle für GPS-Messungen.

Enums
PHOTO_SEQUENCE GPS in rawGpsTimeline hat Vorrang, sofern vorhanden.
CAMERA_MOTION_METADATA_TRACK GPS im 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 Messwerte des Beschleunigungsmessers in Metern/s^2 mit zunehmenden Zeitstempeln von Geräten.

gyroRps[]

object (Measurement3d)

Die Gyroskopwerte in Radiant/s mit zunehmenden Zeitstempeln von Geräten.

magUt[]

object (Measurement3d)

Messungen des Magnetfelds in Mikrotesla (uT) mit zunehmenden Zeitstempeln von Geräten.

Messung3D

Ein generisches 3D-Messbeispiel.

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

string (Timestamp format)

Der Zeitstempel der IMU-Messung.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

x

number

Die Sensormessung auf der x-Achse.

y

number

Die Sensormessung auf der Y-Achse.

z

number

Die Sensormessung in der z-Achse.

ProcessingState

Der Verarbeitungsstatus der Sequenz. Die Status bewegen sich wie folgt:

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

Die Sequenz kann aus jedem Status in den Status FAILED gesetzt werden. Außerdem kann eine verarbeitete Sequenz jederzeit noch einmal verarbeitet werden.

Enums
PROCESSING_STATE_UNSPECIFIED Der Status ist nicht angegeben. Dies ist der Standardwert.
PENDING Die Verarbeitung der Sequenz wurde noch nicht gestartet.
PROCESSING Die Sequenz wird gerade verarbeitet.
PROCESSED Die Verarbeitung der Sequenz, einschließlich der Verfeinerung der Position, ist abgeschlossen.
FAILED Die Verarbeitung der Sequenz ist fehlgeschlagen. Weitere Informationen finden Sie unter FailureReason.

ProcessingFailureReason

Mögliche Gründe, warum PhotoSequence nicht verarbeitet werden konnte.

Enums
PROCESSING_FAILURE_REASON_UNSPECIFIED Die Fehlerursache ist nicht angegeben. Dies ist der Standardwert.
LOW_RESOLUTION Die Auflösung des Videoframes ist zu gering.
DUPLICATE Dieses Video wurde schon einmal hochgeladen.
INSUFFICIENT_GPS Zu wenige GPS-Punkte
NO_OVERLAP_GPS Keine Überschneidung zwischen dem Zeitrahmen des GPS-Tracks und dem Zeitrahmen des Videos.
INVALID_GPS GPS ist ungültig (z.B. befinden sich alle GPS-Punkte bei (0,0))
FAILED_TO_REFINE_POSITIONS Die Sequenz der Fotos konnte nicht genau auf der Welt positioniert werden.
TAKEDOWN Die Sequenz wurde aufgrund von Richtlinienverstößen entfernt.
CORRUPT_VIDEO Die Videodatei ist 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 Ungültiges Bildseitenverhältnis gefunden.
INVALID_CAPTURE_TIME Ungültige Aufnahmezeit. Die Zeitstempel stammen aus der Zukunft.
GPS_DATA_GAP Die GPS-Daten weisen eine Lücke von mehr als 5 Sekunden auf.
JUMPY_GPS GPS-Daten sind zu ungenau, um verarbeitet zu werden.
INVALID_IMU IMU-Daten (Beschleunigungsmesser, Gyroskop usw.) sind ungültig. Möglicherweise fehlen Pflichtfelder (x, y, z oder Zeit), sind nicht richtig formatiert oder andere Probleme, die das Parsen durch unsere Systeme verhindern.
INSUFFICIENT_IMU Zu wenige IMU-Punkte
INSUFFICIENT_OVERLAP_TIME_SERIES Unzureichende Überschneidung im Zeitraum zwischen GPS-, IMU- und anderen Zeitreihendaten.
IMU_DATA_GAP IMU-Daten (Beschleunigungsmesser, Gyroskop usw.) enthalten Lücken von einer Dauer von mehr als 0, 1 Sekunden.
UNSUPPORTED_CAMERA Die Kamera wird nicht unterstützt.
NOT_OUTDOORS Einige Frames befanden sich in Innenräumen. Dies wird nicht unterstützt.
INSUFFICIENT_VIDEO_FRAMES Nicht genügend Videoframes vorhanden.
INSUFFICIENT_MOVEMENT Die zu verschiebenden Daten reichen nicht aus.

ProcessingFailureDetails

Zusätzliche Details für den Enum-Wert „ProcessingFailureReason“. Diese Meldung wird immer in Verbindung mit „ProcessingFailureReason“ verwendet. Der in dieser Meldung festgelegte Wert sollte mit „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 Detailsatz festgelegt, der mit der 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 „UnzureichendeGpsFailureDetails“.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Siehe GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Siehe ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Siehe NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Siehe NoOverlapGpsFailureDetails.

InsufficientGpsFailureDetails

Details in Bezug auf 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 GPS-Datenlücken gibt, wird hier nur die mit der längsten Dauer angezeigt.

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

string (Duration format)

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

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

gapStartTime

string (Duration format)

Relative Zeit (ab Beginn des Videostreams), wann die Lücke begann.

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

ImuDataGapFailureDetails

Details in Bezug auf ProcessingFailureReason#IMU_DATA_GAP. Wenn es mehrere IMU-Datenlücken gibt, wird hier nur die mit der größten Dauer angegeben.

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

string (Duration format)

Die Dauer der gefundenen Lücke in den IMU-Daten.

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

gapStartTime

string (Duration format)

Relative Zeit (ab Beginn des Videostreams), wann die Lücke begann.

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

NotOutdoorsFailureDetails

Details in Bezug auf ProcessingFailureReason#NOT_OUTDOORS Wenn mehrere Frames in Innenräumen gefunden werden, wird hier der erste Frame aufgezeichnet.

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

string (Duration format)

Relative Zeit (ab Beginn des Videostreams), während der ein Indoor-Frame 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)

Zeitpunkt des ersten aufgezeichneten GPS-Punkts

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

gpsEndTime

string (Timestamp format)

Zeitpunkt des letzten aufgezeichneten GPS-Punkts.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

videoStartTime

string (Timestamp format)

Startzeit des Videos.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

videoEndTime

string (Timestamp format)

Endzeit des Videos.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

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