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 d'une métadonnée Extensible Device Metadata (XDM, http://www.xdm.org/) pour la 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. Forme d'entrée 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.

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ées 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. 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 dont le code temporel augmente.

uploadReference

object (UploadRef)

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

captureTimeOverride

string (Timestamp format)

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

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

uploadTime

string (Timestamp format)

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

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. 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 horodatages croissants provenant de l'appareil et qui ne sont pas synchronisés avec chaque photo. Ces mesures brutes seront utilisées pour déduire la pose de chaque image. Obligatoire en entrée lorsque le type d'entrée est VIDEO et que les mesures GPS brutes ne sont pas incluses dans la piste de métadonnées de mouvement de la caméra (CAMM). L'utilisateur peut indiquer celle qui prévaut à l'aide de gpsSource si les mesures GPS brutes sont fournies à la fois dans la timeline brute et dans la piste CAMM (Camera Motion Metadata Track).

gpsSource

enum (GpsSource)

Uniquement en entrée. Si la timeline brute et la piste de métadonnées de mouvement de la caméra (CAMM) contiennent des mesures GPS, indiquez celle qui prévaut.

imu

object (Imu)

Uniquement en entrée. Données IMU sur 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 prévalent toujours 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 cette séquence indique "processingState" sur FAILED, indique la raison de l'échec. Si la valeur "processingState" est différente, 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 incluses.

distanceMeters

number

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

sequenceBounds

object (LatLngBounds)

Uniquement en sortie. Cadre rectangulaire qui encapsule toutes les images 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 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 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 de la piste CAMM (Motion Metadata Track) de la caméra est prioritaire, le cas échéant.

Imu

les 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)

Les mesures de l'accéléromètre sont exprimées en mètres/s^2, et les codes temporels proviennent des appareils.

gyroRps[]

object (Measurement3d)

Les mesures du gyroscope sont exprimées en radians/s avec des codes temporels croissants provenant des appareils.

magUt[]

object (Measurement3d)

Les mesures du magnétomètre du champ magnétique en microteslas (uT) avec des horodatages croissants provenant des appareils.

Mesure3 j

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

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

string (Timestamp format)

Code temporel de la mesure de la centrale inertielle.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. 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 se déplacent 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 traitée peut être de nouveau traitée à 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'affinage de la position) est terminé.
FAILED Échec du traitement de la séquence. Pour en savoir plus, reportez-vous à FailureReason.

ProcessingFailureReason

Causes possibles de l'échec du traitement de cet PhotoSequence.

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 l'image vidéo est trop faible.
DUPLICATE Cette vidéo a déjà été mise en ligne.
INSUFFICIENT_GPS Points GPS insuffisants.
NO_OVERLAP_GPS Aucun chevauchement entre la période du tracé GPS et celle de la vidéo.
INVALID_GPS Le GPS est incorrect (par exemple, tous les points GPS sont à (0,0)).
FAILED_TO_REFINE_POSITIONS Impossible de localiser précisément la série de photos dans le monde.
TAKEDOWN La séquence a été supprimée pour des raisons de non-respect des règles.
CORRUPT_VIDEO Le fichier vidéo est 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 étaient dans le futur.
GPS_DATA_GAP Les données GPS contiennent un intervalle de plus de 5 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 est possible qu'il manque des champs obligatoires (x, y, z ou heure), qu'il ne soit pas formaté correctement ou qu'il existe 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 entre les données GPS, IMU et d'autres séries temporelles sur la période.
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 L'appareil photo n'est pas compatible.
NOT_OUTDOORS Certains cadres étaient en intérieur, ce qui n'est pas pris en charge.
INSUFFICIENT_VIDEO_FRAMES Nombre d'images vidéo insuffisant.
INSUFFICIENT_MOVEMENT Pas assez de données de déplacement.

ProcessingFailureDetails

Informations supplémentaires à fournir avec l'énumération "ProcessingFailureReason". Ce message doit toujours être utilisé 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 doit 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)

Voir ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Consultez NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Voir NoOverlapGpsFailureDetails.

InsufficientGpsFailureDetails

Détails relatifs à 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 é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 détecté dans les données GPS.

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 (à partir du début du flux vidéo) à laquelle le blanc 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 concernant la centrale inertielle, 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 de la centrale inertielle détectée.

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 (à partir du début du flux vidéo) à laquelle le blanc 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 prises à l'intérieur sont détectées, la première image 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) à partir du moment où un cadre intérieur a été détecté.

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é.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

gpsEndTime

string (Timestamp format)

Heure du dernier point GPS enregistré.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. 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.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

videoEndTime

string (Timestamp format)

Heure de fin de la vidéo.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

LatLngBounds

Rectangle en 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

Formulaires 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