- HTTP 要求
- 查詢參數
- 要求主體
- 回應主體
- 授權範圍
- PhotoSequence
- GpsSource
- Imu
- 成效評估 3 天
- 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.name 欄位中的 PhotoSequence ID 已設定。
這個方法會傳回下列錯誤代碼:
- 如果要求格式錯誤,則為 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 總覽。
PhotoSequence
一系列的 360 相片與中繼資料。
| JSON 表示法 | 
|---|
| { "id": string, "photos": [ { object ( | 
| 欄位 | |
|---|---|
| id | 
 僅供輸出。相片序列的專屬 ID。如果是以非同步方式進行上傳,這也會做為長時間執行的作業 ID。 | 
| photos[] | 
 僅供輸出。時間戳記會增加的相片。 | 
| uploadReference | 
 僅限輸入。建立相片序列時必填。系統會上傳相片序列位元組 (影片形式) 的資源名稱。 | 
| captureTimeOverride | 
 選用設定。開始拍攝相片序列的絕對時間。如果相片序列為影片,則為影片開始時間。如已填入這個欄位,則會覆寫影片或 XDM 檔案的擷取時間。 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: | 
| uploadTime | 
 僅供輸出。此相片序列在 uSV Store 服務中建立的時間。 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: | 
| rawGpsTimeline[] | 
 僅限輸入。原始 GPS 測量結果來自裝置中的時間戳記增加,但不會與每張相片同步。這些原始測量結果將用來推斷每個影格的姿勢。如果 InputType 為 VIDEO,且原始 GPS 測量結果並非相機動作中繼資料追蹤 (CAMM),請輸入此屬性。如果 rawGpsTimeline 與 Camera Motion Metadata Track (CAMM) 同時提供原始 GPS 測量資料,使用者可以使用 gpsSource 指出優先採用的信號。 | 
| gpsSource | 
 僅限輸入。如果 rawGpsTimeline 和相機動作中繼資料追蹤 (CAMM) 都含有 GPS 測量資料,請指明何者的優先順序最高。 | 
| imu | 
 僅限輸入。集合的三軸 IMU 資料。如果資料量過大,無法加入要求,請將這些資料置於影片的 CAMM 音軌中。這類資料的優先順序一律高於對等的 CAMM 資料 (如有)。 | 
| processingState | 
 僅供輸出。這個序列的處理狀態。 | 
| failureReason | 
 僅供輸出。如果這個序列的 processingState = FAILED,將會包含失敗的原因。如果處理狀態是任何其他值,就不會設定這個欄位。 | 
| failureDetails | 
 僅供輸出。如果此序列設定了  | 
| distanceMeters | 
 僅供輸出。相片序列的計算距離 (以公尺為單位)。 | 
| sequenceBounds | 
 僅供輸出。矩形方塊會封裝此相片序列中的每張圖像。 | 
| viewCount | 
 僅供輸出。此 PhotoSequence 中所有已發布的圖片所獲得的總瀏覽次數。 | 
| filename | 
 僅供輸出。上傳內容的檔案名稱。不含目錄路徑。只有在序列上傳至提供檔案名稱的平台時,才能使用此屬性。 | 
GpsSource
GPS 測量的主要來源。
| 列舉 | |
|---|---|
| PHOTO_SEQUENCE | 如果 GPS 存在,則優先採用 rawGpsTimeline。 | 
| CAMERA_MOTION_METADATA_TRACK | 系統會優先採用相機動作中繼資料追蹤 (CAMM) 中的 GPS (如果有的話)。 | 
Imu
裝置感應器提供的 IMU 資料。
| JSON 表示法 | 
|---|
| { "accelMpsps": [ { object ( | 
| 欄位 | |
|---|---|
| accelMpsps[] | 
 加速計測量單位為公尺/秒^2,時間戳記會逐漸增加。 | 
| gyroRps[] | 
 陀螺儀測量結果 (以弧度/秒為單位) 會增加來自裝置的時間戳記。 | 
| magUt[] | 
 磁場的磁力儀測量以微特斯拉 (uT) 為單位,時間戳記會逐漸增加。 | 
成效評估 3d
一般 3D 測量樣本。
| JSON 表示法 | 
|---|
| { "captureTime": string, "x": number, "y": number, "z": number } | 
| 欄位 | |
|---|---|
| captureTime | 
 IMU 測量結果的時間戳記。 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: | 
| 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 | 移動資料不足。 | 
ProcessingFailureDetails
與 ProcessingFailureReason 列舉一起的其他詳細資料。這則訊息一律應搭配 ProcessingFailureReason 使用,而這個訊息中設定的其中一個值應該與 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 資料之間出現落差,系統只會顯示持續時間最長的 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 點的時間。 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: | 
| gpsEndTime | 
 上次記錄 GPS 點的時間。 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: | 
| videoStartTime | 
 影片的開始時間。 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: | 
| videoEndTime | 
 影片的結束時間。 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: | 
LatLngBounds
地理座標中的矩形。
| JSON 表示法 | 
|---|
| { "southwest": { object ( | 
| 欄位 | |
|---|---|
| southwest | 
 這些邊界的西南角。 | 
| northeast | 
 這些邊界的東北角。 | 
InputType
PhotoSequence 的輸入表單。
| 列舉 | |
|---|---|
| INPUT_TYPE_UNSPECIFIED | 不指定。伺服器會傳回 google.rpc.Code.INVALID_ARGUMENT。 | 
| VIDEO | 360 度影片。 | 
| XDM | 可擴充裝置中繼資料 (http://www.xdm.org) | 
