Method: photoSequence.create

用戶端完成傳回 UploadRefPhotoSequence 後,photoSequence.create 會從影片或可擴充的裝置中繼資料 (XDM,http://www.xdm.org/) 擷取一系列 360 度相片,並發布至 Google 地圖。

photoSequence.create 會傳回 Operation,且 Operation.name 欄位已設定 PhotoSequence ID。

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

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 總覽

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 檔案中的拍攝時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

uploadTime

string (Timestamp format)

僅供輸出。此相片序列在 uSV Store 服務中建立的時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

rawGpsTimeline[]

object (Pose)

僅限輸入。原始 GPS 測量結果的時間戳記增加,但裝置不是與每張相片同步的時間增加。這些原始測量結果將用來推測每個影格的姿勢。如果 InputType 為「VIDEO」,且原始 GPS 測量結果不在相機動態中繼資料追蹤 (CAMM) 中,就必須輸入。如果 rawGpsTimeline 與相機動作中繼資料追蹤 (CAMM) 皆提供原始 GPS 測量結果,使用者可利用 gpsSource 指出哪個優先權。

gpsSource

enum (GpsSource)

僅限輸入。如果 rawGpsTimeline 和相機動作中繼資料追蹤 (CAMM) 皆包含 GPS 測量資料,請指明優先順序。

imu

object (Imu)

僅限輸入。收集的三軸 IMU 資料。如果這項資料過大,無法包含在要求中,則應加入影片的 CAMM 追蹤中。如有資料,系統一律會優先採用這些資料,而非對等的 CAMM 資料。

processingState

enum (ProcessingState)

僅供輸出。此序列的處理狀態。

failureReason

enum (ProcessingFailureReason)

僅供輸出。如果這個序列的 processState = FAILED,將一併說明失敗的原因。如果 processState 是任何其他值,就不會設定這個欄位。

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 資料。

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

object (Measurement3d)

加速計的測量單位為公尺/秒^2,隨著裝置的時間戳記增加。

gyroRps[]

object (Measurement3d)

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

magUt[]

object (Measurement3d)

磁場的磁場測量單位為微特斯拉 (uT),同時提高裝置的時間戳記。

評估 3 天

一般 3D 測量範例。

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

string (Timestamp format)

IMU 測量的時間戳記。

RFC3339 世界標準時間「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<---------+
              +------+

序列可能會從任何狀態移至「失敗」。此外,我們也可能隨時重新處理處理過的序列。

列舉
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 搭配使用,而這則訊息中設定的其中一個值應符合 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)

請參閱 InufficientGpsFailureDetails。

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 資料落差,這裡只會顯示持續時間最長的 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 點的時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

gpsEndTime

string (Timestamp format)

上次記錄 GPS 點的時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

videoStartTime

string (Timestamp format)

影片開始時間。

RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

videoEndTime

string (Timestamp format)

影片結束時間。

RFC3339 世界標準時間「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)