- Solicitação HTTP
- Parâmetros de consulta
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- PhotoSequence
- GpsSource
- Imu
- Measurement3d
- ProcessingState
- ProcessingFailureReason
- ProcessingFailureDetails
- InsufficientGpsFailureDetails
- GpsDataGapFailureDetails
- ImuDataGapFailureDetails
- NotOutdoorsFailureDetails
- NoOverlapGpsFailureDetails
- LatLngBounds
- InputType
- Faça um teste
Depois que o cliente termina de fazer upload do PhotoSequence com o UploadRef retornado, o photoSequence.create extrai uma sequência de fotos em 360 graus de um vídeo ou metadados de dispositivos extensíveis (XDM, http://www.xdm.org/) para publicação no Street View do Google Maps.
photoSequence.create retorna um Operation, com o ID PhotoSequence definido no campo Operation.name.
Esse método retorna os seguintes códigos de erro:
google.rpc.Code.INVALID_ARGUMENTse a solicitação estiver incorreta.google.rpc.Code.NOT_FOUNDse a referência de upload não existir.
Solicitação HTTP
POST https://streetviewpublish.googleapis.com/v1/photoSequence
O URL usa a sintaxe de transcodificação gRPC.
Parâmetros de consulta
| Parâmetros | |
|---|---|
inputType |
Obrigatório. O formulário de entrada de |
Corpo da solicitação
O corpo da solicitação contém uma instância de PhotoSequence.
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta incluirá uma instância de Operation.
Escopos de autorização
Requer o seguinte escopo OAuth:
https://www.googleapis.com/auth/streetviewpublish
Para mais informações, consulte OAuth 2.0 Overview.
PhotoSequence
Uma sequência de fotos em 360° com metadados.
| Representação JSON |
|---|
{ "id": string, "photos": [ { object ( |
| Campos | |
|---|---|
id |
Apenas saída. Identificador exclusivo da sequência de fotos. Isso também funciona como um ID de operação de longa duração se o upload for realizado de forma assíncrona. |
photos[] |
Apenas saída. Fotos com carimbos de data/hora crescentes. |
uploadReference |
Somente entrada. Obrigatório ao criar uma sequência de fotos. O nome do recurso em que os bytes da sequência de fotos (na forma de vídeo) são enviados. |
captureTimeOverride |
Opcional. Tempo absoluto em que a sequência de fotos começa a ser capturada. Se a sequência de fotos for um vídeo, este será o horário de início dele. Se esse campo for preenchido na entrada, ele vai substituir o horário de captura no vídeo ou no arquivo XDM. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
uploadTime |
Apenas saída. O horário em que essa sequência de fotos foi criada no serviço uSV Store. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
rawGpsTimeline[] |
Somente entrada. Medições brutas de GPS com carimbos de data/hora crescentes do dispositivo que não estão sincronizados com cada foto. Essas medições brutas serão usadas para inferir a postura de cada frame. Obrigatório na entrada quando InputType é VIDEO e as medições GPS brutas não estão na faixa de metadados de movimento da câmera (CAMM). O usuário pode indicar qual tem precedência usando gpsSource se as medições brutas de GPS forem fornecidas em rawGpsTimeline e na faixa de metadados de movimento da câmera (CAMM). |
gpsSource |
Somente entrada. Se rawGpsTimeline e a faixa de metadados de movimento da câmera (CAMM) contiverem medições de GPS, indique qual tem precedência. |
imu |
Somente entrada. Dados da IMU de três eixos para a coleta. Se esses dados forem muito grandes para serem incluídos na solicitação, eles deverão ser colocados na faixa CAMM do vídeo. Esses dados sempre têm precedência sobre os dados equivalentes da CAMM, se existirem. |
processingState |
Apenas saída. O estado de processamento desta sequência. |
failureReason |
Apenas saída. Se essa sequência tiver "processingState = FAILED", ela vai conter o motivo da falha. Se o "processingState" for qualquer outro valor, esse campo não será definido. |
failureDetails |
Apenas saída. Se essa sequência tiver |
distanceMeters |
Apenas saída. A distância calculada da sequência de fotos em metros. |
sequenceBounds |
Apenas saída. Uma caixa retangular que encapsula todas as imagens nesta sequência de fotos. |
viewCount |
Apenas saída. O número total de visualizações que todas as imagens publicadas nesta PhotoSequence receberam. |
filename |
Apenas saída. O nome do arquivo do upload. Não inclui o caminho do diretório. Disponível apenas se a sequência foi enviada em uma plataforma que fornece o nome do arquivo. |
GpsSource
Principal fonte de medições de GPS.
| Tipos enumerados | |
|---|---|
PHOTO_SEQUENCE |
O GPS em rawGpsTimeline tem precedência se existir. |
CAMERA_MOTION_METADATA_TRACK |
O GPS na faixa de metadados de movimento da câmera (CAMM) tem precedência se existir. |
Imu
Dados da unidade de medição inercial dos sensores do dispositivo.
| Representação JSON |
|---|
{ "accelMpsps": [ { object ( |
| Campos | |
|---|---|
accelMpsps[] |
As medições do acelerômetro em metros/seg^2 com carimbos de data/hora crescentes dos dispositivos. |
gyroRps[] |
As medições do giroscópio em radianos/segundo com carimbos de data/hora crescentes dos dispositivos. |
magUt[] |
As medições do magnetômetro do campo magnético em microtesla (uT) com carimbos de data/hora crescentes dos dispositivos. |
Measurement3d
Um exemplo de medição 3D genérica.
| Representação JSON |
|---|
{ "captureTime": string, "x": number, "y": number, "z": number } |
| Campos | |
|---|---|
captureTime |
O carimbo de data/hora da medição da IMU. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
x |
A medição do sensor no eixo x. |
y |
A medição do sensor no eixo y. |
z |
A medição do sensor no eixo z. |
ProcessingState
O estado de processamento da sequência. Os estados mudam da seguinte forma:
+-------------------------+
| |
+---v---+ +----------+ +----+----+
|PENDING+-->PROCESSING+-->PROCESSED|
+---+---+ +----+-----+ +----+----+
| | |
| +--v---+ |
+-------->FAILED<---------+
+------+
A sequência pode mudar para FAILED de qualquer estado. Além disso, uma sequência processada pode ser reprocessada a qualquer momento.
| Tipos enumerados | |
|---|---|
PROCESSING_STATE_UNSPECIFIED |
O estado não foi especificado. Esse é o valor padrão. |
PENDING |
A sequência ainda não começou a ser processada. |
PROCESSING |
A sequência está sendo processada. |
PROCESSED |
A sequência terminou de ser processada, incluindo o refinamento da posição. |
FAILED |
A sequência não foi processada. Consulte "FailureReason" para mais detalhes. |
ProcessingFailureReason
Os possíveis motivos para a falha no processamento do PhotoSequence.
| Tipos enumerados | |
|---|---|
PROCESSING_FAILURE_REASON_UNSPECIFIED |
O motivo da falha não foi especificado. Esse é o valor padrão. |
LOW_RESOLUTION |
A resolução do frame do vídeo é muito baixa. |
DUPLICATE |
Este vídeo já foi enviado. |
INSUFFICIENT_GPS |
Não há pontos suficientes do GPS. |
NO_OVERLAP_GPS |
Não há sobreposição entre o período do Monitoramento por GPS e o do vídeo. |
INVALID_GPS |
O GPS é inválido (por exemplo, todos os pontos do GPS estão em (0,0)) |
FAILED_TO_REFINE_POSITIONS |
Não foi possível localizar com precisão a sequência de fotos no mundo. |
TAKEDOWN |
A sequência foi removida por motivos de política. |
CORRUPT_VIDEO |
O arquivo de vídeo estava corrompido ou não pôde ser decodificado. |
INTERNAL |
Ocorreu uma falha permanente no sistema subjacente. |
INVALID_VIDEO_FORMAT |
O formato do vídeo é inválido ou incompatível. |
INVALID_VIDEO_DIMENSIONS |
Encontramos uma proporção inválida na imagem. |
INVALID_CAPTURE_TIME |
A hora da captura é inválida. A data e a hora estavam no futuro. |
GPS_DATA_GAP |
Os dados de GPS têm uma lacuna maior que 5 segundos. |
JUMPY_GPS |
Os dados de GPS estão instáveis demais para serem processados. |
INVALID_IMU |
Os dados da IMU (acelerômetro, giroscópio etc.) não são válidos. Eles podem não ter campos obrigatórios (x, y, z ou tempo), não estar formatados corretamente ou ter qualquer outro problema que impeça nossos sistemas de analisar. |
INSUFFICIENT_IMU |
Há poucos pontos de IMU. |
INSUFFICIENT_OVERLAP_TIME_SERIES |
Não há sobreposição suficiente no período entre os dados de GPS, IMU e outras séries temporais. |
IMU_DATA_GAP |
Os dados da IMU (acelerômetro, giroscópio etc.) têm lacunas maiores que 0, 1 segundo. |
UNSUPPORTED_CAMERA |
A câmera não é compatível. |
NOT_OUTDOORS |
Alguns frames estavam em ambientes internos, o que não é permitido. |
INSUFFICIENT_VIDEO_FRAMES |
Não há frames de vídeo suficientes. |
INSUFFICIENT_MOVEMENT |
Não há dados de movimentação suficientes. |
MAST_DOWN |
O mastro está abaixado. |
CAMERA_COVERED |
A câmera está coberta. |
ProcessingFailureDetails
Detalhes adicionais para acompanhar a enumeração ProcessingFailureReason. Essa mensagem sempre deve ser usada em conjunto com ProcessingFailureReason, e o valor oneof definido nessa mensagem precisa corresponder ao FailureReason.
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união details. Apenas um conjunto de detalhes será definido e precisará corresponder à enumeração correspondente em "ProcessingFailureReason". details pode ser apenas de um dos tipos a seguir: |
|
insufficientGpsDetails |
Consulte InsufficientGpsFailureDetails. |
gpsDataGapDetails |
Consulte GpsDataGapFailureDetails. |
imuDataGapDetails |
Consulte ImuDataGapFailureDetails. |
notOutdoorsDetails |
Consulte NotOutdoorsFailureDetails. |
noOverlapGpsDetails |
Consulte NoOverlapGpsFailureDetails. |
InsufficientGpsFailureDetails
Detalhes relacionados a ProcessingFailureReason#INSUFFICIENT_GPS.
| Representação JSON |
|---|
{ "gpsPointsFound": integer } |
| Campos | |
|---|---|
gpsPointsFound |
O número de pontos de GPS encontrados no vídeo. |
GpsDataGapFailureDetails
Detalhes relacionados a "ProcessingFailureReason#GPS_DATA_GAP". Se houver várias lacunas nos dados de GPS, apenas a de maior duração será informada aqui.
| Representação JSON |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| Campos | |
|---|---|
gapDuration |
A duração da falha nos dados de GPS encontrada. Duração em segundos com até nove dígitos fracionários, terminando em " |
gapStartTime |
Tempo relativo (desde o início do fluxo de vídeo) em que a lacuna começou. Duração em segundos com até nove dígitos fracionários, terminando em " |
ImuDataGapFailureDetails
Detalhes relacionados a ProcessingFailureReason#IMU_DATA_GAP. Se houver várias falhas nos dados da IMU, apenas a de maior duração será informada aqui.
| Representação JSON |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| Campos | |
|---|---|
gapDuration |
A duração da lacuna encontrada nos dados da IMU. Duração em segundos com até nove dígitos fracionários, terminando em " |
gapStartTime |
Tempo relativo (desde o início do fluxo de vídeo) em que a lacuna começou. Duração em segundos com até nove dígitos fracionários, terminando em " |
NotOutdoorsFailureDetails
Detalhes relacionados a "ProcessingFailureReason#NOT_OUTDOORS". Se houver vários frames internos, o primeiro será registrado aqui.
| Representação JSON |
|---|
{ "startTime": string } |
| Campos | |
|---|---|
startTime |
Tempo relativo (desde o início do stream de vídeo) em que um frame interno foi encontrado. Duração em segundos com até nove dígitos fracionários, terminando em " |
NoOverlapGpsFailureDetails
Detalhes relacionados a PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.
| Representação JSON |
|---|
{ "gpsStartTime": string, "gpsEndTime": string, "videoStartTime": string, "videoEndTime": string } |
| Campos | |
|---|---|
gpsStartTime |
Horário do primeiro ponto de GPS registrado. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
gpsEndTime |
Horário do último ponto de GPS registrado. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
videoStartTime |
Horário de início do vídeo. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
videoEndTime |
Horário de término do vídeo. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
LatLngBounds
Um retângulo em coordenadas geográficas.
| Representação JSON |
|---|
{ "southwest": { object ( |
| Campos | |
|---|---|
southwest |
O canto sudoeste desses limites. |
northeast |
O canto nordeste desses limites. |
InputType
Formas de entrada de PhotoSequence.
| Tipos enumerados | |
|---|---|
INPUT_TYPE_UNSPECIFIED |
Não especificado. O servidor vai retornar google.rpc.Code.INVALID_ARGUMENT. |
VIDEO |
Vídeo em 360°. |
XDM |
Extensible Device Metadata, http://www.xdm.org (em inglês) |