Method: photoSequence.create

클라이언트가 반환된 UploadRefPhotoSequence를 업로드하면 photoSequence.create는 동영상 또는 확장 가능한 기기 메타데이터 (XDM, http://www.xdm.org/)에서 360도 파노라마 사진의 시퀀스를 추출하여 Google 지도의 스트리트 뷰에 게시합니다.

photoSequence.createOperation.name 필드에 PhotoSequence ID가 설정된 Operation를 반환합니다.

이 메서드는 다음 오류 코드를 반환합니다.

HTTP 요청

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

URL은 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로도 작동합니다.

photos[]

object (Photo)

출력 전용. 타임스탬프가 증가하는 사진

uploadReference

object (UploadRef)

입력 전용. 사진 시퀀스를 만들 때 필요합니다. 사진 시퀀스의 바이트 (동영상 형식)가 업로드되는 리소스 이름입니다.

captureTimeOverride

string (Timestamp format)

선택사항입니다. 사진 시퀀스가 캡처되기 시작하는 절대 시간입니다. 사진 시퀀스가 동영상인 경우 동영상의 시작 시간입니다. 입력 시 이 필드가 채워지면 동영상 또는 XDM 파일의 캡처 시간이 재정의됩니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

uploadTime

string (Timestamp format)

출력 전용. uSV 스토어 서비스에서 이 사진 시퀀스가 생성된 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

rawGpsTimeline[]

object (Pose)

입력 전용. 기기에서 각 사진과 시간이 동기화되지 않는 타임스탬프가 증가하는 원본 GPS 측정 이러한 원시 측정값은 각 프레임의 포즈를 추론하는 데 사용됩니다. InputType이 VIDEO이고 원시 GPS 측정값이 카메라 모션 메타데이터 트랙 (CAMM)에 없는 경우 입력에 필요합니다. 사용자는 원시 GPS 측정값이 원시GpsTimeline 및 카메라 모션 메타데이터 트랙 (CAMM)에 모두 제공된 경우 gpsSource를 사용하여 어느 것이 우선하는지 나타낼 수 있습니다.

gpsSource

enum (GpsSource)

입력 전용. 원시GpsTimeline 및 카메라 모션 메타데이터 트랙 (CAMM)에 모두 GPS 측정이 포함된 경우 어느 것이 우선하는지 표시합니다.

imu

object (Imu)

입력 전용. 컬렉션의 3축 IMU 데이터입니다. 이 데이터가 너무 커서 요청에 넣을 수 없는 경우 동영상의 CAMM 트랙에 저장해야 합니다. 이 데이터는 상응하는 CAMM 데이터(있는 경우)보다 항상 우선합니다.

processingState

enum (ProcessingState)

출력 전용. 이 시퀀스의 처리 상태입니다.

failureReason

enum (ProcessingFailureReason)

출력 전용. 이 시퀀스의 ProcessingState = FAILED에는 실패 이유가 포함됩니다. ProcessingState가 다른 값이면 이 필드가 설정 해제됩니다.

failureDetails

object (ProcessingFailureDetails)

출력 전용. 이 시퀀스에 failureReason가 설정된 경우 실패에 관한 추가 세부정보가 포함될 수 있습니다.

distanceMeters

number

출력 전용. 사진 시퀀스에서 계산된 거리(미터)입니다.

sequenceBounds

object (LatLngBounds)

출력 전용. 이 사진 시퀀스의 모든 이미지를 캡슐화하는 직사각형 상자입니다.

viewCount

string (int64 format)

출력 전용. 이 PhotoSequence의 모든 게시된 이미지에서 발생한 총 조회수입니다.

filename

string

출력 전용. 업로드 파일 이름입니다. 디렉터리 경로는 포함되지 않습니다. 파일 이름을 제공하는 플랫폼에 시퀀스가 업로드된 경우에만 사용할 수 있습니다.

GpsSource

GPS 측정의 기본 소스입니다.

열거형
PHOTO_SEQUENCE 원시GpsTimeline의 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) 단위로 자기장의 자기계 측정값을 표시한 것입니다.

Measurement3D

일반 3D 측정 샘플입니다.

JSON 표현
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
필드
captureTime

string (Timestamp format)

IMU 측정의 타임스탬프입니다.

RFC3339 UTC '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<---------+
              +------+

시퀀스는 임의의 상태에서 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 또는 시간)이 누락되었거나, 형식이 올바르게 지정되지 않았거나, Google 시스템에서 파싱할 수 없는 문제가 발생했을 수 있습니다.
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 enum과 함께 제공되는 추가 세부정보입니다. 이 메시지는 항상 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의 해당 enum과 일치해야 합니다. details은 다음 중 하나여야 합니다.
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

불충분한 GpsFailureDetails를 참고하세요.

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 데이터 간격이 여러 개 있는 경우 기간이 가장 긴 간격만 여기에 보고됩니다.

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

PhotoSequence ProcessingFailureReason#NO_OVERLAP_GPS와 관련된 세부정보입니다.

JSON 표현
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
필드
gpsStartTime

string (Timestamp format)

처음 기록된 GPS 지점의 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

gpsEndTime

string (Timestamp format)

마지막으로 기록된 GPS 지점의 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

videoStartTime

string (Timestamp format)

동영상의 시작 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

videoEndTime

string (Timestamp format)

동영상 종료 시간입니다.

RFC3339 UTC '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