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 測定値が Camera Motion Metadata Track(CAMM)にない場合の入力に必須。rawGpsTimeline と Camera Motion Metadata Track(CAMM)の両方で未加工の GPS 測定値が提供された場合、ユーザーは 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 の場合、失敗した理由が含まれます。ProcessingState がその他の値の場合、このフィールドは設定されません。

failureDetails

object (ProcessingFailureDetails)

出力のみ。このシーケンスに failureReason が設定されている場合、失敗に関する追加情報が含まれている可能性があります。

distanceMeters

number

出力のみ。写真シーケンスの計算された距離(メートル単位)。

sequenceBounds

object (LatLngBounds)

出力のみ。この写真シーケンスのすべての画像をカプセル化する長方形のボックス。

viewCount

string (int64 format)

出力のみ。この PhotoSequence 内の公開済みのすべての画像の合計視聴回数。

filename

string

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

GpsSource

GPS 測定値の主なソースです。

列挙型
PHOTO_SEQUENCE rawGpsTimeline に GPS がある場合は、そちらが優先されます。
CAMERA_MOTION_METADATA_TRACK Camera Motion Metadata Track(CAMM)の GPS が存在する場合は、そちらが優先されます。

イミュー

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

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

object (Measurement3d)

加速度計の測定値(メートル/秒^2 単位)。デバイスのタイムスタンプが増加しています。

gyroRps[]

object (Measurement3d)

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

magUt[]

object (Measurement3d)

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

Measurement3d

一般的な 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、time)が不足している、形式が正しくないなど、システムで解析を妨げるその他の問題がある可能性があります。
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 拡張可能なデバイス メタデータ(http://www.xdm.org