Method: photoSequence.create

Sau khi ứng dụng tải xong PhotoSequence lên cùng với UploadRef được trả về, photoSequence.create sẽ trích xuất một chuỗi ảnh 360 độ từ một video hoặc Siêu dữ liệu thiết bị có thể mở rộng (XDM, http://www.xdm.org/) để xuất bản lên Chế độ xem đường phố trên Google Maps.

photoSequence.create trả về một Operation, với mã nhận dạng PhotoSequence được đặt trong trường Operation.name.

Phương thức này trả về các mã lỗi sau:

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số truy vấn

Các tham số
inputType

enum (InputType)

Bắt buộc. Dạng nhập của PhotoSequence.

Nội dung yêu cầu

Nội dung yêu cầu chứa một bản sao của PhotoSequence.

Nội dung phản hồi

Nếu thành công, nội dung phản hồi sẽ chứa một thực thể mới được tạo của Operation.

Phạm vi uỷ quyền

Yêu cầu phạm vi OAuth sau:

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

Để biết thêm thông tin, hãy xem Tổng quan về OAuth 2.0.

PhotoSequence

Một chuỗi ảnh 360 độ cùng với siêu dữ liệu.

Biểu diễn dưới dạng 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
}
Các trường
id

string

Chỉ có đầu ra. Giá trị nhận dạng duy nhất của chuỗi ảnh. Mã này cũng đóng vai trò là mã hoạt động chạy trong thời gian dài nếu quá trình tải lên được thực hiện không đồng bộ.

photos[]

object (Photo)

Chỉ có đầu ra. Ảnh với dấu thời gian tăng dần.

uploadReference

object (UploadRef)

Chỉ nhập. Bắt buộc khi tạo chuỗi ảnh. Tên tài nguyên nơi các byte của chuỗi ảnh (ở dạng video) được tải lên.

captureTimeOverride

string (Timestamp format)

Không bắt buộc. Thời gian tuyệt đối khi chuỗi ảnh bắt đầu được chụp. Nếu chuỗi ảnh là một video, thì đây là thời gian bắt đầu của video. Nếu được điền sẵn vào dữ liệu đầu vào, trường này sẽ ghi đè thời gian chụp trong video hoặc tệp XDM.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

uploadTime

string (Timestamp format)

Chỉ có đầu ra. Thời gian mà chuỗi ảnh này được tạo trong dịch vụ Cửa hàng uSV.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

rawGpsTimeline[]

object (Pose)

Chỉ nhập. Đo lường GPS thô với dấu thời gian tăng dần từ thiết bị mà không được đồng bộ hoá về thời gian với mỗi ảnh. Những số đo thô này sẽ được dùng để dự đoán tư thế của từng khung hình. Bắt buộc trong dữ liệu đầu vào khi InputType là VIDEO và phép đo GPS thô không có trong Theo dõi siêu dữ liệu chuyển động của máy ảnh (CAMM). Người dùng có thể cho biết yếu tố nào được ưu tiên bằng gpsSource nếu dữ liệu đo lường GPS thô được cung cấp trong cả RawGpsTimeline và Theo dõi siêu dữ liệu chuyển động của máy ảnh (CAMM).

gpsSource

enum (GpsSource)

Chỉ nhập. Nếu cả RawGpsTimeline và Theo dõi siêu dữ liệu chuyển động của máy ảnh (CAMM) đều chứa thông tin đo lường GPS, hãy cho biết phương pháp nào được ưu tiên.

imu

object (Imu)

Chỉ nhập. Dữ liệu IMU ba trục cho bộ sưu tập. Nếu dữ liệu này quá lớn để đưa vào yêu cầu, thì nó nên được đưa vào phần CAMM cho video. Dữ liệu này luôn được ưu tiên hơn dữ liệu CAMM tương đương, nếu có.

processingState

enum (ProcessingState)

Chỉ có đầu ra. Trạng thái xử lý của trình tự này.

failureReason

enum (ProcessingFailureReason)

Chỉ có đầu ra. Nếu trình tự này có processState = FAILED (KHÔNG THÀNH CÔNG), thì trình tự này sẽ chứa lý do khiến chuỗi không thành công. Nếu processState là bất kỳ giá trị nào khác, thì trường này sẽ không được đặt.

failureDetails

object (ProcessingFailureDetails)

Chỉ có đầu ra. Nếu trình tự này đã đặt failureReason, thì trình tự này có thể chứa thêm thông tin chi tiết về lỗi.

distanceMeters

number

Chỉ có đầu ra. Khoảng cách được tính toán của chuỗi ảnh tính bằng mét.

sequenceBounds

object (LatLngBounds)

Chỉ có đầu ra. Một hộp hình chữ nhật bao gồm mọi hình ảnh trong chuỗi ảnh này.

viewCount

string (int64 format)

Chỉ có đầu ra. Tổng số lượt xem mà tất cả hình ảnh đã xuất bản trong PhotoSequence này đã nhận được.

filename

string

Chỉ có đầu ra. Tên tệp của tệp tải lên. Không bao gồm đường dẫn thư mục. Chỉ có thể sử dụng nếu trình tự đã được tải lên trên một nền tảng có cung cấp tên tệp.

GpsSource

Nguồn chính để đo GPS.

Enum
PHOTO_SEQUENCE GPS trong RAWGpsTimeline sẽ được ưu tiên nếu có.
CAMERA_MOTION_METADATA_TRACK GPS trong Đường siêu dữ liệu chuyển động của máy ảnh (CAMM) sẽ được ưu tiên nếu có.

Tiếng Imu

Dữ liệu IMU qua các cảm biến của thiết bị.

Biểu diễn dưới dạng JSON
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
Các trường
accelMpsps[]

object (Measurement3d)

Kết quả đo lường gia tốc kế tính bằng mét/giây^2 với dấu thời gian tăng dần trên các thiết bị.

gyroRps[]

object (Measurement3d)

Giá trị đo con quay hồi chuyển tính bằng radian/giây với dấu thời gian tăng dần từ các thiết bị.

magUt[]

object (Measurement3d)

Phép đo từ kế của từ trường tính bằng microtesla (uT) với dấu thời gian tăng dần trên các thiết bị.

Đo lường 3d

Mẫu đo lường 3d chung.

Biểu diễn dưới dạng JSON
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
Các trường
captureTime

string (Timestamp format)

Dấu thời gian của quá trình đo lường IMU.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

x

number

Phép đo cảm biến trong trục x.

y

number

Phép đo cảm biến trong trục y.

z

number

Phép đo cảm biến trong trục z.

ProcessingState

Trạng thái xử lý của trình tự. Các trạng thái di chuyển như sau:

     +-------------------------+
     |                         |
 +---v---+  +----------+  +----+----+
 |PENDING+-->PROCESSING+-->PROCESSED|
 +---+---+  +----+-----+  +----+----+
     |           |             |
     |        +--v---+         |
     +-------->FAILED<---------+
              +------+

Trình tự có thể chuyển thành FAILED từ bất kỳ trạng thái nào. Ngoài ra, trình tự đã xử lý có thể được xử lý lại bất cứ lúc nào.

Enum
PROCESSING_STATE_UNSPECIFIED Trạng thái chưa được chỉ định, đây là giá trị mặc định.
PENDING Trình tự chưa bắt đầu được xử lý.
PROCESSING Trình tự này hiện đang được xử lý.
PROCESSED Trình tự đã được xử lý xong, bao gồm cả việc tinh chỉnh vị trí.
FAILED Không xử lý được trình tự. Hãy xem lý do thất bại để biết thêm thông tin.

ProcessingFailureReason

Những lý do có thể khiến PhotoSequence này không được xử lý.

Enum
PROCESSING_FAILURE_REASON_UNSPECIFIED Chưa xác định lý do xảy ra lỗi, đây là giá trị mặc định.
LOW_RESOLUTION Độ phân giải khung hình video quá nhỏ.
DUPLICATE Video này đã được tải lên trước đây.
INSUFFICIENT_GPS Quá ít điểm GPS.
NO_OVERLAP_GPS Không có sự trùng lặp giữa khung thời gian của đường đi GPS và khung thời gian của video.
INVALID_GPS GPS không hợp lệ (ví dụ: tất cả các điểm GPS đều ở (0,0))
FAILED_TO_REFINE_POSITIONS Không thể định vị chính xác chuỗi ảnh trên thế giới.
TAKEDOWN Trình tự đã bị gỡ bỏ vì lý do chính sách.
CORRUPT_VIDEO Tệp video bị hỏng hoặc không thể giải mã.
INTERNAL Đã xảy ra lỗi vĩnh viễn trong hệ thống cơ bản.
INVALID_VIDEO_FORMAT Định dạng video không hợp lệ hoặc không được hỗ trợ.
INVALID_VIDEO_DIMENSIONS Đã tìm thấy tỷ lệ cỡ ảnh không hợp lệ.
INVALID_CAPTURE_TIME Thời gian chụp không hợp lệ. Dấu thời gian là một thời điểm trong tương lai.
GPS_DATA_GAP Dữ liệu GPS chứa một khoảng trống dài hơn 5 giây.
JUMPY_GPS Dữ liệu GPS quá thất thường nên không thể xử lý được.
INVALID_IMU Dữ liệu IMU (Gia tốc kế, Con quay hồi chuyển, v.v.) không hợp lệ. Các trường này có thể thiếu các trường bắt buộc (x, y, z hoặc thời gian), có định dạng không chính xác hoặc bất kỳ vấn đề nào khác khiến hệ thống của chúng tôi không phân tích được cú pháp.
INSUFFICIENT_IMU Quá ít điểm IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Không đủ trùng lặp trong khung thời gian giữa GPS, IMU và dữ liệu chuỗi thời gian khác.
IMU_DATA_GAP Dữ liệu IMU (Gia tốc kế, Con quay hồi chuyển, v.v.) chứa các khoảng trống lớn hơn 0,1 giây.
UNSUPPORTED_CAMERA Máy ảnh không được hỗ trợ.
NOT_OUTDOORS Một số khung hình ở trong nhà nên không được hỗ trợ.
INSUFFICIENT_VIDEO_FRAMES Không đủ khung hình video.
INSUFFICIENT_MOVEMENT Không đủ dữ liệu di chuyển.

ProcessingFailureDetails

Thông tin bổ sung đi kèm với enum ProcessingFailureReason. Bạn phải luôn sử dụng thông báo này cùng với RuleFailureReason và giá trị một trong những giá trị được đặt trong thông báo này phải khớp với yếu tố không hợp lệ.

Biểu diễn dưới dạng 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.
}
Các trường
Trường nhóm details. Bạn chỉ được đặt một bộ thông tin chi tiết và phải khớp với giá trị enum tương ứng trong ProcessingFailureReason. details chỉ có thể là một trong những trạng thái sau đây:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Hãy xem tháng fullGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Hãy xem GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Xem ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Xem NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Hãy xem thông tin về NoDuplicateGpsFailureDetails.

InsufficientGpsFailureDetails

Thông tin chi tiết liên quan đến ProcessingFailureReason#INSUFFICIENT_GPS.

Biểu diễn dưới dạng JSON
{
  "gpsPointsFound": integer
}
Các trường
gpsPointsFound

integer

Số điểm GPS được tìm thấy trong video.

GpsDataGapFailureDetails

Thông tin chi tiết liên quan đến ProcessingFailureReason#GPS_DATA_GAP. Nếu có nhiều khoảng trống dữ liệu GPS thì chỉ có khoảng trống dữ liệu nào có thời lượng lớn nhất được báo cáo ở đây.

Biểu diễn dưới dạng JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Các trường
gapDuration

string (Duration format)

Thời lượng khoảng trống trong dữ liệu GPS được tìm thấy.

Thời lượng tính bằng giây có tối đa 9 chữ số phân số, kết thúc bằng 's'. Ví dụ: "3.5s".

gapStartTime

string (Duration format)

Thời gian tương đối (từ lúc bắt đầu luồng video) khi khoảng trống bắt đầu.

Thời lượng tính bằng giây có tối đa 9 chữ số phân số, kết thúc bằng 's'. Ví dụ: "3.5s".

ImuDataGapFailureDetails

Thông tin chi tiết liên quan đến TransitionFailureReason#IMU_DATA_GAP. Nếu có nhiều khoảng trống dữ liệu IMU, thì chỉ có khoảng thời gian dài nhất được báo cáo ở đây.

Biểu diễn dưới dạng JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Các trường
gapDuration

string (Duration format)

Thời lượng thiếu hụt trong dữ liệu IMU được tìm thấy.

Thời lượng tính bằng giây có tối đa 9 chữ số phân số, kết thúc bằng 's'. Ví dụ: "3.5s".

gapStartTime

string (Duration format)

Thời gian tương đối (từ lúc bắt đầu luồng video) khi khoảng trống bắt đầu.

Thời lượng tính bằng giây có tối đa 9 chữ số phân số, kết thúc bằng 's'. Ví dụ: "3.5s".

NotOutdoorsFailureDetails

Thông tin chi tiết liên quan đếnProcessingFailureReason#NOT_OUTDOORS. Nếu có nhiều khung hình trong nhà, thì khung hình đầu tiên sẽ được ghi lại ở đây.

Biểu diễn dưới dạng JSON
{
  "startTime": string
}
Các trường
startTime

string (Duration format)

Thời gian tương đối (từ lúc bắt đầu phát video trực tiếp) khi hệ thống tìm thấy khung hình trong nhà.

Thời lượng tính bằng giây có tối đa 9 chữ số phân số, kết thúc bằng 's'. Ví dụ: "3.5s".

NoOverlapGpsFailureDetails

Thông tin chi tiết liên quan đến PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.

Biểu diễn dưới dạng JSON
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
Các trường
gpsStartTime

string (Timestamp format)

Thời gian của điểm GPS được ghi lại đầu tiên.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

gpsEndTime

string (Timestamp format)

Thời gian của điểm GPS được ghi lại gần đây nhất.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

videoStartTime

string (Timestamp format)

Thời điểm bắt đầu video.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

videoEndTime

string (Timestamp format)

Thời gian kết thúc của video.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

LatLngBounds

Một hình chữ nhật trong toạ độ địa lý.

Biểu diễn dưới dạng JSON
{
  "southwest": {
    object (LatLng)
  },
  "northeast": {
    object (LatLng)
  }
}
Các trường
southwest

object (LatLng)

Góc phía tây nam của những ranh giới này.

northeast

object (LatLng)

Góc đông bắc của các ranh giới này.

InputType

Dạng nhập dữ liệu của PhotoSequence.

Enum
INPUT_TYPE_UNSPECIFIED Chưa xác định. Máy chủ sẽ trả về google.rpc.Code.INVALID_ARGUMENT.
VIDEO Video 360 độ.
XDM Siêu dữ liệu thiết bị có thể mở rộng, http://www.xdm.org