- Żądanie HTTP
- Parametry zapytania
- Treść żądania
- Treść odpowiedzi
- Zakresy autoryzacji
- PhotoSequence
- GpsSource
- Imu
- Measurement3d
- ProcessingState
- ProcessingFailureReason
- ProcessingFailureDetails
- InsufficientGpsFailureDetails
- GpsDataGapFailureDetails
- ImuDataGapFailureDetails
- NotOutdoorsFailureDetails
- NoOverlapGpsFailureDetails
- LatLngBounds
- InputType
- Wypróbuj
Gdy klient zakończy przesyłanie PhotoSequence z otrzymanym UploadRef, photoSequence.create wyodrębnia sekwencję zdjęć 360° z filmu lub rozszerzalnych metadanych urządzenia (XDM, http://www.xdm.org/), które mają zostać opublikowane w Widoku Street View w Mapach Google.
photoSequence.create zwraca Operation z ustawionym identyfikatorem PhotoSequence w polu Operation.name.
Ta metoda zwraca te kody błędów:
google.rpc.Code.INVALID_ARGUMENT, jeśli żądanie jest nieprawidłowo sformatowane.google.rpc.Code.NOT_FOUNDjeśli odwołanie do przesłanego pliku nie istnieje.
Żądanie HTTP
POST https://streetviewpublish.googleapis.com/v1/photoSequence
Adres URL używa składni transkodowania gRPC.
Parametry zapytania
| Parametry | |
|---|---|
inputType |
Wymagane. Formularz wprowadzania danych |
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 sekcji OAuth 2.0 Overview.
PhotoSequence
Seria zdjęć sferycznych wraz z metadanymi.
| Zapis JSON |
|---|
{ "id": string, "photos": [ { object ( |
| Pola | |
|---|---|
id |
Tylko dane wyjściowe. Unikalny identyfikator sekwencji zdjęć. Jeśli przesyłanie jest wykonywane asynchronicznie, jest to również identyfikator długo trwającej operacji. |
photos[] |
Tylko dane wyjściowe. Zdjęcia z rosnącymi sygnaturami czasowymi. |
uploadReference |
Tylko dane wejściowe. Wymagane podczas tworzenia sekwencji zdjęć. Nazwa zasobu, do którego przesyłane są bajty sekwencji zdjęć (w formie filmu). |
captureTimeOverride |
Opcjonalnie: Bezwzględny czas rozpoczęcia rejestrowania sekwencji zdjęć. Jeśli sekwencja zdjęć jest filmem, jest to czas rozpoczęcia filmu. Jeśli to pole jest wypełnione w danych wejściowych, zastępuje czas rejestracji w pliku wideo lub XDM. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
uploadTime |
Tylko dane wyjściowe. Czas utworzenia tej sekwencji zdjęć w usłudze uSV Store. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
rawGpsTimeline[] |
Tylko dane wejściowe. Surowe pomiary GPS z rosnącymi sygnaturami czasowymi z urządzenia, które nie są zsynchronizowane z czasem wykonania poszczególnych zdjęć. Te surowe pomiary będą używane do określania pozycji w każdej klatce. Wymagane w danych wejściowych, gdy InputType to VIDEO, a surowe pomiary GPS nie znajdują się w śladzie metadanych ruchu kamery (CAMM). Użytkownik może wskazać, które dane mają pierwszeństwo, za pomocą parametru gpsSource, jeśli surowe pomiary GPS są podane zarówno w rawGpsTimeline, jak i w śladzie metadanych ruchu kamery (CAMM). |
gpsSource |
Tylko dane wejściowe. Jeśli zarówno rawGpsTimeline, jak i Camera Motion Metadata Track (CAMM) zawierają pomiary GPS, wskaż, które z nich mają pierwszeństwo. |
imu |
Tylko dane wejściowe. Dane z 3-osiowego IMU dotyczące kolekcji. Jeśli te dane są zbyt duże, aby umieścić je w żądaniu, należy je umieścić na ścieżce CAMM filmu. Te dane mają zawsze pierwszeństwo przed odpowiednimi danymi CAMM, jeśli takie istnieją. |
processingState |
Tylko dane wyjściowe. Stan przetwarzania tej sekwencji. |
failureReason |
Tylko dane wyjściowe. Jeśli sekwencja ma wartość processingState = FAILED, ten element będzie zawierać przyczynę niepowodzenia. Jeśli processingState ma inną wartość, to pole nie będzie ustawione. |
failureDetails |
Tylko dane wyjściowe. Jeśli w tej sekwencji jest ustawiona wartość |
distanceMeters |
Tylko dane wyjściowe. Obliczona odległość sekwencji zdjęć w metrach. |
sequenceBounds |
Tylko dane wyjściowe. Prostokątne pole obejmujące wszystkie obrazy w tej sekwencji zdjęć. |
viewCount |
Tylko dane wyjściowe. Łączna liczba wyświetleń wszystkich opublikowanych zdjęć w tej sekwencji zdjęć. |
filename |
Tylko dane wyjściowe. Nazwa przesyłanego pliku. Nie zawiera ścieżki do katalogu. Dostępne tylko wtedy, gdy sekwencja została przesłana na platformę, która podaje nazwę pliku. |
GpsSource
Podstawowe źródło pomiarów GPS.
| Wartości w polu enum | |
|---|---|
PHOTO_SEQUENCE |
Jeśli dane GPS w rawGpsTimeline istnieją, mają pierwszeństwo. |
CAMERA_MOTION_METADATA_TRACK |
Jeśli istnieją dane GPS w śladzie metadanych ruchu kamery (CAMM), mają one pierwszeństwo. |
Imu
dane z czujników urządzenia IMU.
| Zapis JSON |
|---|
{ "accelMpsps": [ { object ( |
| Pola | |
|---|---|
accelMpsps[] |
Pomiary akcelerometru w m/s² z rosnącymi sygnaturami czasowymi z urządzeń. |
gyroRps[] |
Pomiary żyroskopu w radianach na sekundę z rosnącymi sygnaturami czasowymi z urządzeń. |
magUt[] |
Pomiary pola magnetycznego w mikroteslach (uT) z magnetometru na urządzeniach z rosnącymi sygnaturami czasowymi. |
Measurement3d
Przykładowy pomiar 3D.
| Zapis JSON |
|---|
{ "captureTime": string, "x": number, "y": number, "z": number } |
| Pola | |
|---|---|
captureTime |
Sygnatura czasowa pomiaru IMU. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
x |
Pomiar z czujnika na osi X. |
y |
Pomiar z czujnika na osi Y. |
z |
Pomiar czujnika na osi Z. |
ProcessingState
Stan przetwarzania sekwencji. Stany zmieniają się w ten sposób:
+-------------------------+
| |
+---v---+ +----------+ +----+----+
|PENDING+-->PROCESSING+-->PROCESSED|
+---+---+ +----+-----+ +----+----+
| | |
| +--v---+ |
+-------->FAILED<---------+
+------+
Sekwencja może przejść do stanu NIEPOWODZENIE z dowolnego stanu. Przetworzoną sekwencję można też ponownie przetworzyć w dowolnym momencie.
| Wartości w polu enum | |
|---|---|
PROCESSING_STATE_UNSPECIFIED |
Stan nie jest określony. Jest to wartość domyślna. |
PENDING |
Sekwencja nie rozpoczęła jeszcze przetwarzania. |
PROCESSING |
Sekwencja jest obecnie przetwarzana. |
PROCESSED |
Sekwencja została przetworzona, w tym dopracowano pozycję. |
FAILED |
Nie udało się przetworzyć sekwencji. Więcej informacji znajdziesz w sekcji FailureReason. |
ProcessingFailureReason
Możliwe przyczyny niepowodzenia przetwarzania PhotoSequence.
| Wartości w polu enum | |
|---|---|
PROCESSING_FAILURE_REASON_UNSPECIFIED |
Nie podano przyczyny błędu. 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 |
Brak pokrywania się przedziału czasowego ścieżki GPS z przedziałem czasowym filmu. |
INVALID_GPS |
GPS jest nieprawidłowy (np. wszystkie punkty GPS mają współrzędne (0,0)) |
FAILED_TO_REFINE_POSITIONS |
Nie udało się dokładnie określić lokalizacji sekwencji zdjęć. |
TAKEDOWN |
Sekwencja została usunięta z powodu naruszenia zasad. |
CORRUPT_VIDEO |
Plik wideo był uszkodzony lub nie można go było zdekodować. |
INTERNAL |
Wystąpiła trwała awaria systemu bazowego. |
INVALID_VIDEO_FORMAT |
Nieprawidłowy lub nieobsługiwany format filmu. |
INVALID_VIDEO_DIMENSIONS |
Znaleziono nieprawidłowy współczynnik proporcji obrazu. |
INVALID_CAPTURE_TIME |
Nieprawidłowy czas nagrania. Sygnatury czasowe były w przyszłości. |
GPS_DATA_GAP |
Dane GPS zawierają przerwę dłuższą niż 5 sekund. |
JUMPY_GPS |
Dane GPS są zbyt nieregularne, aby można je było przetworzyć. |
INVALID_IMU |
Dane z IMU (akcelerometru, żyroskopu itp.) są nieprawidłowe. Mogą one nie zawierać wymaganych pól (x, y, z lub czasu), mogą być nieprawidłowo sformatowane lub mogą występować inne problemy, które uniemożliwiają naszym systemom ich przeanalizowanie. |
INSUFFICIENT_IMU |
Za mało punktów IMU. |
INSUFFICIENT_OVERLAP_TIME_SERIES |
Niewystarczające pokrywanie się zakresu czasu danych GPS, IMU i innych danych ciągu czasowego. |
IMU_DATA_GAP |
Dane z IMU (akcelerometru, żyroskopu itp.) zawierają przerwy dłuższe niż 0, 1 sekundy. |
UNSUPPORTED_CAMERA |
Kamera nie jest obsługiwana. |
NOT_OUTDOORS |
Niektóre klatki zostały zarejestrowane w pomieszczeniach, co nie jest obsługiwane. |
INSUFFICIENT_VIDEO_FRAMES |
Za mało klatek filmu. |
INSUFFICIENT_MOVEMENT |
Brak wystarczających danych o ruchu. |
MAST_DOWN |
Maszt nie jest ustawiony. |
CAMERA_COVERED |
Kamera jest zakryta. |
ProcessingFailureDetails
Dodatkowe informacje dotyczące wyliczenia ProcessingFailureReason. Ten komunikat powinien być zawsze używany w połączeniu z atrybutem ProcessingFailureReason, a wartość oneof ustawiona w tym komunikacie powinna być zgodna z atrybutem FailureReason.
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze details. Ustawiony zostanie tylko jeden zestaw szczegółów, który musi być zgodny z odpowiednim wyliczeniem w ProcessingFailureReason. details może mieć tylko jedną z tych wartości: |
|
insufficientGpsDetails |
Zobacz InsufficientGpsFailureDetails. |
gpsDataGapDetails |
Zobacz GpsDataGapFailureDetails. |
imuDataGapDetails |
Zobacz ImuDataGapFailureDetails. |
notOutdoorsDetails |
Zobacz NotOutdoorsFailureDetails. |
noOverlapGpsDetails |
Zobacz NoOverlapGpsFailureDetails. |
InsufficientGpsFailureDetails
Szczegóły dotyczące ProcessingFailureReason#INSUFFICIENT_GPS.
| Zapis JSON |
|---|
{ "gpsPointsFound": integer } |
| Pola | |
|---|---|
gpsPointsFound |
Liczba punktów GPS znalezionych w filmie. |
GpsDataGapFailureDetails
Szczegóły związane z przyczyną błędu przetwarzania ProcessingFailureReason#GPS_DATA_GAP. Jeśli występuje kilka przerw w danych GPS, podawana jest tylko ta o najdłuższym czasie trwania.
| Zapis JSON |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| Pola | |
|---|---|
gapDuration |
Czas trwania znalezionego luki w danych GPS. Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
gapStartTime |
Czas względny (od początku strumienia wideo), w którym rozpoczęła się przerwa. Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
ImuDataGapFailureDetails
Szczegóły związane z przyczyną błędu przetwarzania ProcessingFailureReason#IMU_DATA_GAP. Jeśli występuje kilka przerw w danych z IMU, podawana jest tylko ta o najdłuższym czasie trwania.
| Zapis JSON |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| Pola | |
|---|---|
gapDuration |
Czas trwania wykrytej luki w danych IMU. Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
gapStartTime |
Czas względny (od początku strumienia wideo), w którym rozpoczęła się przerwa. Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
NotOutdoorsFailureDetails
Szczegóły dotyczące ProcessingFailureReason#NOT_OUTDOORS. Jeśli znaleziono wiele klatek w pomieszczeniu, pierwsza z nich jest rejestrowana w tym miejscu.
| Zapis JSON |
|---|
{ "startTime": string } |
| Pola | |
|---|---|
startTime |
Czas względny (od początku strumienia wideo), w którym znaleziono klatkę filmu kręconego w pomieszczeniu. Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
NoOverlapGpsFailureDetails
Szczegóły dotyczące PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.
| Zapis JSON |
|---|
{ "gpsStartTime": string, "gpsEndTime": string, "videoStartTime": string, "videoEndTime": string } |
| Pola | |
|---|---|
gpsStartTime |
Czas pierwszego zarejestrowanego punktu GPS. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
gpsEndTime |
Czas ostatniego zarejestrowanego punktu GPS. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
videoStartTime |
Czas rozpoczęcia filmu. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
videoEndTime |
Czas zakończenia filmu. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
LatLngBounds
Prostokąt we współrzędnych geograficznych.
| Zapis JSON |
|---|
{ "southwest": { object ( |
| Pola | |
|---|---|
southwest |
Południowo-zachodni róg tych granic. |
northeast |
Północno-wschodni róg tych granic. |
InputType
Formularze wejściowe PhotoSequence.
| Wartości w polu enum | |
|---|---|
INPUT_TYPE_UNSPECIFIED |
Nie określono. Serwer zwróci google.rpc.Code.INVALID_ARGUMENT. |
VIDEO |
Film sferyczny. |
XDM |
Extensible Device Metadata, http://www.xdm.org |