Method: photoSequence.create

用戶使用傳回的 UploadRef 上傳 PhotoSequence 後,photoSequence.create 會從影片或可延伸裝置中繼資料 (XDM,http://www.xdm.org/) 擷取一系列 360 度相片,並發布到 Google 地圖的街景服務。

photoSequence.create 會傳回 Operation,且 PhotoSequence Id 會在 Operation.name 欄位中設定。

這個方法會傳回下列錯誤代碼:

HTTP 要求

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

這個網址使用 gRPC 轉碼語法。

查詢參數

參數
inputType

enum (InputType)

必填。PhotoSequence 的輸入表單。

要求主體

要求主體包含 PhotoSequence 的例項。

回應主體

如果成功,回應主體會包含新建立的 Operation 例項。

授權範圍

需要下列 OAuth 範圍:

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

詳情請參閱OAuth 2.0 Overview

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。如果以非同步方式上傳,這也會做為長時間執行的作業 ID。

photos[]

object (Photo)

僅供輸出。時間戳記遞增的相片。

uploadReference

object (UploadRef)

僅供輸入。建立相片序列時為必填欄位。上傳相片序列位元組 (以影片形式) 的資源名稱。

captureTimeOverride

string (Timestamp format)

(選用步驟) 相片序列開始拍攝的絕對時間。如果相片序列是影片,這就是影片的開始時間。如果輸入內容中填入這個欄位,系統會覆寫影片或 XDM 檔案中的擷取時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

uploadTime

string (Timestamp format)

僅供輸出。這組相片在 uSV Store 服務中建立的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

rawGpsTimeline[]

object (Pose)

僅供輸入。裝置提供的原始 GPS 測量結果,時間戳記會遞增,但與每張相片的時間戳記不同步。這些原始測量結果會用於推斷每個影格的姿勢。如果 InputType 為 VIDEO,且原始 GPS 測量結果不在 Camera Motion Metadata Track (CAMM) 中,則為必要輸入。如果原始 GPS 測量資料同時提供於 rawGpsTimeline 和 Camera Motion Metadata Track (CAMM),使用者可以使用 gpsSource 指出優先順序。

gpsSource

enum (GpsSource)

僅供輸入。如果 rawGpsTimeline 和攝影機動作中繼資料軌 (CAMM) 都包含 GPS 測量值,請指出哪一個優先。

imu

object (Imu)

僅供輸入。收集三軸 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 如果攝影機動作中繼資料軌 (CAMM) 含有 GPS 資訊,系統會優先採用。

Imu

裝置感應器的 IMU 資料。

JSON 表示法
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
欄位
accelMpsps[]

object (Measurement3d)

加速計測量值 (以公尺/秒^2 為單位),時間戳記會隨裝置增加。

gyroRps[]

object (Measurement3d)

裝置的陀螺儀測量值 (以弧度/秒為單位),時間戳記會遞增。

magUt[]

object (Measurement3d)

裝置測量磁場強度 (單位為微特士拉,μT),並隨著時間戳記遞增。

Measurement3d

一般 3D 測量樣本。

JSON 表示法
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
欄位
captureTime

string (Timestamp format)

IMU 測量時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

x

number

感應器在 X 軸上的測量值。

y

number

感應器在 Y 軸上的測量值。

z

number

感應器在 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 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。系統只會設定一組詳細資料,且必須與 ProcessingFailureReason 中的對應列舉相符。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 資料缺漏的時間長度。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

gapStartTime

string (Duration format)

間斷開始的相對時間 (從影片串流開始算起)。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

ImuDataGapFailureDetails

與 ProcessingFailureReason#IMU_DATA_GAP 相關的詳細資料。如果有多個 IMU 資料缺口,這裡只會回報持續時間最長的缺口。

JSON 表示法
{
  "gapDuration": string,
  "gapStartTime": string
}
欄位
gapDuration

string (Duration format)

系統偵測到的 IMU 資料缺漏時間長度。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

gapStartTime

string (Duration format)

間斷開始的相對時間 (從影片串流開始算起)。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

NotOutdoorsFailureDetails

與 ProcessingFailureReason#NOT_OUTDOORS 相關的詳細資料。如果找到多個室內影格,系統會在此記錄第一個影格。

JSON 表示法
{
  "startTime": string
}
欄位
startTime

string (Duration format)

找到室內畫面時的相對時間 (從影片串流開始算起)。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

NoOverlapGpsFailureDetails

與 PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS 相關的詳細資料。

JSON 表示法
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
欄位
gpsStartTime

string (Timestamp format)

首次記錄 GPS 點的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

gpsEndTime

string (Timestamp format)

上次記錄 GPS 點的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

videoStartTime

string (Timestamp format)

影片的開始時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

videoEndTime

string (Timestamp format)

影片的結束時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

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