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° d'une vidéo ou des métadonnées de périphérique extensible (XDM, http://www.xdm.org/) à publier dans Street View sur Google Maps.

photoSequence.create renvoie un 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. Formulaire de saisie de PhotoSequence.

Corps de la requête

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

Corps de la réponse

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

Niveaux d'accès des autorisations

Requiert le niveau d'accès OAuth suivant :

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

Pour plus d'informations, consultez la OAuth 2.0 Overview.

PhotoSequence

Séquence de photos à 360° avec 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 de photos. Il 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 croissants.

uploadReference

object (UploadRef)

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

captureTimeOverride

string (Timestamp format)

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

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

uploadTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle cette séquence de photos a été créée dans le service uSV Store.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

rawGpsTimeline[]

object (Pose)

Uniquement en entrée. Mesures GPS brutes avec des codes temporels croissants provenant 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 frame. Obligatoire dans l'entrée lorsque InputType est défini sur VIDEO et que les mesures GPS brutes ne figurent pas dans la piste de métadonnées de mouvement de la caméra (CAMM). L'utilisateur peut indiquer lequel est prioritaire à l'aide de gpsSource si des mesures GPS brutes sont fournies à la fois dans rawGpsTimeline et dans la piste de métadonnées de mouvement de la caméra (CAMM).

gpsSource

enum (GpsSource)

Uniquement en entrée. Si rawGpsTimeline et la piste de métadonnées de mouvement de la caméra (CAMM) contiennent des mesures GPS, indiquez laquelle 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 placées dans la piste CAMM de la vidéo. Ces données prévalent toujours sur les données CAMM équivalentes, si elles existent.

processingState

enum (ProcessingState)

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

failureReason

enum (ProcessingFailureReason)

Uniquement en sortie. Si cette séquence a processingState = FAILED, ce champ indique la raison de l'échec. Si processingState a une autre valeur, ce champ ne sera pas défini.

failureDetails

object (ProcessingFailureDetails)

Uniquement en sortie. Si cette séquence a la valeur failureReason définie, elle peut contenir des informations supplémentaires sur l'échec.

distanceMeters

number

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

sequenceBounds

object (LatLngBounds)

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

viewCount

string (int64 format)

Uniquement en sortie. Nombre total de vues enregistrées par toutes les images publiées dans cette séquence photo.

filename

string

Uniquement en sortie. Nom du fichier importé. 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 qui fournit le nom de fichier.

GpsSource

Source principale des mesures GPS.

Enums
PHOTO_SEQUENCE Le GPS dans rawGpsTimeline 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.

Imu

Données de l'unité de mesure inertielle (IMU) provenant des capteurs de l'appareil.

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

object (Measurement3d)

Mesures de l'accéléromètre en mètres/s^2 avec des codes temporels croissants provenant des appareils.

gyroRps[]

object (Measurement3d)

Mesures du gyroscope en radians/s avec des codes temporels croissants provenant des appareils.

magUt[]

object (Measurement3d)

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

Measurement3d

Exemple générique de mesure 3D.

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

string (Timestamp format)

Code temporel de la mesure de l'UMI.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

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 évoluent comme suit :

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

La séquence peut passer à l'état ÉCHEC depuis n'importe quel état. De plus, une séquence traitée peut être retraitée à tout moment.

Enums
PROCESSING_STATE_UNSPECIFIED L'état n'est pas spécifié (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 est terminé, y compris l'affinage de la position.
FAILED Le traitement de la séquence a échoué. Pour en savoir plus, consultez FailureReason.

ProcessingFailureReason

Les raisons possibles pour lesquelles cette PhotoSequence n'a pas pu être traitée.

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 de la vidéo est trop faible.
DUPLICATE Cette vidéo a déjà été mise en ligne.
INSUFFICIENT_GPS Nombre de points GPS insuffisant.
NO_OVERLAP_GPS Les périodes du tracé GPS et de la vidéo ne se chevauchent pas.
INVALID_GPS Le GPS n'est pas valide (par exemple, tous les points GPS sont à (0,0))
FAILED_TO_REFINE_POSITIONS La séquence de photos n'a pas pu être localisée précisément dans le monde.
TAKEDOWN La séquence a été supprimée pour non-respect des règles.
CORRUPT_VIDEO Le fichier vidéo était corrompu ou n'a pas pu être décodé.
INTERNAL Une défaillance permanente s'est produite dans le système sous-jacent.
INVALID_VIDEO_FORMAT Le format de la vidéo n'est pas valide ou n'est pas accepté.
INVALID_VIDEO_DIMENSIONS Le format de l'image n'est pas valide.
INVALID_CAPTURE_TIME Date et heure d'enregistrement non valides. Les codes temporels étaient situés 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 l'IMU (accéléromètre, gyroscope, etc.) ne sont pas valides. Il peut manquer des champs obligatoires (x, y, z ou heure), le format peut être incorrect ou tout autre problème peut empêcher nos systèmes de l'analyser.
INSUFFICIENT_IMU Pas assez de points IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Le chevauchement de la période entre les données GPS, IMU et autres séries temporelles est insuffisant.
IMU_DATA_GAP Les données de l'IMU (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é prises à l'intérieur, ce qui n'est pas autorisé.
INSUFFICIENT_VIDEO_FRAMES Nombre insuffisant d'images vidéo.
INSUFFICIENT_MOVEMENT Données de déplacement insuffisantes.
MAST_DOWN Le bras mécanique est abaissé.
CAMERA_COVERED La caméra est recouverte.

ProcessingFailureDetails

Informations supplémentaires accompagnant 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 de détails sera défini et devra correspondre à l'énumération correspondante dans ProcessingFailureReason. details ne peut être qu'un des éléments suivants :
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Consultez InsufficientGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Consultez GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Consultez ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Consultez NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Voir NoOverlapGpsFailureDetails.

InsufficientGpsFailureDetails

Détails liés à ProcessingFailureReason#INSUFFICIENT_GPS.

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

integer

Nombre de points GPS trouvés dans la vidéo.

GpsDataGapFailureDetails

Détails liés à ProcessingFailureReason#GPS_DATA_GAP. S'il existe plusieurs blancs 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 détecté.

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)

Heure relative (depuis le début du flux vidéo) à laquelle le saut 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 liés à ProcessingFailureReason#IMU_DATA_GAP. S'il existe plusieurs lacunes dans les données IMU, seule celle dont la durée est la plus longue est signalée ici.

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

string (Duration format)

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

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)

Heure relative (depuis le début du flux vidéo) à laquelle le saut 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 liés à ProcessingFailureReason#NOT_OUTDOORS. Si plusieurs cadres intérieurs sont trouvés, le premier est enregistré ici.

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

string (Duration format)

Heure relative (depuis le début du flux vidéo) à laquelle une image intérieure a été trouvée.

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

NoOverlapGpsFailureDetails

Informations liées à 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é.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

gpsEndTime

string (Timestamp format)

Heure du dernier point GPS enregistré.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

videoStartTime

string (Timestamp format)

Heure de début de la vidéo.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

videoEndTime

string (Timestamp format)

Heure de fin de la vidéo.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

LatLngBounds

Rectangle en coordonnées géographiques.

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

object (LatLng)

Angle sud-ouest de ces limites.

northeast

object (LatLng)

Angle nord-est de ces limites.

InputType

Formes d'entrée de PhotoSequence.

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