Method: photoSequence.create

Sau khi ứng dụng hoàn tất việc tải PhotoSequence lên bằng UploadRef đã trả về, photoSequence.create sẽ trích xuất một chuỗi ảnh 360 độ 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 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

Thông số
inputType

enum (InputType)

Bắt buộc. Biểu mẫu 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 OAuth 2.0 Overview.

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 riêng biệt của chuỗi ảnh. Đây cũng là mã thao tác thực hiện lâu 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ỉ có đầu vào. 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ưới 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 trường này được điền sẵn trong dữ liệu đầu vào, thì trường này sẽ ghi đè thời gian chụp trong tệp video hoặc tệp XDM.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

uploadTime

string (Timestamp format)

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

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

rawGpsTimeline[]

object (Pose)

Chỉ có đầu vào. Các phép đo GPS thô có dấu thời gian tăng dần từ thiết bị không được đồng bộ hoá thời gian với từng bức ảnh. Các phép đo thô này sẽ được dùng để suy luậ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à các phép đo GPS thô không có trong Camera Motion Metadata Track (CAMM). Người dùng có thể cho biết thông tin nào được ưu tiên bằng cách sử dụng gpsSource nếu các phép đo GPS thô được cung cấp trong cả rawGpsTimeline và Camera Motion Metadata Track (CAMM).

gpsSource

enum (GpsSource)

Chỉ có đầu vào. Nếu cả rawGpsTimeline và Camera Motion Metadata Track (CAMM) đều chứa các phép đo GPS, hãy cho biết phép đo nào được ưu tiên.

imu

object (Imu)

Chỉ có đầu vào. Dữ liệu IMU 3 trục để thu thập. Nếu dữ liệu này quá lớn để đưa vào yêu cầu, thì bạn nên đưa dữ liệu đó vào bản CAMM của 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 chuỗi này.

failureReason

enum (ProcessingFailureReason)

Chỉ có đầu ra. Nếu chuỗi này có processingState = FAILED, thì chuỗi này sẽ chứa lý do khiến quá trình xử lý không thành công. Nếu processingState là bất kỳ giá trị nào khác, trường này sẽ không được đặt.

failureDetails

object (ProcessingFailureDetails)

Chỉ có đầu ra. Nếu trình tự này có failureReason được đặt, 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 đã 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 bọc 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 chuỗi ảnh 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 chuỗi được tải lên một nền tảng cung cấp tên tệp.

GpsSource

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

Enum
PHOTO_SEQUENCE GPS trong rawGpsTimeline sẽ được ưu tiên nếu có.
CAMERA_MOTION_METADATA_TRACK GPS trong Camera Motion Metadata Track (CAMM) sẽ được ưu tiên nếu có.

Imu

Dữ liệu IMU từ 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)
    }
  ]
}
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 giá trị đo của con quay hồi chuyển theo đơn vị 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 giá trị đo của từ trường bằng từ kế theo đơn vị microtesla (uT) với dấu thời gian tăng dần từ các thiết bị.

Measurement3d

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.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

x

number

Số đo của cảm biến theo trục x.

y

number

Số đo của cảm biến theo trục y.

z

number

Số đo của cảm biến theo trục z.

ProcessingState

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

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

Trình tự có thể chuyển sang trạng thái THẤT BẠI từ bất kỳ trạng thái nào. Ngoài ra, bạn có thể xử lý lại một chuỗi đã xử lý bất cứ lúc nào.

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

ProcessingFailureReason

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

Enum
PROCESSING_FAILURE_REASON_UNSPECIFIED Chưa xác định lý do thất bại, đâ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 đây.
INSUFFICIENT_GPS Quá ít điểm GPS.
NO_OVERLAP_GPS Khung thời gian của dữ liệu theo dõi GPS và khung thời gian của video không trùng nhau.
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ể xác định chính xác vị trí của chuỗi ảnh trên thế giới.
TAKEDOWN Trình tự này đã bị gỡ xuống vì lý do chính sách.
CORRUPT_VIDEO Tệp video bị hỏng hoặc không giải mã được.
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ệ khung hình không hợp lệ.
INVALID_CAPTURE_TIME Thời điểm 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 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ó thể các trường bắt buộc (x, y, z hoặc thời gian) bị thiếu, đị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 thể phân tích cú pháp.
INSUFFICIENT_IMU Quá ít điểm IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Không đủ thời gian trùng lặp giữa GPS, IMU và các 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 Camera này không được hỗ trợ.
NOT_OUTDOORS Một số khung hình ở trong nhà, điều này không được hỗ trợ.
INSUFFICIENT_VIDEO_FRAMES Không đủ khung hình video.
INSUFFICIENT_MOVEMENT Không đủ dữ liệu di chuyển.
MAST_DOWN Trụ bị hạ xuống.
CAMERA_COVERED Camera bị che phủ.

ProcessingFailureDetails

Thông tin chi tiết bổ sung đi kèm với enum ProcessingFailureReason. Thông báo này luôn được dùng kết hợp với ProcessingFailureReason và giá trị oneof được đặt trong thông báo này phải khớp với FailureReason.

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 nhóm details. Chỉ một bộ thông tin chi tiết sẽ được đặt và phải khớp với enum tương ứng trong ProcessingFailureReason. details chỉ có thể là một trong những trạng thái sau:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Xem InsufficientGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Xem GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Xem ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Xem NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Xem NoOverlapGpsFailureDetails.

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
}
Trường
gpsPointsFound

integer

Số lượng đ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ỉ khoảng trống có thời lượng dài 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 của 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ố thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

gapStartTime

string (Duration format)

Thời gian tương đối (tính từ khi 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ố thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

ImuDataGapFailureDetails

Thông tin chi tiết liên quan đến ProcessingFailureReason#IMU_DATA_GAP. Nếu có nhiều khoảng trống dữ liệu IMU, thì chỉ khoảng trống có thời lượng dài 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 của khoảng trống 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ố thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

gapStartTime

string (Duration format)

Thời gian tương đối (tính từ khi 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ố thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

NotOutdoorsFailureDetails

Thông tin chi tiết liên quan đến ProcessingFailureReason#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
}
Trường
startTime

string (Duration format)

Thời gian tương đối (tính từ khi bắt đầu luồng video) khi phát hiện thấy một khung hình trong nhà.

Thời lượng tính bằng giây, có tối đa 9 chữ số thập phân, 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 lần đầu tiên.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

gpsEndTime

string (Timestamp format)

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

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

videoStartTime

string (Timestamp format)

Thời gian bắt đầu của video.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

videoEndTime

string (Timestamp format)

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

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

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)
  }
}
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 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ị có thể mở rộng, http://www.xdm.org