- HTTP 요청
- 쿼리 매개변수
- 요청 본문
- 응답 본문
- 승인 범위
- PhotoSequence
- GpsSource
- Imu
- Measurement3d
- ProcessingState
- ProcessingFailureReason
- ProcessingFailureDetails
- InsufficientGpsFailureDetails
- GpsDataGapFailureDetails
- ImuDataGapFailureDetails
- NotOutdoorsFailureDetails
- NoOverlapGpsFailureDetails
- LatLngBounds
- InputType
- 실습
클라이언트가 반환된 UploadRef
로 PhotoSequence
를 업로드하면 photoSequence.create
는 동영상 또는 확장 가능한 기기 메타데이터 (XDM, http://www.xdm.org/)에서 360도 파노라마 사진의 시퀀스를 추출하여 Google 지도의 스트리트 뷰에 게시합니다.
photoSequence.create
는 Operation.name
필드에 PhotoSequence
ID가 설정된 Operation
를 반환합니다.
이 메서드는 다음 오류 코드를 반환합니다.
google.rpc.Code.INVALID_ARGUMENT
: 요청 형식이 잘못된 경우- 업로드 참조가 없으면
google.rpc.Code.NOT_FOUND
입니다.
HTTP 요청
POST https://streetviewpublish.googleapis.com/v1/photoSequence
URL은 gRPC 트랜스코딩 구문을 사용합니다.
쿼리 매개변수
매개변수 | |
---|---|
inputType |
필수 항목입니다. |
요청 본문
요청 본문에는 PhotoSequence
의 인스턴스가 포함됩니다.
응답 본문
성공한 경우 응답 본문에 새로 생성된 Operation
의 인스턴스가 포함됩니다.
승인 범위
다음 OAuth 범위가 필요합니다.
https://www.googleapis.com/auth/streetviewpublish
자세한 내용은 OAuth 2.0 개요를 참고하세요.
PhotoSequence
메타데이터와 함께 360도 파노라마 사진 시퀀스
JSON 표현 |
---|
{ "id": string, "photos": [ { object ( |
필드 | |
---|---|
id |
출력 전용. 사진 시퀀스의 고유 식별자입니다. 업로드가 비동기식으로 수행될 경우 장기 실행 작업 ID로도 작동합니다. |
photos[] |
출력 전용. 타임스탬프가 증가하는 사진 |
uploadReference |
입력 전용. 사진 시퀀스를 만들 때 필요합니다. 사진 시퀀스의 바이트 (동영상 형식)가 업로드되는 리소스 이름입니다. |
captureTimeOverride |
선택사항입니다. 사진 시퀀스가 캡처되기 시작하는 절대 시간입니다. 사진 시퀀스가 동영상인 경우 동영상의 시작 시간입니다. 입력 시 이 필드가 채워지면 동영상 또는 XDM 파일의 캡처 시간이 재정의됩니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
uploadTime |
출력 전용. uSV 스토어 서비스에서 이 사진 시퀀스가 생성된 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
rawGpsTimeline[] |
입력 전용. 기기에서 각 사진과 시간이 동기화되지 않는 타임스탬프가 증가하는 원본 GPS 측정 이러한 원시 측정값은 각 프레임의 포즈를 추론하는 데 사용됩니다. InputType이 VIDEO이고 원시 GPS 측정값이 카메라 모션 메타데이터 트랙 (CAMM)에 없는 경우 입력에 필요합니다. 사용자는 원시 GPS 측정값이 원시GpsTimeline 및 카메라 모션 메타데이터 트랙 (CAMM)에 모두 제공된 경우 gpsSource를 사용하여 어느 것이 우선하는지 나타낼 수 있습니다. |
gpsSource |
입력 전용. 원시GpsTimeline 및 카메라 모션 메타데이터 트랙 (CAMM)에 모두 GPS 측정이 포함된 경우 어느 것이 우선하는지 표시합니다. |
imu |
입력 전용. 컬렉션의 3축 IMU 데이터입니다. 이 데이터가 너무 커서 요청에 넣을 수 없는 경우 동영상의 CAMM 트랙에 저장해야 합니다. 이 데이터는 상응하는 CAMM 데이터(있는 경우)보다 항상 우선합니다. |
processingState |
출력 전용. 이 시퀀스의 처리 상태입니다. |
failureReason |
출력 전용. 이 시퀀스의 ProcessingState = FAILED에는 실패 이유가 포함됩니다. ProcessingState가 다른 값이면 이 필드가 설정 해제됩니다. |
failureDetails |
출력 전용. 이 시퀀스에 |
distanceMeters |
출력 전용. 사진 시퀀스에서 계산된 거리(미터)입니다. |
sequenceBounds |
출력 전용. 이 사진 시퀀스의 모든 이미지를 캡슐화하는 직사각형 상자입니다. |
viewCount |
출력 전용. 이 PhotoSequence의 모든 게시된 이미지에서 발생한 총 조회수입니다. |
filename |
출력 전용. 업로드 파일 이름입니다. 디렉터리 경로는 포함되지 않습니다. 파일 이름을 제공하는 플랫폼에 시퀀스가 업로드된 경우에만 사용할 수 있습니다. |
GpsSource
GPS 측정의 기본 소스입니다.
열거형 | |
---|---|
PHOTO_SEQUENCE |
원시GpsTimeline의 GPS가 있는 경우 우선합니다. |
CAMERA_MOTION_METADATA_TRACK |
CAMM (카메라 모션 메타데이터 트랙)의 GPS가 있는 경우 우선 적용됩니다. |
이무
기기 센서의 IMU 데이터입니다.
JSON 표현 |
---|
{ "accelMpsps": [ { object ( |
필드 | |
---|---|
accelMpsps[] |
기기에서 타임스탬프가 증가하는 가속도계 측정값(미터/초^2)입니다. |
gyroRps[] |
기기에서 타임스탬프가 증가하는 자이로스코프 측정값(라디안/초)입니다. |
magUt[] |
기기에서 타임스탬프가 증가하는 마이크로테슬라 (uT) 단위로 자기장의 자기계 측정값을 표시한 것입니다. |
Measurement3D
일반 3D 측정 샘플입니다.
JSON 표현 |
---|
{ "captureTime": string, "x": number, "y": number, "z": number } |
필드 | |
---|---|
captureTime |
IMU 측정의 타임스탬프입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
x |
x축의 센서 측정값입니다. |
y |
y축의 센서 측정값입니다. |
z |
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 . 하나의 세부정보 세트만 설정되며 ProcessingFailureReason의 해당 enum과 일치해야 합니다. details 은 다음 중 하나여야 합니다. |
|
insufficientGpsDetails |
불충분한 GpsFailureDetails를 참고하세요. |
gpsDataGapDetails |
GpsDataGapFailureDetails를 참조하세요. |
imuDataGapDetails |
ImuDataGapFailureDetails를 참고하세요. |
notOutdoorsDetails |
NotOutdoorsFailureDetails를 참조하세요. |
noOverlapGpsDetails |
NoOverlapGpsFailureDetails를 참고하세요. |
InsufficientGpsFailureDetails
ProcessingFailureReason#INSUFFICIENT_GPS와 관련된 세부정보입니다.
JSON 표현 |
---|
{ "gpsPointsFound": integer } |
필드 | |
---|---|
gpsPointsFound |
동영상에서 발견된 GPS 지점의 개수입니다. |
GpsDataGapFailureDetails
ProcessingFailureReason#GPS_DATA_GAP와 관련된 세부정보입니다. GPS 데이터 간격이 여러 개인 경우 기간이 가장 긴 간격만 여기에 보고됩니다.
JSON 표현 |
---|
{ "gapDuration": string, "gapStartTime": string } |
필드 | |
---|---|
gapDuration |
발견된 GPS 데이터에서 간격의 지속 시간입니다. 소수점 아래가 최대 9자리까지이고 ' |
gapStartTime |
간격이 시작된 시점의 상대 시간 (동영상 스트림 시작 시점 기준)입니다. 소수점 아래가 최대 9자리까지이고 ' |
ImuDataGapFailureDetails
ProcessingFailureReason#IMU_DATA_GAP와 관련된 세부정보입니다. IMU 데이터 간격이 여러 개 있는 경우 기간이 가장 긴 간격만 여기에 보고됩니다.
JSON 표현 |
---|
{ "gapDuration": string, "gapStartTime": string } |
필드 | |
---|---|
gapDuration |
발견된 IMU 데이터에서 간격의 지속 시간입니다. 소수점 아래가 최대 9자리까지이고 ' |
gapStartTime |
간격이 시작된 시점의 상대 시간 (동영상 스트림 시작 시점 기준)입니다. 소수점 아래가 최대 9자리까지이고 ' |
NotOutdoorsFailureDetails
ProcessingFailureReason#NOT_OUTDOORS와 관련된 세부정보입니다. 실내 프레임이 여러 개 있는 경우 첫 번째 프레임이 여기에 기록됩니다.
JSON 표현 |
---|
{ "startTime": string } |
필드 | |
---|---|
startTime |
실내 프레임이 발견된 경우의 상대 시간입니다 (동영상 스트림 시작 부분부터). 소수점 아래가 최대 9자리까지이고 ' |
NoOverlapGpsFailureDetails
PhotoSequence ProcessingFailureReason#NO_OVERLAP_GPS와 관련된 세부정보입니다.
JSON 표현 |
---|
{ "gpsStartTime": string, "gpsEndTime": string, "videoStartTime": string, "videoEndTime": string } |
필드 | |
---|---|
gpsStartTime |
처음 기록된 GPS 지점의 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
gpsEndTime |
마지막으로 기록된 GPS 지점의 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
videoStartTime |
동영상의 시작 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
videoEndTime |
동영상 종료 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
LatLngBounds
지리적 좌표의 직사각형입니다.
JSON 표현 |
---|
{ "southwest": { object ( |
필드 | |
---|---|
southwest |
이 경계의 남서쪽 모서리입니다. |
northeast |
이 경계의 북동쪽 모서리입니다. |
InputType
PhotoSequence
의 입력 형식입니다.
열거형 | |
---|---|
INPUT_TYPE_UNSPECIFIED |
지정되지 않음 서버가 google.rpc.Code.INVALID_ARGUMENT 을 반환합니다. |
VIDEO |
360도 동영상 |
XDM |
확장 가능한 기기 메타데이터, http://www.xdm.org |