Method: photoSequence.create

Une fois que le client a terminé d'importer le PhotoSequence avec le UploadRef renvoyé, photoSequence.create extrait une séquence de photos à 360° à partir d'une vidéo ou d'Extensible Device Metadata (XDM, http://www.xdm.org/) à publier dans Street View sur Google Maps.

photoSequence.create renvoie Operation, avec l'ID PhotoSequence défini dans le champ Operation.name.

Cette méthode renvoie les codes d'erreur suivants:

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de requête

Paramètres
inputType

enum (InputType)

Obligatoire. Format de saisie de PhotoSequence.

Corps de la requête

Le corps de la requête contient une instance PhotoSequence.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/streetviewpublish

Pour en savoir plus, consultez la présentation d'OAuth 2.0.

PhotoSequence

Séquence de photos à 360° accompagnée de métadonnées

Représentation 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
}
Champs
id

string

Uniquement en sortie. Identifiant unique de la séquence photo. Cet ID sert également d'ID d'opération de longue durée si l'importation est effectuée de manière asynchrone.

photos[]

object (Photo)

Uniquement en sortie. Photos avec des codes temporels de plus en plus longs.

uploadReference

object (UploadRef)

Uniquement en entrée. Obligatoire lors de la création d'une séquence photo. Nom de la ressource où sont importés les octets de la séquence photo (sous forme de vidéo).

captureTimeOverride

string (Timestamp format)

Facultatif. Heure absolue à laquelle la séquence photo commence à être enregistrée. Si la séquence de photos est une vidéo, il s'agit du début de la vidéo. Si ce champ est renseigné, il remplace l'heure de capture indiquée dans le fichier vidéo ou XDM.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

uploadTime

string (Timestamp format)

Uniquement en sortie. Date et heure de création de cette séquence de photos dans le service uSV Store.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

rawGpsTimeline[]

object (Pose)

Uniquement en entrée. Mesures GPS brutes avec des codes temporels croissants de l'appareil qui ne sont pas synchronisés avec chaque photo. Ces mesures brutes seront utilisées pour déduire la pose de chaque image. Requis en entrée lorsque le type d'entrée est VIDEO et que les mesures GPS brutes ne sont pas dans la piste de métadonnées de mouvement de la caméra (CAMM). L'utilisateur peut indiquer laquelle est prioritaire à l'aide de gpsSource si les mesures GPS brutes sont fournies à la fois dans le flux brutGpsTimeline et dans la piste de métadonnées de mouvement de la caméra (CAMM, Camera Motion Metadata Track).

gpsSource

enum (GpsSource)

Uniquement en entrée. Si le champ "rawGpsTimeline" et le module CAMM (Camera Motion Metadata Track) contiennent des mesures GPS, indiquez lequel est prioritaire.

imu

object (Imu)

Uniquement en entrée. Données IMU à trois axes pour la collecte. Si ces données sont trop volumineuses pour être incluses dans la demande, elles doivent être incluses dans la piste CAMM de la vidéo. Ces données ont toujours priorité sur les données CAMM équivalentes, le cas échéant.

processingState

enum (ProcessingState)

Uniquement en sortie. État de traitement de cette séquence.

failureReason

enum (ProcessingFailureReason)

Uniquement en sortie. Si le paramètre ProcessingState est défini sur FAILED pour cette séquence, la raison pour laquelle elle a échoué s'affiche. Si "processingState" correspond à une autre valeur, ce champ n'est pas défini.

failureDetails

object (ProcessingFailureDetails)

Uniquement en sortie. Si failureReason est défini pour cette séquence, des informations supplémentaires sur l'échec peuvent être affichées.

distanceMeters

number

Uniquement en sortie. Distance calculée de la séquence photo en mètres.

sequenceBounds

object (LatLngBounds)

Uniquement en sortie. Boîte rectangulaire qui encapsule chaque image de cette séquence photo.

viewCount

string (int64 format)

Uniquement en sortie. Nombre total de vues pour toutes les images publiées de cette PhotoSequence.

filename

string

Uniquement en sortie. Nom de fichier de l'importation. N'inclut pas le chemin d'accès au répertoire. Disponible uniquement si la séquence a été importée sur une plate-forme fournissant le nom de fichier.

GpsSource

Source principale des mesures GPS.

Enums
PHOTO_SEQUENCE Le GPS dans brutGpsTimeline est prioritaire s'il existe.
CAMERA_MOTION_METADATA_TRACK Le GPS dans la piste de métadonnées de mouvement de la caméra (CAMM) est prioritaire s'il existe.

Immu

Données de la centrale inertielle provenant des capteurs de l'appareil.

Représentation JSON
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
Champs
accelMpsps[]

object (Measurement3d)

L'accéléromètre mesure les mesures en mètres/s^2 avec des codes temporels croissants provenant des appareils.

gyroRps[]

object (Measurement3d)

Le gyroscope mesure les mesures en radians/s avec des codes temporels croissants provenant des appareils.

magUt[]

object (Measurement3d)

Mesures du magnétomètre du champ magnétique en microtesla (uT) avec des codes temporels croissants provenant des appareils.

Mesure3j

Échantillon de mesure 3D générique.

Représentation JSON
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
Champs
captureTime

string (Timestamp format)

Horodatage de la mesure de la IMU.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

x

number

Mesure du capteur sur l'axe X.

y

number

Mesure du capteur sur l'axe Y.

z

number

Mesure du capteur sur l'axe Z.

ProcessingState

État de traitement de la séquence. Les états sont déplacés comme suit:

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

La séquence peut passer à l'état "FAILED" depuis n'importe quel état. En outre, une séquence peut être traitée à nouveau à tout moment.

Enums
PROCESSING_STATE_UNSPECIFIED L'état n'est pas spécifié. Il s'agit de la valeur par défaut.
PENDING Le traitement de la séquence n'a pas encore commencé.
PROCESSING La séquence est en cours de traitement.
PROCESSED Le traitement de la séquence, y compris l'affinement de la position, est terminé.
FAILED Échec du traitement de la séquence. Voir FailureReason pour plus de détails.

ProcessingFailureReason

Raisons possibles pour lesquelles le traitement de ce PhotoSequence a échoué.

Enums
PROCESSING_FAILURE_REASON_UNSPECIFIED Le motif de l'échec n'est pas spécifié. Il s'agit de la valeur par défaut.
LOW_RESOLUTION La résolution du cadre de la vidéo est trop faible.
DUPLICATE Cette vidéo a déjà été mise en ligne.
INSUFFICIENT_GPS Le nombre de points GPS est insuffisant.
NO_OVERLAP_GPS Il n'y a pas de chevauchement entre la période de la piste GPS et celle de la vidéo.
INVALID_GPS Le GPS n'est pas valide (tous les points GPS sont par exemple à (0,0))
FAILED_TO_REFINE_POSITIONS Impossible de localiser précisément la séquence de photos au niveau mondial.
TAKEDOWN La séquence a été supprimée pour non-respect du règlement.
CORRUPT_VIDEO Le fichier vidéo était corrompu ou n'a pas pu être décodé.
INTERNAL Une défaillance permanente du système sous-jacent s'est produite.
INVALID_VIDEO_FORMAT Le format de la vidéo n'est pas valide ou n'est pas accepté.
INVALID_VIDEO_DIMENSIONS Format d'image non valide détecté.
INVALID_CAPTURE_TIME Heure de capture non valide. Les codes temporels correspondent à des dates situées dans le futur.
GPS_DATA_GAP Les données GPS contiennent un blanc de plus de cinq secondes.
JUMPY_GPS Les données GPS sont trop irrégulières pour être traitées.
INVALID_IMU Les données de la centrale inertielle (accéléromètre, gyroscope, etc.) ne sont pas valides. Il peut s'agir de champs obligatoires manquants (x, y, z ou time), d'un format incorrect ou d'un autre problème empêchant nos systèmes de les analyser.
INSUFFICIENT_IMU Trop peu de points IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Chevauchement insuffisant dans la période entre les données GPS, centrales inertielles et autres séries temporelles.
IMU_DATA_GAP Les données de la centrale inertielle (accéléromètre, gyroscope, etc.) contiennent des blancs de plus de 0,1 seconde.
UNSUPPORTED_CAMERA La caméra n'est pas compatible.
NOT_OUTDOORS Certaines images ont été tournées en intérieur, ce qui n'est pas accepté.
INSUFFICIENT_VIDEO_FRAMES Nombre d'images vidéo insuffisant.
INSUFFICIENT_MOVEMENT Pas assez de données en mouvement.

ProcessingFailureDetails

Informations supplémentaires à joindre à l'énumération ProcessingFailureReason. Ce message doit toujours être utilisé conjointement avec ProcessingFailureReason, et la valeur oneof définie dans ce message doit correspondre à FailureReason.

Représentation 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.
}
Champs
Champ d'union details. Un seul ensemble d'informations sera défini et doit correspondre à l'énumération correspondante dans ProcessingFailureReason. details ne peut être qu'un des éléments suivants :
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Consultez MissingGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Consultez GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Consultez ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Consultez NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Consultez NoOverlapGpsFailureDetails.

InsufficientGpsFailureDetails

Informations concernant ProcessingFailureReason#INSUFFICIENT_GPS.

Représentation JSON
{
  "gpsPointsFound": integer
}
Champs
gpsPointsFound

integer

Le nombre de points GPS trouvés dans la vidéo.

GpsDataGapFailureDetails

Détails concernant ProcessingFailureReason#GPS_DATA_GAP. S'il y a plusieurs écarts de données GPS, seul celui dont la durée est la plus longue est indiqué ici.

Représentation JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Champs
gapDuration

string (Duration format)

Durée de l'écart dans les données GPS trouvées.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple: "3.5s".

gapStartTime

string (Duration format)

Durée relative (depuis le début du flux vidéo) lorsque l'intervalle a commencé.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple: "3.5s".

ImuDataGapFailureDetails

Détails concernant ProcessingFailureReason#IMU_DATA_GAP. S'il existe plusieurs écarts de données de la centrale inertielle, seul celui dont la durée est la plus longue est signalé ici.

Représentation JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Champs
gapDuration

string (Duration format)

Durée de l'écart dans les données IMU trouvées.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple: "3.5s".

gapStartTime

string (Duration format)

Durée relative (depuis le début du flux vidéo) lorsque l'intervalle a commencé.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple: "3.5s".

NotOutdoorsFailureDetails

Détails concernant ProcessingFailureReason#NOT_OUTDOORS. Si plusieurs images intérieures ont été détectées, la première est enregistrée ici.

Représentation JSON
{
  "startTime": string
}
Champs
startTime

string (Duration format)

Durée relative (à partir du début du flux vidéo) pendant laquelle une image intérieure a été détectée.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple: "3.5s".

NoOverlapGpsFailureDetails

Détails concernant "PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.

Représentation JSON
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
Champs
gpsStartTime

string (Timestamp format)

Heure du premier point GPS enregistré.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

gpsEndTime

string (Timestamp format)

Heure du dernier point GPS enregistré.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

videoStartTime

string (Timestamp format)

Heure de début de la vidéo.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

videoEndTime

string (Timestamp format)

Heure de fin de la vidéo.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

LatLngBounds

Rectangle avec des coordonnées géographiques.

Représentation JSON
{
  "southwest": {
    object (LatLng)
  },
  "northeast": {
    object (LatLng)
  }
}
Champs
southwest

object (LatLng)

L'angle sud-ouest de ces limites.

northeast

object (LatLng)

L'angle nord-est de ces limites.

InputType

Formats de saisie de PhotoSequence.

Enums
INPUT_TYPE_UNSPECIFIED Non spécifié. Le serveur renvoie google.rpc.Code.INVALID_ARGUMENT.
VIDEO Vidéo à 360°.
XDM Extensible Device Metadata, http://www.xdm.org