- HTTP リクエスト
- クエリ パラメータ
- リクエストの本文
- レスポンスの本文
- 認可スコープ
- PhotoSequence
- GpsSource
- Imu
- Measurement3d
- ProcessingState
- ProcessingFailureReason
- ProcessingFailureDetails
- InsufficientGpsFailureDetails
- GpsDataGapFailureDetails
- ImuDataGapFailureDetails
- NotOutdoorsFailureDetails
- NoOverlapGpsFailureDetails
- LatLngBounds
- InputType
- 試してみる
クライアントが返された UploadRef を使用して PhotoSequence のアップロードを完了すると、photoSequence.create は動画または拡張デバイス メタデータ(XDM、http://www.xdm.org/)から 360 度写真のシーケンスを抽出し、Google マップのストリートビューに公開します。
photoSequence.create は Operation を返します。この Operation の Operation.name フィールドには PhotoSequence Id が設定されています。
このメソッドは、次のエラーコードを返します。
- リクエストの形式が正しくない場合は
google.rpc.Code.INVALID_ARGUMENT。 - アップロード参照が存在しない場合は
google.rpc.Code.NOT_FOUND。
HTTP リクエスト
POST https://streetviewpublish.googleapis.com/v1/photoSequence
この URL は gRPC Transcoding 構文を使用します。
クエリ パラメータ
| パラメータ | |
|---|---|
inputType |
必須。 |
リクエストの本文
リクエストの本文には PhotoSequence のインスタンスが含まれます。
レスポンスの本文
成功した場合、レスポンスの本文には、新しく作成された Operation のインスタンスが含まれます。
認可スコープ
次の OAuth スコープが必要です。
https://www.googleapis.com/auth/streetviewpublish
詳細については、OAuth 2.0 Overview をご覧ください。
PhotoSequence
メタデータを含む一連の 360° 写真。
| JSON 表現 |
|---|
{ "id": string, "photos": [ { object ( |
| フィールド | |
|---|---|
id |
出力専用。フォト シーケンスの一意の識別子。アップロードが非同期で実行される場合、これは長時間実行オペレーション ID としても機能します。 |
photos[] |
出力専用。タイムスタンプが増加している写真。 |
uploadReference |
入力専用。フォト シーケンスを作成する際に必要です。写真シーケンス(動画形式)のバイトがアップロードされるリソース名。 |
captureTimeOverride |
省略可。写真シーケンスのキャプチャが開始される絶対時刻。写真シーケンスが動画の場合、これは動画の開始時間です。このフィールドが入力で指定されている場合、動画または XDM ファイルのキャプチャ時間がオーバーライドされます。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
uploadTime |
出力専用。このフォト シーケンスが uSV Store サービスで作成された時刻。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
rawGpsTimeline[] |
入力専用。各写真と時刻が同期されていない、タイムスタンプが増加するデバイスからの GPS 生データ。これらの生の測定値は、各フレームのポーズを推測するために使用されます。InputType が VIDEO で、未加工の GPS 測定値が Camera Motion Metadata Track(CAMM)にない場合、入力で必須です。ユーザーは、rawGpsTimeline と Camera Motion Metadata Track(CAMM)の両方で未加工の GPS 測定値が提供されている場合、gpsSource を使用してどちらを優先するかを指定できます。 |
gpsSource |
入力専用。rawGpsTimeline とカメラ モーション メタデータ トラック(CAMM)の両方に GPS 測定値が含まれている場合は、どちらが優先されるかを示します。 |
imu |
入力専用。収集用の 3 軸 IMU データ。このデータがリクエストに含めるには大きすぎる場合は、動画の CAMM トラックに含める必要があります。このデータは、同等の CAMM データが存在する場合、常にそのデータよりも優先されます。 |
processingState |
出力専用。このシーケンスの処理ステータス。 |
failureReason |
出力専用。このシーケンスの processingState が FAILED の場合、失敗した理由が含まれます。processingState が他の値の場合、このフィールドは設定されません。 |
failureDetails |
出力専用。このシーケンスで |
distanceMeters |
出力専用。写真シーケンスの計算された距離(メートル単位)。 |
sequenceBounds |
出力専用。この写真シーケンス内のすべての画像を囲む長方形のボックス。 |
viewCount |
出力専用。この PhotoSequence 内の公開済み画像の合計閲覧数。 |
filename |
出力専用。アップロードのファイル名。ディレクトリ パスは含まれません。ファイル名を提供するプラットフォームでシーケンスがアップロードされた場合にのみ使用できます。 |
GpsSource
GPS 測定の主なソース。
| 列挙型 | |
|---|---|
PHOTO_SEQUENCE |
GPS が存在する場合は、rawGpsTimeline の GPS が優先されます。 |
CAMERA_MOTION_METADATA_TRACK |
カメラ モーション メタデータ トラック(CAMM)の GPS が存在する場合は、それが優先されます。 |
Imu
デバイス センサーからの IMU データ。
| JSON 表現 |
|---|
{ "accelMpsps": [ { object ( |
| フィールド | |
|---|---|
accelMpsps[] |
デバイスからタイムスタンプが増加する順に取得された加速度計の測定値(メートル毎秒の 2 乗)。 |
gyroRps[] |
デバイスから取得したタイムスタンプが増加するジャイロスコープの測定値(ラジアン/秒)。 |
magUt[] |
デバイスからタイムスタンプが増加する磁場の強さをマイクロテスラ(uT)で測定した値。 |
Measurement3d
一般的な 3D 測定のサンプル。
| JSON 表現 |
|---|
{ "captureTime": string, "x": number, "y": number, "z": number } |
| フィールド | |
|---|---|
captureTime |
IMU 測定のタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
x |
x 軸のセンサー測定値。 |
y |
センサーの測定値(y 軸)。 |
z |
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、または時間)が欠落している、形式が正しくない、システムで解析できないなどの問題が考えられます。 |
INSUFFICIENT_IMU |
IMU ポイントが少なすぎます。 |
INSUFFICIENT_OVERLAP_TIME_SERIES |
GPS、IMU、その他の時系列データの時間枠の重複が不十分です。 |
IMU_DATA_GAP |
IMU(加速度計、ジャイロスコープなど)のデータに 0.1 秒を超える時間差が含まれています。 |
UNSUPPORTED_CAMERA |
カメラはサポートされていません。 |
NOT_OUTDOORS |
一部のフレームが屋内であったため、サポートされていません。 |
INSUFFICIENT_VIDEO_FRAMES |
動画フレームが不足しています。 |
INSUFFICIENT_MOVEMENT |
移動データが不足しています。 |
MAST_DOWN |
マストが下がっています。 |
CAMERA_COVERED |
カメラが覆われています。 |
ProcessingFailureDetails
ProcessingFailureReason 列挙型に付随する追加の詳細。このメッセージは常に ProcessingFailureReason と組み合わせて使用されることが想定されており、このメッセージで設定された oneof 値は FailureReason と一致する必要があります。
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド details。設定される詳細のセットは 1 つのみで、ProcessingFailureReason の対応する列挙型と一致する必要があります。details は次のいずれかになります。 |
|
insufficientGpsDetails |
InsufficientGpsFailureDetails をご覧ください。 |
gpsDataGapDetails |
GpsDataGapFailureDetails をご覧ください。 |
imuDataGapDetails |
ImuDataGapFailureDetails をご覧ください。 |
notOutdoorsDetails |
NotOutdoorsFailureDetails をご覧ください。 |
noOverlapGpsDetails |
NoOverlapGpsFailureDetails をご覧ください。 |
InsufficientGpsFailureDetails
ProcessingFailureReason#INSUFFICIENT_GPS に関連する詳細。
| JSON 表現 |
|---|
{ "gpsPointsFound": integer } |
| フィールド | |
|---|---|
gpsPointsFound |
動画内で検出された GPS ポイントの数。 |
GpsDataGapFailureDetails
ProcessingFailureReason#GPS_DATA_GAP に関連する詳細。GPS データのギャップが複数ある場合は、最も期間の長いギャップのみがここに報告されます。
| JSON 表現 |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| フィールド | |
|---|---|
gapDuration |
検出された GPS データのギャップの期間。
|
gapStartTime |
ギャップが開始した相対時間(動画ストリームの開始からの時間)。
|
ImuDataGapFailureDetails
ProcessingFailureReason#IMU_DATA_GAP に関連する詳細。IMU データのギャップが複数ある場合は、最も期間の長いギャップのみがここに報告されます。
| JSON 表現 |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| フィールド | |
|---|---|
gapDuration |
検出された IMU データのギャップの期間。
|
gapStartTime |
ギャップが開始した相対時間(動画ストリームの開始からの時間)。
|
NotOutdoorsFailureDetails
ProcessingFailureReason#NOT_OUTDOORS に関連する詳細。複数の屋内フレームが見つかった場合は、最初のフレームがここに記録されます。
| JSON 表現 |
|---|
{ "startTime": string } |
| フィールド | |
|---|---|
startTime |
屋内フレームが見つかった相対時間(動画ストリームの開始からの時間)。
|
NoOverlapGpsFailureDetails
PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS に関連する詳細。
| JSON 表現 |
|---|
{ "gpsStartTime": string, "gpsEndTime": string, "videoStartTime": string, "videoEndTime": string } |
| フィールド | |
|---|---|
gpsStartTime |
最初に記録された GPS ポイントの時刻。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
gpsEndTime |
最後に記録された GPS ポイントの時刻。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
videoStartTime |
動画の開始時間。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
videoEndTime |
動画の終了時間。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
LatLngBounds
地理座標の長方形。
| JSON 表現 |
|---|
{ "southwest": { object ( |
| フィールド | |
|---|---|
southwest |
この境界の南西隅。 |
northeast |
この境界の北東隅。 |
InputType
PhotoSequence の入力形式。
| 列挙型 | |
|---|---|
INPUT_TYPE_UNSPECIFIED |
指定なし。サーバーは google.rpc.Code.INVALID_ARGUMENT を返します。 |
VIDEO |
360°動画。 |
XDM |
Extensible Device Metadata、http://www.xdm.org |