Method: photoSequence.create

クライアントが返された UploadRef を含む PhotoSequence のアップロードを完了すると、photoSequence.create は動画または拡張デバイス メタデータ(XDM、http://www.xdm.org/)から一連の 360° 写真を抽出して、Google マップのストリートビューに公開します。

photoSequence.create は、Operation.name フィールドに PhotoSequence ID を設定して Operation を返します。

このメソッドは以下のエラーコードを返します。

HTTP リクエスト

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

この URL は gRPC Transcoding 構文を使用します。

クエリ パラメータ

パラメータ
inputType

enum (InputType)

必須。PhotoSequence の入力形式。

リクエスト本文

リクエストの本文には PhotoSequence のインスタンスが含まれます。

レスポンスの本文

成功した場合、レスポンスの本文には、新しく作成された Operation のインスタンスが含まれます。

認可スコープ

次の OAuth スコープが必要です。

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

詳しくは、OAuth 2.0 の概要をご覧ください。

PhotoSequence

一連の 360° 写真とメタデータ。

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
}
フィールド
id

string

出力専用。フォト シーケンスの一意の識別子。アップロードが非同期で行われる場合、これは長時間実行オペレーション ID としても機能します。

photos[]

object (Photo)

出力専用。タイムスタンプが増加している写真。

uploadReference

object (UploadRef)

入力のみのフォト シーケンスを作成する場合は必須です。フォト シーケンスのバイト(動画形式)がアップロードされるリソース名。

captureTimeOverride

string (Timestamp format)

省略可。フォト シーケンスのキャプチャを開始する絶対時間。写真シーケンスが動画の場合、これは動画の開始時間です。このフィールドが入力に入力されている場合、動画ファイルまたは XDM ファイルのキャプチャ時間がオーバーライドされます。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

uploadTime

string (Timestamp format)

出力専用。この写真シーケンスが uSV ストア サービスで作成された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

rawGpsTimeline[]

object (Pose)

入力のみの各写真と時刻が同期されていない、デバイスからのタイムスタンプが増加している未加工の GPS 測定値。これらの未加工の測定値を使用して、各フレームのポーズを推測します。InputType が VIDEO で、未加工の GPS 測定値がカメラ モーション メタデータ トラック(CAMM)にない場合、入力では必須です。未加工の GPS 測定値が rawGpsTimeline とカメラ モーション メタデータ トラック(CAMM)の両方で提供されている場合、ユーザーは gpsSource を使用してどちらを優先するかを指定できます。

gpsSource

enum (GpsSource)

入力のみのrawGpsTimeline と Camera Motion Metadata Track(CAMM)の両方に GPS 測定値が含まれている場合は、どちらが優先されるかを示します。

imu

object (Imu)

入力のみのコレクションの 3 軸 IMU データ。このデータが大きすぎてリクエストに入力できない場合は、動画の CAMM トラックに配置する必要があります。このデータは、同等の CAMM データが存在する場合は、常にそれよりも優先されます。

processingState

enum (ProcessingState)

出力専用。このシーケンスの処理状態。

failureReason

enum (ProcessingFailureReason)

出力専用。このシーケンスの processingState = FAILED の場合は、失敗した理由が含まれます。processState がその他の値の場合、このフィールドは設定されません。

failureDetails

object (ProcessingFailureDetails)

出力専用。このシーケンスに failureReason が設定されている場合、失敗に関する追加の詳細が含まれることがあります。

distanceMeters

number

出力専用。フォト シーケンスの計算済み距離(メートル単位)。

sequenceBounds

object (LatLngBounds)

出力専用。このフォト シーケンスのすべての画像をカプセル化する長方形のボックス。

viewCount

string (int64 format)

出力専用。この PhotoSequence 内の公開されたすべての画像が獲得した視聴回数の合計。

filename

string

出力専用。アップロードのファイル名。ディレクトリ パスは含まれません。ファイル名を提供するプラットフォームでシーケンスがアップロードされた場合にのみ使用できます。

GpsSource

GPS 測定値の主たる情報源。

列挙型
PHOTO_SEQUENCE rawGpsTimeline の GPS が存在する場合は、その GPS が優先されます。
CAMERA_MOTION_METADATA_TRACK カメラのモーション メタデータ トラック(CAMM)に GPS が存在する場合は、その GPS が優先されます。

Imu

デバイス センサーからの IMU データ。

JSON 表現
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
フィールド
accelMpsps[]

object (Measurement3d)

加速度計の測定値はメートル/秒^2 で、デバイスからのタイムスタンプが増加しています。

gyroRps[]

object (Measurement3d)

ジャイロスコープの測定値(ラジアン/秒)。デバイスからのタイムスタンプが増加しています。

magUt[]

object (Measurement3d)

デバイスからのタイムスタンプが増加しているマイクロテスラ(uT)単位の磁場の磁力計測定値。

3D 測定

一般的な 3D 測定サンプル。

JSON 表現
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
フィールド
captureTime

string (Timestamp format)

IMU 測定のタイムスタンプ。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

x

number

X 軸のセンサー測定値。

y

number

Y 軸のセンサー測定値。

z

number

Z 軸のセンサー測定値。

ProcessingState

シーケンスの処理状態。状態は次のように変化します。

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

このシーケンスは、どの状態からでも FAILED に移行する可能性があります。また、処理されたシーケンスはいつでも再処理できます。

列挙型
PROCESSING_STATE_UNSPECIFIED 状態は指定されていません。これがデフォルト値です。
PENDING シーケンスの処理はまだ開始されていません。
PROCESSING シーケンスは現在処理中です。
PROCESSED シーケンスの位置の絞り込みを含む処理が終了しました。
FAILED シーケンスの処理に失敗しました。詳しくは、FailureReason をご覧ください。

ProcessingFailureReason

この PhotoSequence の処理に失敗した理由として考えられること。

列挙型
PROCESSING_FAILURE_REASON_UNSPECIFIED 失敗の理由が指定されていません。これはデフォルト値です。
LOW_RESOLUTION 動画フレームの解像度が小さすぎます。
DUPLICATE この動画は以前にアップロードされました。
INSUFFICIENT_GPS GPS 地点が少なすぎます。
NO_OVERLAP_GPS GPS トラックの時間間隔と動画の時間間隔が重なっていません。
INVALID_GPS GPS が無効である(例: すべての GPS ポイントが (0,0) にある)
FAILED_TO_REFINE_POSITIONS 一連の写真の位置を正確に特定できませんでした。
TAKEDOWN このシーケンスはポリシー上の理由により削除されました。
CORRUPT_VIDEO 動画ファイルが破損しているか、デコードできませんでした。
INTERNAL 基盤となるシステムで永続的な障害が発生した。
INVALID_VIDEO_FORMAT 動画形式が無効であるかサポートされていません。
INVALID_VIDEO_DIMENSIONS 無効な画像のアスペクト比が見つかりました。
INVALID_CAPTURE_TIME キャプチャ時間が無効です。タイムスタンプが未来からのタイムスタンプでした。
GPS_DATA_GAP GPS データに 5 秒を超える間隔が含まれています。
JUMPY_GPS GPS データが不安定で処理できません。
INVALID_IMU IMU(加速度計、ジャイロスコープなど)データが無効です。必須フィールド(x、y、z、または時間)が不足しているか、形式が正しくないなど、Google のシステムがデータを解析できない原因となっている可能性があります。
INSUFFICIENT_IMU IMU ポイントが少なすぎます。
INSUFFICIENT_OVERLAP_TIME_SERIES GPS、IMU、その他の時系列データのタイムフレームの重複が不十分です。
IMU_DATA_GAP IMU(加速度計、ジャイロスコープなど)データには、0.1 秒を超えるギャップがあります。
UNSUPPORTED_CAMERA カメラはサポートされていません。
NOT_OUTDOORS 一部のフレームが屋内で撮影されたため、サポートされていません。
INSUFFICIENT_VIDEO_FRAMES 動画フレームが不足しています。
INSUFFICIENT_MOVEMENT 移動データが不足しています。

ProcessingFailureDetails

ProcessingFailureReason 列挙型に付随する追加の詳細です。このメッセージは常に ProcessingFailureReason と組み合わせて使用されることが想定されており、このメッセージに設定されている oneof は FailureReason と一致する必要があります。

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.
}
フィールド
共用体フィールド details。詳細のセットは 1 つのみ設定され、ProcessFailureReason の対応する列挙型と一致する必要があります。details は次のいずれかになります。
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

InsufficientGpsFailureDetails をご覧ください。

gpsDataGapDetails

object (GpsDataGapFailureDetails)

GpsDataGapFailureDetails をご覧ください。

imuDataGapDetails

object (ImuDataGapFailureDetails)

ImuDataGapFailureDetails をご覧ください。

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

NotOutdoorsFailureDetails をご覧ください。

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

NoOverlapGpsFailureDetails をご覧ください。

InsufficientGpsFailureDetails

ProcessingFailureReason#INSUFFICIENT_GPS に関する詳細。

JSON 表現
{
  "gpsPointsFound": integer
}
フィールド
gpsPointsFound

integer

動画内で検出された GPS ポイントの数。

GpsDataGapFailureDetails

ProcessingFailureReason#GPS_DATA_GAP に関する詳細。GPS データの欠落が複数ある場合は、時間が最も長いもののみがここにレポートされます。

JSON 表現
{
  "gapDuration": string,
  "gapStartTime": string
}
フィールド
gapDuration

string (Duration format)

検出された GPS データの時間間隔。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

gapStartTime

string (Duration format)

ギャップが始まった時点(動画ストリームの先頭からの相対時間)です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

ImuDataGapFailureDetails

ProcessingFailureReason#IMU_DATA_GAP に関する詳細。IMU データの欠落が複数ある場合は、期間が最も長いもののみがここに表示されます。

JSON 表現
{
  "gapDuration": string,
  "gapStartTime": string
}
フィールド
gapDuration

string (Duration format)

検出された IMU データの期間。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

gapStartTime

string (Duration format)

ギャップが始まった時点(動画ストリームの先頭からの相対時間)です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

NotOutdoorsFailureDetails

ProcessingFailureReason#NOT_OUTDOORS に関する詳細です。室内フレームが複数ある場合は、最初のフレームがここに記録されます。

JSON 表現
{
  "startTime": string
}
フィールド
startTime

string (Duration format)

屋内フレームが検出されたときの相対時間(動画ストリームの先頭からの経過時間)。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

NoOverlapGpsFailureDetails

PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS に関する詳細。

JSON 表現
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
フィールド
gpsStartTime

string (Timestamp format)

GPS 地点が最初に記録された時刻です。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

gpsEndTime

string (Timestamp format)

最後に記録された GPS 地点の時刻です。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

videoStartTime

string (Timestamp format)

動画の開始時間。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

videoEndTime

string (Timestamp format)

動画の終了時間。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

LatLngBounds

地理的座標の長方形。

JSON 表現
{
  "southwest": {
    object (LatLng)
  },
  "northeast": {
    object (LatLng)
  }
}
フィールド
southwest

object (LatLng)

これらの境界の南西の角。

northeast

object (LatLng)

これらの境界の北東の角。

InputType

PhotoSequence の入力形式。

列挙型
INPUT_TYPE_UNSPECIFIED 指定なし。サーバーは google.rpc.Code.INVALID_ARGUMENT を返します。
VIDEO 360° 動画。
XDM Extensible Device Metadata、http://www.xdm.org