- 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,且 PhotoSequence Id 會在 Operation.name 欄位中設定。
這個方法會傳回下列錯誤代碼:
google.rpc.Code.INVALID_ARGUMENT:要求格式有誤。google.rpc.Code.NOT_FOUND(如果上傳參照不存在)。
HTTP 要求
POST https://streetviewpublish.googleapis.com/v1/photoSequence
這個網址使用 gRPC 轉碼語法。
查詢參數
| 參數 | |
|---|---|
inputType |
必填。 |
要求主體
要求主體包含 PhotoSequence 的例項。
回應主體
如果成功,回應主體會包含新建立的 Operation 例項。
授權範圍
需要下列 OAuth 範圍:
https://www.googleapis.com/auth/streetviewpublish
詳情請參閱OAuth 2.0 Overview。
PhotoSequence
一系列 360 度相片和中繼資料。
| JSON 表示法 |
|---|
{ "id": string, "photos": [ { object ( |
| 欄位 | |
|---|---|
id |
僅供輸出。相片序列的專屬 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) 中,則為必要輸入。如果原始 GPS 測量資料同時提供於 rawGpsTimeline 和 Camera Motion Metadata Track (CAMM),使用者可以使用 gpsSource 指出優先順序。 |
gpsSource |
僅供輸入。如果 rawGpsTimeline 和攝影機動作中繼資料軌 (CAMM) 都包含 GPS 測量值,請指出哪一個優先。 |
imu |
僅供輸入。收集三軸 IMU 資料。如果這項資料太大,無法放入要求中,則應放入影片的 CAMM 軌。如果存在,這項資料的優先順序一律高於對應的 CAMM 資料。 |
processingState |
僅供輸出。這個序列的處理狀態。 |
failureReason |
僅供輸出。如果這個序列的 processingState = FAILED,這個欄位會包含失敗原因。如果 processingState 是任何其他值,這個欄位將不會設定。 |
failureDetails |
僅供輸出。如果這個序列已設定 |
distanceMeters |
僅供輸出。計算出的相片序列距離 (以公尺為單位)。 |
sequenceBounds |
僅供輸出。矩形方塊,內含這組相片中的每張圖片。 |
viewCount |
僅供輸出。PhotoSequence 中所有已發布圖片的總觀看次數。 |
filename |
僅供輸出。上傳檔案的名稱。不含目錄路徑。只有在提供檔案名稱的平台上傳序列時,才會顯示檔案名稱。 |
GpsSource
GPS 測量資料的主要來源。
| 列舉 | |
|---|---|
PHOTO_SEQUENCE |
如果 rawGpsTimeline 中有 GPS,系統會優先採用。 |
CAMERA_MOTION_METADATA_TRACK |
如果攝影機動作中繼資料軌 (CAMM) 含有 GPS 資訊,系統會優先採用。 |
Imu
裝置感應器的 IMU 資料。
| JSON 表示法 |
|---|
{ "accelMpsps": [ { object ( |
| 欄位 | |
|---|---|
accelMpsps[] |
加速計測量值 (以公尺/秒^2 為單位),時間戳記會隨裝置增加。 |
gyroRps[] |
裝置的陀螺儀測量值 (以弧度/秒為單位),時間戳記會遞增。 |
magUt[] |
裝置測量磁場強度 (單位為微特士拉,μT),並隨著時間戳記遞增。 |
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<---------+
+------+
序列可能會從任何狀態移至「失敗」。此外,系統隨時可以重新處理已處理的序列。
| 列舉 | |
|---|---|
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。系統只會設定一組詳細資料,且必須與 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 資料缺漏的時間長度。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
gapStartTime |
間斷開始的相對時間 (從影片串流開始算起)。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
ImuDataGapFailureDetails
與 ProcessingFailureReason#IMU_DATA_GAP 相關的詳細資料。如果有多個 IMU 資料缺口,這裡只會回報持續時間最長的缺口。
| JSON 表示法 |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| 欄位 | |
|---|---|
gapDuration |
系統偵測到的 IMU 資料缺漏時間長度。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
gapStartTime |
間斷開始的相對時間 (從影片串流開始算起)。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
NotOutdoorsFailureDetails
與 ProcessingFailureReason#NOT_OUTDOORS 相關的詳細資料。如果找到多個室內影格,系統會在此記錄第一個影格。
| JSON 表示法 |
|---|
{ "startTime": string } |
| 欄位 | |
|---|---|
startTime |
找到室內畫面時的相對時間 (從影片串流開始算起)。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
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 |
可擴充裝置中繼資料,http://www.xdm.org |