Method: photoSequence.create

Sau khi ứng dụng tải xong PhotoSequence lên 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ề Operation, với mã 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

Tham số
inputType

enum (InputType)

Bắt buộc. Phương thức 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 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 bài viết 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
}
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ã thao tác 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 có 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 mà 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 điểm bắt đầu video. Nếu thông tin đầu vào được điền vào trường này, thì thời gian này sẽ ghi đè thời gian quay trong tệp video hoặc XDM.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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 chuỗi ảnh này được tạo trong dịch vụ Cửa hàng uSV.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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. Phép đo GPS thô với dấu thời gian tăng dần từ thiết bị mà không cần đồng bộ hoá thời gian với từng ảnh. Những phép đo thô này sẽ được dùng để dự đoán vị trí của mỗi 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 dữ liệu nào sẽ được ưu tiên bằng cách sử dụng gpsSource nếu phép đo GPS thô được cung cấp trong cả RAWGpsDòng thời gian và Theo dõi siêu dữ liệu chuyển động của camera (CAMM).

gpsSource

enum (GpsSource)

Chỉ nhập. Nếu cả RAWGpsDòng thời gian và Theo dõi siêu dữ liệu chuyển động của camera (CAMM) đều chứa kết quả đo GPS, hãy cho biết kết quả nào sẽ được ưu tiên.

imu

object (Imu)

Chỉ nhập. Dữ liệu IMU ba trục của bộ sưu tập. Nếu dữ liệu này quá lớn để đưa vào yêu cầu, thì dữ liệu đó nên được đưa vào kênh CAMM cho video. Dữ liệu này luôn được ưu tiên so với 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 chuỗi này có xử lý trạng thái = FAILED, thì mục này sẽ chứa lý do khiến chuỗi không thành công. Nếu chế độ xử lý là bất kỳ giá trị nào khác, trường này sẽ không được thiết lập.

failureDetails

object (ProcessingFailureDetails)

Chỉ có đầu ra. Nếu trình tự này đã được đặt failureReason, thì tập 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 đã 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 đóng gói 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 được 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ó sẵn nếu trình tự được tải lên trên nền tảng cung cấp tên tệp.

GpsSource

Nguồn chính để đo lường GPS.

Enum
PHOTO_SEQUENCE GPS trong RAWGpsTimeline sẽ được ưu tiên nếu có.
CAMERA_MOTION_METADATA_TRACK GPS trong Theo dõi siêu dữ liệu chuyển động của camera (CAMM) sẽ được ưu tiên nếu có.

Imu

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

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

object (Measurement3d)

Các phép đo gia tốc kế tính bằng mét/giây^2 với dấu thời gian tăng dần từ các thiết bị.

gyroRps[]

object (Measurement3d)

Các phép đ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)

Các phép đo từ kế của từ trường bằng microtesla (uT) với dấu thời gian tăng dần từ 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
}
Trường
captureTime

string (Timestamp format)

Dấu thời gian của phép đo IMU.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

x

number

Kết quả đo của cảm biến trên trục x.

y

number

Kết quả đo của cảm biến trên trục y.

z

number

Kết quả đo của cảm biến trên trục z.

ProcessingState

Trạng thái xử lý của trình tự. Các trạng thái thay đổi như sau:

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

Trình tự có thể chuyển sang trạng thái FAILED từ bất kỳ trạng thái nào. Ngoài ra, trình tự đã được 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 xử lý.
PROCESSING Trình tự hiện đang được xử lý.
PROCESSED Trình tự đã hoàn tất quá trình xử lý, bao gồm cả việc tinh chỉnh vị trí.
FAILED Không thể xử lý trình tự. Hãy xem mụcErrorLý do để biết thêm thông tin chi tiết.

ProcessingFailureReason

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

Enum
PROCESSING_FAILURE_REASON_UNSPECIFIED Chưa xác định lý do không xử lý được, đây là giá trị mặc định.
LOW_RESOLUTION Độ phân giải của khung hình video quá nhỏ.
DUPLICATE Video này đã được tải lên trước đó.
INSUFFICIENT_GPS Quá ít điểm GPS.
NO_OVERLAP_GPS Không có sự chồng chéo giữa khung thời gian của đoạn đường theo dõ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 Chuỗi ảnh không thể xác định chính xác vị trí 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à ở trong tương lai.
GPS_DATA_GAP Dữ liệu GPS chứa khoảng trống có thời lượng lớn hơn 5 giây.
JUMPY_GPS Không thể xử lý dữ liệu GPS quá thất thường.
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 tham số này có thể thiếu các trường bắt buộc (x, y, z hoặc thời gian), có thể không được định dạng chính xác hoặc bất kỳ vấn đề nào khác ngăn hệ thống của chúng tôi phân tích 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 có thời lượ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 là ở trong nhà và 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 chi tiết bổ sung đi kèm với enumận chấm khỏi lý do vi phạm. Bạn luôn nên dùng thông báo này cùng với ProcessPendingReason và giá trị được thiết lập trong thông báo này phải khớp với ErrorReason.

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.
}
Trường
Trường kết hợp details. Hệ thống sẽ chỉ thiết lập một tập hợp thông tin chi tiết và phải khớp với giá trị enum tương ứng trong trong ProcessFailureReason. details chỉ có thể là một trong những trạng thái sau đây:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Hãy xem phần {5}GpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Hãy xem phần GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Hãy xem ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Hãy xem phần NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Hãy xem NoFullGpsFailureDetails.

InsufficientGpsFailureDetails

Thông tin chi tiết liên quan đếnd luôn xử lý lỗi#INSUFFICIENT_GPS.

Biểu diễn dưới dạng JSON
{
  "gpsPointsFound": integer
}
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đến xử lý gặp lý do#GPS_DATA_GAP. Nếu có nhiều khoảng trống dữ liệu GPS, thì chỉ có khoảng trống 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
}
Trường
gapDuration

string (Duration format)

Khoảng thời gian thiếu hụt trong dữ liệu GPS đã được tìm thấy.

Thời lượng tính bằng giây với 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 thời gian đó bắt đầu.

Thời lượng tính bằng giây với 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 xử lý gặp lỗi#IMU_DATA_GAP. Nếu có nhiều khoảng trống dữ liệu IMU, thì chỉ có khoảng trống 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
}
Trường
gapDuration

string (Duration format)

Khoảng thời gian bị thiếu hụt trong dữ liệu IMU đã được tìm thấy.

Thời lượng tính bằng giây với 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 thời gian đó bắt đầu.

Thời lượng tính bằng giây với 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 đến ProcessFailureReason#NOT_OUTDOORS. Nếu tìm thấy 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
}
Trường
startTime

string (Duration format)

Thời gian tương đối (từ lúc bắt đầu luồng video) khi tìm thấy một khung hình trong nhà.

Thời lượng tính bằng giây với 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
}
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 theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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 theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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 gian bắt đầu của video.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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 video.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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 trên các toạ độ địa lý.

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

object (LatLng)

Góc Tây Nam của các ranh giới này.

northeast

object (LatLng)

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

InputType

Biểu mẫu nhập dữ liệu của PhotoSequence.

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