Method: photoSequence.create

Sau khi khách hàng hoàn tất việc tải PhotoSequence lên bằng 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 của thiết bị 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ã 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. 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 phiên bản mới được tạo của Operation.

Phạm vi ủy 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.

Trình tự ảnh

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ỉ đầu ra. Giá trị nhận dạng duy nhất cho chuỗi ảnh. Mã này cũng đóng vai trò như một mã hoạt động lâu dài nếu quá trình tải lên được thực hiện không đồng bộ.

photos[]

object (Photo)

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

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 trường này được nhập vào, trường này sẽ ghi đè thời gian quay trong tệp video hoặc 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 chín chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

uploadTime

string (Timestamp format)

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

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

rawGpsTimeline[]

object (Pose)

Chỉ nhập. Các số đo GPS thô với dấu thời gian tăng dần từ thiết bị không được đồng bộ hóa với mỗi ảnh. Những số đo thô này sẽ được sử dụng để suy ra tư thế của mỗi khung hình. Yêu cầu đầu vào khi InputType là VIDEO và số đo GPS thô không có trong Đường siêu dữ liệu chuyển động của máy ảnh (CAMM). Người dùng có thể cho biết loại nào được ưu tiên bằng gpsSource nếu các phép đo GPS thô được cung cấp trong cả RawGps Timeline và Camera Motion Metadata Track (CAMM).

gpsSource

enum (GpsSource)

Chỉ nhập. Nếu cả rawGps Dòng thời gian và Đường siêu dữ liệu chuyển động của máy ảnh (CAMM) đều chứa các phép đo GPS, cho biết những dữ liệu nào được ưu tiên.

imu

object (Imu)

Chỉ nhập. Dữ liệu IMU 3 trục cho tập hợp. Nếu dữ liệu này quá lớn để đưa vào yêu cầu, thì dữ liệu đó phải được đưa vào bản nhạc 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ỉ đầu ra. Trạng thái xử lý của trình tự này.

failureReason

enum (ProcessingFailureReason)

Chỉ đầu ra. Nếu trình tự này có processingState = FAILED, thì nguyên nhân này sẽ không giải thích được. 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ỉ đầu ra. Nếu trình tự này đã được thiết lập failureReason, nó có thể chứa thêm thông tin chi tiết về lỗi.

distanceMeters

number

Chỉ đầ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ỉ đầu ra. Một hộp hình chữ nhật gói gọn mọi hình ảnh trong chuỗi ảnh này.

viewCount

string (int64 format)

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

filename

string

Chỉ đầ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 một nền tảng cung cấp tên tệp.

Nguồn Gps

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

Enum
PHOTO_SEQUENCE GPS trong Dòng thời gian RawGps đượ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) được ưu tiên nếu có.

Tiếng 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)
    }
  ]
}
Các trường
accelMpsps[]

object (Measurement3d)

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

gyroRps[]

object (Measurement3d)

Các số đ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 trên 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 từ các thiết bị.

Đo lường

Mẫu đo 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 hoạt động đ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 chín 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 theo trục x.

y

number

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

z

number

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

Trạng thái xử lý

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ể di chuyển đến 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 xử lý.
PROCESSING Trình tự hiện đang được xử lý.
PROCESSED Trình tự đã xử lý xong, bao gồm cả vị trí tinh chỉnh.
FAILED Trình tự không xử lý được. Hãy xem thất bại để biết thêm chi tiết.

Lý do không xử lý được

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

Enum
PROCESSING_FAILURE_REASON_UNSPECIFIED Lý do không xác định đượ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ự 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 tại (0,0))
FAILED_TO_REFINE_POSITIONS Không thể định vị chính xác trình tự ảnh trên thế giới.
TAKEDOWN Trình tự này đã bị gỡ bỏ vì một số lý do liên quan đến chính sách.
CORRUPT_VIDEO Tệp video bị hỏng hoặc không thể 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ệ 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 khoảng cách lớn hơn 5 giây.
JUMPY_GPS Dữ liệu GPS quá thất thường nên không thể xử lý.
INVALID_IMU Dữ liệu IMU (Gia tốc kế, Con quay hồi chuyển, v.v.) không hợp lệ. Chúng có thể bị thiếu các trường bắt buộc (x, y, z hoặc time), có thể không được định dạng đúng cách 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 đủ 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.) có 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à không được hỗ trợ.
INSUFFICIENT_VIDEO_FRAMES Không đủ khung video.
INSUFFICIENT_MOVEMENT Không đủ dữ liệu di chuyển.

Chi tiết chế biến

Thông tin bổ sung đi kèm với enum ProcessFailureReason. Thông báo này luôn được dự kiến sử dụng cùng vớiXử lýFailureReason và giá trị một trong những thông báo này phải khớp với Lý do không thành công.

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

object (InsufficientGpsFailureDetails)

Xem InThiếuGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Xem GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Xem ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Xem NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Xem No chồngGpsFailureDetails.

Không đủ GpsFailureDetails

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

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

integer

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

GpsDataGapFailureDetails

Chi tiết liên quan đến ProcessFailureReason#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 GPS đượ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)

Khoảng thời gian tìm thấy khoảng trống trong dữ liệu GPS phát hiện 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ừ lúc bắt đầu phát 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 ProcessFailureReason#IMU_DATA_GAP. Nếu có nhiều khoảng trống dữ liệu IMU, chỉ khoảng trống dữ liệu IMU đượ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)

Khoảng thời gian thiếu hụt 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ừ lúc bắt đầu phát 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".

Chi tiết không ở ngoài trời

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à, khung hình đầu tiên sẽ được ghi lại tạ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) khi 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ố thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

Không trùng lặp

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 đầ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 chín 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 chín 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 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 chín 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 ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa chín chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

Giới hạn vĩ độ

Một hình chữ nhật trong tọa độ đị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 tây nam của những giới hạn này.

northeast

object (LatLng)

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

Loại đầu vào

Các biểu mẫu đầu vào của PhotoSequence.

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