123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- // Copyright 2019 Google LLC.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.streetview.publish.v1;
- import "google/api/annotations.proto";
- import "google/protobuf/timestamp.proto";
- import "google/type/latlng.proto";
- option go_package = "google.golang.org/genproto/googleapis/streetview/publish/v1;publish";
- option java_outer_classname = "StreetViewPublishResources";
- option java_package = "com.google.geo.ugc.streetview.publish.v1";
- // Upload reference for media files.
- message UploadRef {
- // Required. An upload reference should be unique for each user. It follows
- // the form:
- // "https://streetviewpublish.googleapis.com/media/user/{account_id}/photo/{upload_reference}"
- string upload_url = 1;
- }
- // Identifier for a [Photo][google.streetview.publish.v1.Photo].
- message PhotoId {
- // Required. A unique identifier for a photo.
- string id = 1;
- }
- // Level information containing level number and its corresponding name.
- message Level {
- // Floor number, used for ordering. 0 indicates the ground level, 1 indicates
- // the first level above ground level, -1 indicates the first level under
- // ground level. Non-integer values are OK.
- double number = 1;
- // Required. A name assigned to this Level, restricted to 3 characters.
- // Consider how the elevator buttons would be labeled for this level if there
- // was an elevator.
- string name = 2;
- }
- // Raw pose measurement for an entity.
- message Pose {
- // Latitude and longitude pair of the pose, as explained here:
- // https://cloud.google.com/datastore/docs/reference/rest/Shared.Types/LatLng
- // When creating a [Photo][google.streetview.publish.v1.Photo], if the
- // latitude and longitude pair are not provided, the geolocation from the
- // exif header is used. A latitude and longitude pair not provided in the
- // photo or exif header causes the create photo process to fail.
- google.type.LatLng lat_lng_pair = 1;
- // Altitude of the pose in meters above WGS84 ellipsoid.
- // NaN indicates an unmeasured quantity.
- double altitude = 2;
- // Compass heading, measured at the center of the photo in degrees clockwise
- // from North. Value must be >=0 and <360.
- // NaN indicates an unmeasured quantity.
- double heading = 3;
- // Pitch, measured at the center of the photo in degrees. Value must be >=-90
- // and <= 90. A value of -90 means looking directly down, and a value of 90
- // means looking directly up.
- // NaN indicates an unmeasured quantity.
- double pitch = 4;
- // Roll, measured in degrees. Value must be >= 0 and <360. A value of 0
- // means level with the horizon.
- // NaN indicates an unmeasured quantity.
- double roll = 5;
- // Level (the floor in a building) used to configure vertical navigation.
- Level level = 7;
- // The estimated horizontal accuracy of this pose in meters with 68%
- // confidence (one standard deviation). For example, on Android, this value is
- // available from this method:
- // https://developer.android.com/reference/android/location/Location#getAccuracy().
- // Other platforms have different methods of obtaining similar accuracy
- // estimations.
- float accuracy_meters = 9;
- }
- // Place metadata for an entity.
- message Place {
- // Place identifier, as described in
- // https://developers.google.com/places/place-id.
- string place_id = 1;
- // Output-only. The name of the place, localized to the language_code.
- string name = 2;
- // Output-only. The language_code that the name is localized with. This should
- // be the language_code specified in the request, but may be a fallback.
- string language_code = 3;
- }
- // A connection is the link from a source photo to a destination photo.
- message Connection {
- // Required. The destination of the connection from the containing photo to
- // another photo.
- PhotoId target = 1;
- }
- // Photo is used to store 360 photos along with photo metadata.
- message Photo {
- // Required when updating a photo. Output only when creating a photo.
- // Identifier for the photo, which is unique among all photos in
- // Google.
- PhotoId photo_id = 1;
- // Required when creating a photo. Input only. The resource URL where the
- // photo bytes are uploaded to.
- UploadRef upload_reference = 2;
- // Output only. The download URL for the photo bytes. This field is set only
- // when
- // [GetPhotoRequest.view][google.streetview.publish.v1.GetPhotoRequest.view]
- // is set to
- // [PhotoView.INCLUDE_DOWNLOAD_URL][google.streetview.publish.v1.PhotoView.INCLUDE_DOWNLOAD_URL].
- string download_url = 3;
- // Output only. The thumbnail URL for showing a preview of the given photo.
- string thumbnail_url = 9;
- // Output only. The share link for the photo.
- string share_link = 11;
- // Pose of the photo.
- Pose pose = 4;
- // Connections to other photos. A connection represents the link from this
- // photo to another photo.
- repeated Connection connections = 5;
- // Absolute time when the photo was captured.
- // When the photo has no exif timestamp, this is used to set a timestamp in
- // the photo metadata.
- google.protobuf.Timestamp capture_time = 6;
- // Places where this photo belongs.
- repeated Place places = 7;
- // Output only. View count of the photo.
- int64 view_count = 10;
- // Status of rights transfer.
- enum TransferStatus {
- // The status of this transfer is unspecified.
- TRANSFER_STATUS_UNKNOWN = 0;
- // This photo has never been in a transfer.
- NEVER_TRANSFERRED = 1;
- // This photo transfer has been initiated, but the receiver has not yet
- // responded.
- PENDING = 2;
- // The photo transfer has been completed, and this photo has been
- // transferred to the recipient.
- COMPLETED = 3;
- // The recipient rejected this photo transfer.
- REJECTED = 4;
- // The photo transfer expired before the recipient took any action.
- EXPIRED = 5;
- // The sender cancelled this photo transfer.
- CANCELLED = 6;
- // The recipient owns this photo due to a rights transfer.
- RECEIVED_VIA_TRANSFER = 7;
- }
- // Output only. Status of rights transfer on this photo.
- TransferStatus transfer_status = 12;
- // Publication status of the photo in Google Maps.
- enum MapsPublishStatus {
- // The status of the photo is unknown.
- UNSPECIFIED_MAPS_PUBLISH_STATUS = 0;
- // The photo is published to the public through Google Maps.
- PUBLISHED = 1;
- // The photo has been rejected for an unknown reason.
- REJECTED_UNKNOWN = 2;
- }
- // Output only. Status in Google Maps, whether this photo was published or
- // rejected.
- MapsPublishStatus maps_publish_status = 13;
- }
|