Method: photoSequence.create

Gdy klient zakończy przesyłanie PhotoSequence ze zwróconym UploadRef, photoSequence.create wyodrębnia sekwencję zdjęć sferycznych z filmu lub metadanych urządzenia Extensible Device Metadata (XDM, http://www.xdm.org/) do opublikowania w Street View w Mapach Google.

photoSequence.create zwraca wartość Operation z identyfikatorem PhotoSequence ustawionym w polu Operation.name.

Ta metoda zwraca te kody błędów:

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Parametry zapytania

Parametry
inputType

enum (InputType)

Wymagane. Forma wejściowa PhotoSequence.

Treść żądania

Treść żądania zawiera wystąpienie elementu PhotoSequence.

Treść odpowiedzi

Jeśli operacja się uda, treść odpowiedzi będzie zawierała nowo utworzoną instancję Operation.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.

PhotoSequence

Sekwencja zdjęć sferycznych wraz z metadanymi.

Zapis 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
}
Pola
id

string

Tylko dane wyjściowe. Unikalny identyfikator sekwencji zdjęć. Jeśli przesyłanie odbywa się asynchronicznie, pełni również funkcję identyfikatora długo trwającej operacji.

photos[]

object (Photo)

Tylko dane wyjściowe. Zdjęcia z coraz większą liczbą sygnatur czasowych.

uploadReference

object (UploadRef)

Tylko dane wejściowe. Wymagane przy tworzeniu sekwencji zdjęć. Nazwa zasobu, do którego przesyłane są bajty sekwencji zdjęć (w formie filmu).

captureTimeOverride

string (Timestamp format)

Opcjonalnie: Bezwzględny czas, w którym rozpocznie się wykonywanie sekwencji zdjęć. Jeśli sekwencja zdjęć to film, jest to czas jego rozpoczęcia. Jeśli to pole zostanie wypełnione, zastępuje czas przechwytywania filmu lub pliku XDM.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

uploadTime

string (Timestamp format)

Tylko dane wyjściowe. Godzina utworzenia tej sekwencji zdjęć w usłudze Sklep uSV.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

rawGpsTimeline[]

object (Pose)

Tylko dane wejściowe. Nieprzetworzone pomiary GPS z rosnącymi sygnaturami czasowymi z urządzenia, które nie są synchronizowane z każdym zdjęciem. Te nieprzetworzone pomiary posłużą do ustalenia pozycji każdej klatki. Wymagane w przypadku danych wejściowych, gdy typ źródła ma wartość VIDEO, a nieprzetworzone pomiary GPS nie są uwzględniane w ramach ścieżki metadanych aparatu (CAMM). Użytkownik może wskazać, który z tych parametrów ma pierwszeństwo, korzystając z parametru gpsSource, jeśli nieprzetworzone pomiary GPS są podane zarówno w rawGpsTimeline, jak i w Cam Motion Metadata Track (CAMM).

gpsSource

enum (GpsSource)

Tylko dane wejściowe. Jeśli zarówno rawGpsTimeline, jak i CAMM zawierają pomiary GPS, wskaż, który z nich ma pierwszeństwo.

imu

object (Imu)

Tylko dane wejściowe. Trójosiowe dane IMU dla zbioru. Jeśli dane są zbyt duże, aby umieścić je w żądaniu, należy je umieścić w ścieżce CAMM dla filmu. Te dane mają zawsze pierwszeństwo przed równoważnymi danymi CAMM, jeśli istnieją.

processingState

enum (ProcessingState)

Tylko dane wyjściowe. Stan przetwarzania tej sekwencji.

failureReason

enum (ProcessingFailureReason)

Tylko dane wyjściowe. Jeśli ta sekwencja ma parametr conversionState = FAILED, w tym miejscu pojawi się przyczyna niepowodzenia. Jeśli parametr „processState” ma inną wartość, to pole nie zostanie odznaczone.

failureDetails

object (ProcessingFailureDetails)

Tylko dane wyjściowe. Jeśli ta sekwencja ma ustawiony typ failureReason, może ona zawierać dodatkowe informacje o błędzie.

distanceMeters

number

Tylko dane wyjściowe. Obliczona odległość sekwencji zdjęć w metrach.

sequenceBounds

object (LatLngBounds)

Tylko dane wyjściowe. Prostokątne pole, które obejmuje wszystkie obrazy w tej sekwencji zdjęć.

viewCount

string (int64 format)

Tylko dane wyjściowe. Łączna liczba wyświetleń wszystkich opublikowanych zdjęć w tej sekwencji zdjęć.

filename

string

Tylko dane wyjściowe. Nazwa przesyłanego pliku. Nie obejmuje ścieżki katalogu. Dostępne tylko wtedy, gdy sekwencja została przesłana na platformę, która zapewnia nazwę pliku.

GpsSource

Podstawowe źródło pomiarów GPS.

Wartości w polu enum
PHOTO_SEQUENCE GPS w rawGpsTimeline ma pierwszeństwo, jeśli istnieje.
CAMERA_MOTION_METADATA_TRACK GPS w ścieżce metadanych kamery w ruchu (CAMM) ma pierwszeństwo, jeśli istnieje.

Imu

Dane IMU z czujników urządzenia.

Zapis JSON
{
  "accelMpsps": [
    {
      object (Measurement3d)
    }
  ],
  "gyroRps": [
    {
      object (Measurement3d)
    }
  ],
  "magUt": [
    {
      object (Measurement3d)
    }
  ]
}
Pola
accelMpsps[]

object (Measurement3d)

Pomiary przy użyciu akcelerometru w metrach/s^2 wraz z rosnącą liczbą sygnatur czasowych z urządzeń.

gyroRps[]

object (Measurement3d)

Pomiary żyroskopu w radianach/s z coraz większą liczbą sygnatur czasowych z urządzeń.

magUt[]

object (Measurement3d)

Pomiary pola magnetycznego przez magnetometr w mikroteslach (uT) z coraz większą liczbą sygnatur czasowych z urządzeń.

Pomiary3d

Ogólna próbka do pomiaru w 3D.

Zapis JSON
{
  "captureTime": string,
  "x": number,
  "y": number,
  "z": number
}
Pola
captureTime

string (Timestamp format)

Sygnatura czasowa pomiaru IMU.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

x

number

Pomiar z czujnika na osi X.

y

number

Pomiar z czujnika na osi Y.

z

number

Pomiar czujnika na osi Z.

ProcessingState

Stan przetwarzania sekwencji. Stany te zmieniają się w ten sposób:

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

Sekwencja może przejść do stanu BŁĄD z dowolnego stanu. Dodatkowo przetworzona sekwencja może w każdej chwili zostać ponownie przetworzona.

Wartości w polu enum
PROCESSING_STATE_UNSPECIFIED Stan nie jest określony. Jest to wartość domyślna.
PENDING Jeszcze nie rozpoczęto przetwarzania sekwencji.
PROCESSING Sekwencja jest obecnie przetwarzana.
PROCESSED Zakończono przetwarzanie sekwencji, w tym doprecyzowanie pozycji.
FAILED Nie udało się przetworzyć sekwencji. Więcej informacji znajdziesz w sekcji Błąd związany z powodem niepowodzenia.

ProcessingFailureReason

Możliwe przyczyny, dla których nie udało się przetworzyć tego elementu (PhotoSequence).

Wartości w polu enum
PROCESSING_FAILURE_REASON_UNSPECIFIED Przyczyna niepowodzenia nie jest określona. Jest to wartość domyślna.
LOW_RESOLUTION Rozdzielczość klatki filmu jest za mała.
DUPLICATE Ten film został już przesłany.
INSUFFICIENT_GPS Za mało punktów GPS.
NO_OVERLAP_GPS Przedział czasu ścieżki GPS nie pokrywa się z przedziałem czasu filmu.
INVALID_GPS GPS jest nieprawidłowy (np. wszystkie punkty GPS są ustawione na (0,0))
FAILED_TO_REFINE_POSITIONS Nie udało się dokładnie zlokalizować sekwencji zdjęć w różnych miejscach świata.
TAKEDOWN Sekwencja została usunięta z powodu naruszenia zasad.
CORRUPT_VIDEO Plik wideo jest uszkodzony lub nie można go zdekodować.
INTERNAL Wystąpił trwała awaria w bazowym systemie.
INVALID_VIDEO_FORMAT Nieprawidłowy lub nieobsługiwany format filmu.
INVALID_VIDEO_DIMENSIONS Znaleziono nieprawidłowy format obrazu.
INVALID_CAPTURE_TIME Nieprawidłowy czas przechwytywania. Sygnatury czasowe pochodzą z przyszłości.
GPS_DATA_GAP Dane GPS zawierają lukę trwającą ponad 5 sekund.
JUMPY_GPS Dane GPS są zbyt nieregularne, aby można je było przetworzyć.
INVALID_IMU Dane IMU (akcelerometru, żyroskopu itp.) są nieprawidłowe. Może brakować w nich wymaganych pól (x, y, z lub godzina), mają niepoprawny format lub występują inne problemy, które uniemożliwiają naszym systemom ich analizę.
INSUFFICIENT_IMU Za mało punktów IMU.
INSUFFICIENT_OVERLAP_TIME_SERIES Niewystarczające pokrywanie się przedziałów czasowych między danymi GPS, IMU i innymi ciągami czasowymi.
IMU_DATA_GAP Dane IMU (akcelerometru, żyroskopu itp.) zawierają przerwy trwające ponad 0, 1 sekundy.
UNSUPPORTED_CAMERA Aparat nie jest obsługiwany.
NOT_OUTDOORS Niektóre klatki były wyświetlane wewnątrz budynków, co nie jest obsługiwane.
INSUFFICIENT_VIDEO_FRAMES Za mało klatek wideo.
INSUFFICIENT_MOVEMENT Za mało danych w ruchu.

ProcessingFailureDetails

Dodatkowe informacje dołączane do enum ProcessingFailureReason. Ten komunikat powinien być zawsze używany w połączeniu z parametrem ProcessingFailureReason, a jedna z wartości ustawiona w tej wiadomości powinna być zgodna z parametrem AcceptureReason.

Zapis 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.
}
Pola
Pole sumy details. Ustawiony zostanie tylko 1 zestaw szczegółów, który musi odpowiadać odpowiedniemu wyliczeniu w ProcessingFailureReason. details może mieć tylko jedną z tych wartości:
insufficientGpsDetails

object (InsufficientGpsFailureDetails)

Zapoznaj się z informacjami o InsufficientGpsFailureDetails.

gpsDataGapDetails

object (GpsDataGapFailureDetails)

Zobacz GpsDataGapFailureDetails.

imuDataGapDetails

object (ImuDataGapFailureDetails)

Zobacz ImuDataGapFailureDetails.

notOutdoorsDetails

object (NotOutdoorsFailureDetails)

Zobacz NotOutdoorsFailureDetails.

noOverlapGpsDetails

object (NoOverlapGpsFailureDetails)

Zobacz NoOverlapGpsFailureDetails.

InsufficientGpsFailureDetails

Szczegóły dotyczące błędu ProcessingFailureReason#INSUFFICIENT_GPS.

Zapis JSON
{
  "gpsPointsFound": integer
}
Pola
gpsPointsFound

integer

Liczba punktów GPS znalezionych w filmie.

GpsDataGapFailureDetails

Szczegóły dotyczące błędu ProcessingFailureReason#GPS_DATA_GAP. Jeśli w danych GPS występuje wiele luk, w tym raporcie uwzględniana jest tylko ta o najdłuższym czasie trwania.

Zapis JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Pola
gapDuration

string (Duration format)

Czas trwania luki w danych GPS, które zostały znalezione.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „s”. Przykład: "3.5s".

gapStartTime

string (Duration format)

Względny czas (od początku strumienia wideo), w którym zaczęła się przerwa.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „s”. Przykład: "3.5s".

ImuDataGapFailureDetails

Szczegóły dotyczące błędu ProcessingFailureReason#IMU_DATA_GAP. Jeśli występuje wiele luk w danych IMU, w tym raporcie podawana jest tylko ta o najdłuższym czasie trwania.

Zapis JSON
{
  "gapDuration": string,
  "gapStartTime": string
}
Pola
gapDuration

string (Duration format)

Czas trwania luki w znalezionych danych IMU.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „s”. Przykład: "3.5s".

gapStartTime

string (Duration format)

Względny czas (od początku strumienia wideo), w którym zaczęła się przerwa.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „s”. Przykład: "3.5s".

NotOutdoorsFailureDetails

Szczegóły dotyczące parametru ProcessingFailureReason#NOT_OUTDOORS. Jeśli zostanie znalezionych kilka klatek wewnątrz, tutaj zostanie zarejestrowana pierwsza z nich.

Zapis JSON
{
  "startTime": string
}
Pola
startTime

string (Duration format)

Względny czas (od początku strumienia wideo), w którym znaleziono klatkę wewnętrzną.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „s”. Przykład: "3.5s".

NoOverlapGpsFailureDetails

Szczegóły dotyczące błędu PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.

Zapis JSON
{
  "gpsStartTime": string,
  "gpsEndTime": string,
  "videoStartTime": string,
  "videoEndTime": string
}
Pola
gpsStartTime

string (Timestamp format)

Czas pierwszego zarejestrowania punktu GPS.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

gpsEndTime

string (Timestamp format)

Czas ostatniego zarejestrowania punktu GPS.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

videoStartTime

string (Timestamp format)

Czas rozpoczęcia filmu.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

videoEndTime

string (Timestamp format)

Czas zakończenia filmu.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

LatLngBounds

Prostokąt we współrzędnych geograficznych.

Zapis JSON
{
  "southwest": {
    object (LatLng)
  },
  "northeast": {
    object (LatLng)
  }
}
Pola
southwest

object (LatLng)

Południowo-zachodni róg tych granic.

northeast

object (LatLng)

Północno-wschodni róg tych granic.

InputType

Wejściowe formy liczb PhotoSequence.

Wartości w polu enum
INPUT_TYPE_UNSPECIFIED Nie określono. Serwer zwróci wartość google.rpc.Code.INVALID_ARGUMENT.
VIDEO Film sferyczny.
XDM Extensible Device Metadata, http://www.xdm.org