Method: photoSequence.create

Nachdem der Client das Hochladen von PhotoSequence mit der zurückgegebenen UploadRef abgeschlossen hat, extrahiert photoSequence.create eine Folge von 360°-Fotos aus einem Video oder erweiterbaren Gerätemetadaten (Extensible Device Metadata, XDM, http://www.xdm.org/), um sie in Street View in Google Maps zu veröffentlichen.

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. Das Eingabeformat 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. Sie dient auch als ID für Vorgänge mit langer Ausführungszeit, wenn der Upload asynchron erfolgt.

photos[]

object (Photo)

Nur Ausgabe Fotos mit zunehmenden Zeitstempeln

uploadReference

object (UploadRef)

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

captureTimeOverride

string (Timestamp format)

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

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung 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 Nanosekundenauflösung 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 des Geräts, die nicht mit jedem Foto synchronisiert werden. Diese Rohabmessungen werden verwendet, um die Position der einzelnen Frames abzuleiten. Erforderlich bei der Eingabe, wenn als InputType VIDEO angegeben ist und die GPS-Rohdaten nicht im Camera Motion Metadata Track (CAMM) enthalten sind. Der Nutzer kann mithilfe von gpsSource angeben, was Vorrang hat, wenn GPS-Rohmessungen sowohl in rawGpsTimeline als auch in CAMM (Camera Motion Metadata Track) bereitgestellt werden.

gpsSource

enum (GpsSource)

Nur Eingabe. Wenn sowohl die rawGpsTimeline als auch der Kamerabewegungs-Metadatentrack (Camera Motion Metadata Track, CAMM) GPS-Messungen enthalten, geben Sie an, welche Priorität 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 für das Video aufgenommen 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 diese Sequenz „processingState“ = FAILED hat, enthält dies den Grund für den Fehler. Wenn der ProcessingState-Wert ein anderer Wert ist, wird dieses Feld nicht festgelegt.

failureDetails

object (ProcessingFailureDetails)

Nur Ausgabe Wenn für diese Sequenz failureReason festgelegt ist, kann dies zusätzliche Details zum Fehler enthalten.

distanceMeters

number

Nur Ausgabe Die berechnete Entfernung der Fotosequenz in Metern.

sequenceBounds

object (LatLngBounds)

Nur Ausgabe Ein rechteckiges Feld, in dem jedes Bild in dieser Fotosequenz eingekapselt ist.

viewCount

string (int64 format)

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

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 enthält.

GpsSource

Primäre Quelle von GPS-Messungen.

Enums
PHOTO_SEQUENCE GPS in rawGpsTimeline hat Vorrang, sofern vorhanden.
CAMERA_MOTION_METADATA_TRACK GPS im Kamera-Bewegungsmetadaten-Track (CAMM) hat Vorrang, sofern vorhanden.

Imu

Die IMU-Daten von den Gerätesensoren.

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

object (Measurement3d)

Die Messungen des Beschleunigungsmessers in Metern/s^2 mit zunehmenden Zeitstempeln von Geräten.

gyroRps[]

object (Measurement3d)

Die Messungen des Gyroskops in Radiant/s mit zunehmenden Zeitstempeln von Geräten.

magUt[]

object (Measurement3d)

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

Messung 3D

Ein allgemeines 3D-Messbeispiel.

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

string (Timestamp format)

Zeitstempel der IMU-Messung.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung 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 auf der z-Achse.

ProcessingState

Der Verarbeitungsstatus der Sequenz. Die Bundesstaaten verschieben sich wie folgt:

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

Die Sequenz kann aus jedem Status zu FAILED wechseln. 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 ist abgeschlossen, einschließlich der Verfeinerung der Position.
FAILED Die Sequenz konnte nicht verarbeitet werden. Weitere Informationen finden Sie unter „FailureReason“.

ProcessingFailureReason

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

Enums
PROCESSING_FAILURE_REASON_UNSPECIFIED Der Grund für den Fehler wurde nicht angegeben. Dies ist der Standardwert.
LOW_RESOLUTION Die Auflösung des Videoframes ist zu klein.
DUPLICATE Dieses Video wurde bereits hochgeladen.
INSUFFICIENT_GPS Zu wenige GPS-Punkte.
NO_OVERLAP_GPS Der Zeitrahmen des GPS-Tracks und der des Videos überschneiden sich nicht.
INVALID_GPS GPS ist ungültig (z.B. liegen alle GPS-Punkte bei (0,0))
FAILED_TO_REFINE_POSITIONS Die Reihenfolge der Fotos konnte nicht genau auf der Welt positioniert werden.
TAKEDOWN Die Sequenz wurde wegen Richtlinienverstößen 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 Ungültiges Bildseitenverhältnis gefunden.
INVALID_CAPTURE_TIME Ungültige Aufnahmezeit. Die Zeitstempel stammen aus der Zukunft.
GPS_DATA_GAP GPS-Daten enthalten eine Lücke von mehr als 5 Sekunden.
JUMPY_GPS Die GPS-Daten sind zu unregelmäßig, um verarbeitet zu werden.
INVALID_IMU IMU-Daten (Beschleunigungsmesser, Gyroskop usw.) sind ungültig. Möglicherweise fehlen Pflichtfelder (x, y, z oder Zeit), sie sind nicht richtig formatiert oder es liegt ein anderes Problem vor, das unsere Systeme daran hindert, sie zu parsen.
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 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 Es sind nicht genügend Videoframes vorhanden.
INSUFFICIENT_MOVEMENT Nicht genügend Daten zum Verschieben vorhanden.

ProcessingFailureDetails

Zusätzliche Details für die Aufzählung „ProcessingFailureReason“. Diese Nachricht wird immer in Verbindung mit ProcessingFailureReason verwendet und der Wert oneof, der in dieser Nachricht festgelegt ist, 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 Satz von Details festgelegt, der mit der entsprechenden Aufzählung in ProcessingFailureReason übereinstimmen muss. Für details ist nur einer der folgenden Werte zulässig:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Siehe AccelerateGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Siehe GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Siehe ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Siehe NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Siehe „NoOverlapGpsFailureDetails“.

InsufficientGpsFailureDetails

Details zum ProcessingFailureReason#INSUFFICIENT_GPS.

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

integer

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

GpsDataGapFailureDetails

Details zum ProcessingFailureReason#GPS_DATA_GAP. Wenn es mehrere GPS-Datenlücken 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 gefundenen Lücke in den GPS-Daten.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. Beispiel: "3.5s".

gapStartTime

string (Duration format)

Der relative Zeitraum (ab Beginn des Videostreams), zu dem die Lücke begann.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. Beispiel: "3.5s".

ImuDataGapFailureDetails

Details zum ProcessingFailureReason#IMU_DATA_GAP Bei mehreren IMU-Datenlücken wird hier nur die mit der längsten Dauer erfasst.

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

string (Duration format)

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

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. Beispiel: "3.5s".

gapStartTime

string (Duration format)

Der relative Zeitraum (ab Beginn des Videostreams), zu dem die Lücke begann.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. Beispiel: "3.5s".

NotOutdoorsFailureDetails

Details zum ProcessingFailureReason#NOT_OUTDOORS Werden mehrere Frames für den Innenbereich gefunden, wird hier der erste Frame erfasst.

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

string (Duration format)

Relativer Zeitraum (ab Beginn des Videostreams), zu dem ein Indoor-Frame gefunden wurde.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. 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 Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

gpsEndTime

string (Timestamp format)

Zeitpunkt des zuletzt aufgezeichneten GPS-Punkts

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

videoStartTime

string (Timestamp format)

Beginn des Videos.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung 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 Nanosekundenauflösung 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 Erweiterbare Gerätemetadaten, http://www.xdm.org