blob: 98443aa3eee021209bb587326f58b62b61cdf5e9 [file] [log] [blame]
// Copyright 2020 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package vectortile provides access to the Semantic Tile API.
//
// For product documentation, see: https://developers.google.com/maps/contact-sales/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/vectortile/v1"
// ...
// ctx := context.Background()
// vectortileService, err := vectortile.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// vectortileService, err := vectortile.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// vectortileService, err := vectortile.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package vectortile // import "google.golang.org/api/vectortile/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
const apiId = "vectortile:v1"
const apiName = "vectortile"
const apiVersion = "v1"
const basePath = "https://vectortile.googleapis.com/"
const mtlsBasePath = "https://vectortile.mtls.googleapis.com/"
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Featuretiles = NewFeaturetilesService(s)
s.Terraintiles = NewTerraintilesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Featuretiles *FeaturetilesService
Terraintiles *TerraintilesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewFeaturetilesService(s *Service) *FeaturetilesService {
rs := &FeaturetilesService{s: s}
return rs
}
type FeaturetilesService struct {
s *Service
}
func NewTerraintilesService(s *Service) *TerraintilesService {
rs := &TerraintilesService{s: s}
return rs
}
type TerraintilesService struct {
s *Service
}
// Area: Represents an area. Used to represent regions such as water,
// parks, etc.
type Area struct {
// HasExternalEdges: True if the polygon is not entirely internal to the
// feature that it belongs
// to: that is, some of the edges are bordering another feature.
HasExternalEdges bool `json:"hasExternalEdges,omitempty"`
// InternalEdges: When has_external_edges is true, the polygon has some
// edges that border
// another feature. This field indicates the internal edges that do not
// border
// another feature. Each value is an index into the vertices array,
// and
// denotes the start vertex of the internal edge (the next vertex in
// the
// boundary loop is the end of the edge). If the selected vertex is the
// last
// vertex in the boundary loop, then the edge between that vertex and
// the
// starting vertex of the loop is internal.
//
// This field may be used for styling. For example, building parapets
// could be
// placed only on the external edges of a building polygon, or water
// could be
// lighter colored near the external edges of a body of water.
//
// If has_external_edges is false, all edges are internal and this field
// will
// be empty.
InternalEdges []int64 `json:"internalEdges,omitempty"`
// LoopBreaks: Identifies the boundary loops of the polygon. Only set
// for INDEXED_TRIANGLE
// polygons. Each value is an index into the vertices array indicating
// the
// beginning of a loop. For instance, values of [2, 5] would
// indicate
// loop_data contained 3 loops with indices 0-1, 2-4, and 5-end.
//
// This may be used in conjunction with the internal_edges field for
// styling
// polygon boundaries. Note that an edge may be on a polygon boundary
// but
// still internal to the feature. For example, a feature split across
// multiple
// tiles will have an internal polygon boundary edge along the edge of
// the
// tile.
LoopBreaks []int64 `json:"loopBreaks,omitempty"`
// TriangleIndices: When the polygon encoding is of type
// INDEXED_TRIANGLES, this contains the
// indices of the triangle vertices in the vertex_offsets field. There
// are 3
// vertex indices per triangle.
TriangleIndices []int64 `json:"triangleIndices,omitempty"`
// Type: The polygon encoding type used for this area.
//
// Possible values:
// "TRIANGLE_FAN" - The first vertex in vertex_offset is the center of
// a triangle fan. The
// other vertices are arranged around this vertex in a fan shape.
// The
// following diagram showes a triangle fan polygon with the
// vertices
// labelled with their indices in the vertex_offset list.
//
// Triangle fan polygons always have a single boundary loop.
//
// Vertices may be in either a clockwise or counterclockwise order.
//
// (1)
// / \
// / \
// / \
// (0)-----(2)
// / \ /
// / \ /
// / \ /
// (4)-----(3)
// "INDEXED_TRIANGLES" - The polygon is a set of triangles with three
// vertex indices per triangle.
// The vertex indices can be found in the triangle_indices
// field.
//
// Indexed triangle polygons also contain information about boundary
// loops.
// These identify the loops at the boundary of the polygon and may be
// used
// in conjunction with the internal_edges field for styling. Boundary
// loops
// may represent either a hole or a disconnected component of the
// polygon.
//
// The following diagram shows an indexed triangle polygon with two
// boundary
// loops.
//
// (0) (4)
// / \ / \
// / \ / \
// (1)----(2) (3)----(5)
// "TRIANGLE_STRIP" - A strip of triangles, where each triangle uses
// the last edge of the
// previous triangle.
//
// Vertices may be in either a clockwise or counterclockwise
// order.
//
// Only polygons without the has_external_edges flag set will use
// triangle
// strips.
//
// (0)
// / \
// / \
// / \
// (2)-----(1)
// / \ /
// / \ /
// / \ /
// (4)-----(3)
Type string `json:"type,omitempty"`
// VertexOffsets: The vertices present in the polygon defining the area.
VertexOffsets *Vertex2DList `json:"vertexOffsets,omitempty"`
// ZOrder: The z-ordering of this area. Areas with a lower z-order
// should be rendered
// beneath areas with a higher z-order. This z-ordering does not
// imply
// anything about the altitude of the line relative to the ground, but
// it
// can be used to prevent z-fighting during rendering on the client.
// This
// z-ordering can only be used to compare areas, and cannot be compared
// with
// the z_order field in the Line message.
//
// The z-order may be negative or zero.
ZOrder int64 `json:"zOrder,omitempty"`
// ForceSendFields is a list of field names (e.g. "HasExternalEdges") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "HasExternalEdges") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Area) MarshalJSON() ([]byte, error) {
type NoMethod Area
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ExtrudedArea: Represents a height-extruded area: a 3D prism with a
// constant X-Y plane cross
// section. Used to represent extruded buildings. A single building may
// consist
// of several extruded areas.
//
// The min_z and max_z fields are scaled to the size of the tile. An
// extruded
// area with a max_z value of 4096 has the same height as the width of
// the tile
// that it is on.
type ExtrudedArea struct {
// Area: The area representing the footprint of the extruded area.
Area *Area `json:"area,omitempty"`
// MaxZ: The z-value in local tile coordinates where the extruded area
// ends.
MaxZ int64 `json:"maxZ,omitempty"`
// MinZ: The z-value in local tile coordinates where the extruded area
// begins. This
// is non-zero for extruded areas that begin off the ground. For
// example, a
// building with a skybridge may have an extruded area component with
// a
// non-zero min_z.
MinZ int64 `json:"minZ,omitempty"`
// ForceSendFields is a list of field names (e.g. "Area") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Area") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ExtrudedArea) MarshalJSON() ([]byte, error) {
type NoMethod ExtrudedArea
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Feature: A feature representing a single geographic entity.
type Feature struct {
// DisplayName: The localized name of this feature. Currently only
// returned for roads.
DisplayName string `json:"displayName,omitempty"`
// Geometry: The geometry of this feature, representing the space that
// it occupies in
// the world.
Geometry *Geometry `json:"geometry,omitempty"`
// PlaceId: Place ID of this feature, suitable for use in Places API
// details
// requests.
PlaceId string `json:"placeId,omitempty"`
// Relations: Relations to other features.
Relations []*Relation `json:"relations,omitempty"`
// SegmentInfo: Metadata for features with the SEGMENT FeatureType.
SegmentInfo *SegmentInfo `json:"segmentInfo,omitempty"`
// Type: The type of this feature.
//
// Possible values:
// "FEATURE_TYPE_UNSPECIFIED" - Unknown feature type.
// "STRUCTURE" - Structures such as buildings and bridges.
// "BAR" - A business serving alcoholic drinks to be consumed onsite.
// "BANK" - A financial institution that offers services to the
// general public.
// "LODGING" - A place that provides any type of lodging for
// travelers.
// "CAFE" - A business that sells coffee, tea, and sometimes small
// meals.
// "RESTAURANT" - A business that prepares meals on-site for service
// to customers.
// "EVENT_VENUE" - A venue for private and public events.
// "TOURIST_DESTINATION" - Place of interest to tourists, typically
// for natural or cultural value.
// "SHOPPING" - A structure containing a business or businesses that
// sell goods.
// "SCHOOL" - Institution where young people receive general (not
// vocation or
// professional) education.
// "SEGMENT" - Segments such as roads and train lines.
// "ROAD" - A way leading from one place to another intended for use
// by vehicles.
// "LOCAL_ROAD" - A small city street, typically for travel in a
// residential neighborhood.
// "ARTERIAL_ROAD" - Major through road that's expected to carry large
// volumes of traffic.
// "HIGHWAY" - A major road including freeways and state highways.
// "CONTROLLED_ACCESS_HIGHWAY" - A highway with grade-separated
// crossings that is accessed exclusively by
// ramps. These are usually called "freeways" or "motorways".
//
// The enable_detailed_highway_types request flag must be set in order
// for
// this type to be returned.
// "FOOTPATH" - A path that's primarily intended for use by
// pedestrians and/or cyclists.
// "RAIL" - Tracks intended for use by trains.
// "FERRY" - Services which are part of the road network but are not
// roads.
// "REGION" - Non-water areas such as parks and forest.
// "PARK" - Outdoor areas such as parks and botanical gardens.
// "BEACH" - A pebbly or sandy shore along the edge of a sea or lake.
// "FOREST" - Area of land covered by trees.
// "POLITICAL" - Political entities, such as provinces and districts.
// "ADMINISTRATIVE_AREA1" - Top-level divisions within a country, such
// as prefectures or states.
// "LOCALITY" - Cities, towns, and other municipalities.
// "SUBLOCALITY" - Divisions within a locality like a borough or ward.
// "WATER" - Water features such as rivers and lakes.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Feature) MarshalJSON() ([]byte, error) {
type NoMethod Feature
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FeatureTile: A tile containing information about the map features
// located in the region it
// covers.
type FeatureTile struct {
// Coordinates: The global tile coordinates that uniquely identify this
// tile.
Coordinates *TileCoordinates `json:"coordinates,omitempty"`
// Features: Features present on this map tile.
Features []*Feature `json:"features,omitempty"`
// Name: Resource name of the tile. The tile resource name is prefixed
// by its
// collection ID `tiles/` followed by the resource ID, which encodes
// the
// tile's global x and y coordinates and zoom level as
// `@<x>,<y>,<zoom>z`. For
// example, `tiles/@1,2,3z`.
Name string `json:"name,omitempty"`
// Providers: Data providers for the data contained in this tile.
Providers []*ProviderInfo `json:"providers,omitempty"`
// Status: Tile response status code to support tile caching.
//
// Possible values:
// "STATUS_OK" - Everything worked out OK. The cache-control header
// determines how long
// this Tile response may be cached by the client. See also version_id
// and
// STATUS_OK_DATA_UNCHANGED.
// "STATUS_OK_DATA_UNCHANGED" - Indicates that the request was
// processed successfully and that the tile
// data that would have been returned are identical to the data already
// in
// the client's cache, as specified by the value of
// client_tile_version_id
// contained in GetFeatureTileRequest.
//
// In particular, the tile's features and providers will not be
// populated
// when the tile data is identical. However, the cache-control header
// and
// version_id can still change even when the tile contents itself does
// not,
// so clients should always use the most recent values returned by the
// API.
Status string `json:"status,omitempty"`
// VersionId: An opaque value, usually less than 30 characters, that
// contains version
// info about this tile and the data that was used to generate it.
//
// The client should store this value in its tile cache and pass it back
// to
// the API in the client_tile_version_id field of subsequent tile
// requests in
// order to enable the API to detect when the new tile would be the same
// as
// the one the client already has in its cache.
//
// Also see STATUS_OK_DATA_UNCHANGED.
VersionId string `json:"versionId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Coordinates") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Coordinates") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FeatureTile) MarshalJSON() ([]byte, error) {
type NoMethod FeatureTile
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FirstDerivativeElevationGrid: A packed representation of a 2D grid of
// uniformly spaced points containing
// elevation data. Each point within the grid represents the altitude
// in
// meters above average sea level at that location within the
// tile.
//
// Elevations provided are (generally) relative to the EGM96 geoid,
// however
// some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no
// more
// than 2 meters.
//
// The grid is oriented north-west to south-east, as illustrated:
//
// rows[0].a[0] rows[0].a[m]
// +-----------------+
// | |
// | N |
// | ^ |
// | | |
// | W <-----> E |
// | | |
// | v |
// | S |
// | |
// +-----------------+
// rows[n].a[0] rows[n].a[m]
//
// Rather than storing the altitudes directly, we store the diffs
// between them
// as integers at some requested level of precision to take advantage
// of
// integer packing. The actual altitude values a[] can be reconstructed
// using
// the scale and each row's first_altitude and altitude_diff fields.
type FirstDerivativeElevationGrid struct {
// AltitudeMultiplier: A multiplier applied to the altitude fields below
// to extract the actual
// altitudes in meters from the elevation grid.
AltitudeMultiplier float64 `json:"altitudeMultiplier,omitempty"`
// Rows: Rows of points containing altitude data making up the elevation
// grid.
// Each row is the same length. Rows are ordered from north to south.
// E.g:
// rows[0] is the north-most row, and rows[n] is the south-most row.
Rows []*Row `json:"rows,omitempty"`
// ForceSendFields is a list of field names (e.g. "AltitudeMultiplier")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AltitudeMultiplier") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *FirstDerivativeElevationGrid) MarshalJSON() ([]byte, error) {
type NoMethod FirstDerivativeElevationGrid
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *FirstDerivativeElevationGrid) UnmarshalJSON(data []byte) error {
type NoMethod FirstDerivativeElevationGrid
var s1 struct {
AltitudeMultiplier gensupport.JSONFloat64 `json:"altitudeMultiplier"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.AltitudeMultiplier = float64(s1.AltitudeMultiplier)
return nil
}
// Geometry: Represents the geometry of a feature, that is, the shape
// that it has on the
// map. The local tile coordinate system has the origin at the
// north-west
// (upper-left) corner of the tile, and is scaled to 4096 units across
// each
// edge. The height (Z) axis has the same scale factor: an extruded area
// with a
// max_z value of 4096 has the same height as the width of the tile that
// it is
// on.
//
// There is no clipping boundary, so it is possible that some
// coordinates will
// lie outside the tile boundaries.
type Geometry struct {
// Areas: The areas present in this geometry.
Areas []*Area `json:"areas,omitempty"`
// ExtrudedAreas: The extruded areas present in this geometry.
ExtrudedAreas []*ExtrudedArea `json:"extrudedAreas,omitempty"`
// Lines: The lines present in this geometry.
Lines []*Line `json:"lines,omitempty"`
// ModeledVolumes: The modeled volumes present in this geometry.
ModeledVolumes []*ModeledVolume `json:"modeledVolumes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Areas") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Areas") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Geometry) MarshalJSON() ([]byte, error) {
type NoMethod Geometry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Line: Represents a 2D polyline. Used to represent segments such as
// roads, train
// tracks, etc.
type Line struct {
// VertexOffsets: The vertices present in the polyline.
VertexOffsets *Vertex2DList `json:"vertexOffsets,omitempty"`
// ZOrder: The z-order of the line. Lines with a lower z-order should be
// rendered
// beneath lines with a higher z-order. This z-ordering does not
// imply
// anything about the altitude of the area relative to the ground, but
// it
// can be used to prevent z-fighting during rendering on the client.
// In
// general, larger and more important road features will have a higher
// z-order
// line associated with them. This z-ordering can only be used to
// compare
// lines, and cannot be compared with the z_order field in the Area
// message.
//
// The z-order may be negative or zero.
ZOrder int64 `json:"zOrder,omitempty"`
// ForceSendFields is a list of field names (e.g. "VertexOffsets") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "VertexOffsets") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Line) MarshalJSON() ([]byte, error) {
type NoMethod Line
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ModeledVolume: Represents a modeled volume in 3D space. Used to
// represent 3D buildings.
type ModeledVolume struct {
// Strips: The triangle strips present in this mesh.
Strips []*TriangleStrip `json:"strips,omitempty"`
// VertexOffsets: The vertices present in the mesh defining the modeled
// volume.
VertexOffsets *Vertex3DList `json:"vertexOffsets,omitempty"`
// ForceSendFields is a list of field names (e.g. "Strips") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Strips") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ModeledVolume) MarshalJSON() ([]byte, error) {
type NoMethod ModeledVolume
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProviderInfo: Information about the data providers that should be
// included in the
// attribution string shown by the client.
type ProviderInfo struct {
// Description: Attribution string for this provider. This string is not
// localized.
Description string `json:"description,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProviderInfo) MarshalJSON() ([]byte, error) {
type NoMethod ProviderInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Relation: Represents a relation to another feature in the tile. For
// example, a building
// might be occupied by a given POI. The related feature can be
// retrieved using
// the related feature index.
type Relation struct {
// RelatedFeatureIndex: Zero-based index to look up the related feature
// from the list of features
// in the tile.
RelatedFeatureIndex int64 `json:"relatedFeatureIndex,omitempty"`
// RelationType: Relation type between the origin feature to the related
// feature.
//
// Possible values:
// "RELATION_TYPE_UNSPECIFIED" - Unspecified relation type. Should
// never happen.
// "OCCUPIES" - The origin feature occupies the related feature.
// "PRIMARILY_OCCUPIED_BY" - The origin feature is primarily occupied
// by the related feature.
RelationType string `json:"relationType,omitempty"`
// ForceSendFields is a list of field names (e.g. "RelatedFeatureIndex")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "RelatedFeatureIndex") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Relation) MarshalJSON() ([]byte, error) {
type NoMethod Relation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RoadInfo: Extra metadata relating to roads.
type RoadInfo struct {
// IsPrivate: Road has signage discouraging or prohibiting use by the
// general public.
// E.g., roads with signs that say "Private", or "No trespassing."
IsPrivate bool `json:"isPrivate,omitempty"`
// ForceSendFields is a list of field names (e.g. "IsPrivate") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IsPrivate") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RoadInfo) MarshalJSON() ([]byte, error) {
type NoMethod RoadInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Row: A row of altitude points in the elevation grid, ordered from
// west to
// east.
type Row struct {
// AltitudeDiffs: The difference between each successive pair of
// altitudes, from west to
// east. The first, westmost point, is just the altitude rather than
// a
// diff. The units are specified by the altitude_multiplier
// parameter
// above; the value in meters is given by altitude_multiplier
// *
// altitude_diffs[n]. The altitude row (in metres above sea level) can
// be
// reconstructed with: a[0] = altitude_diffs[0] * altitude_multiplier
// when
// n > 0, a[n] = a[n-1] + altitude_diffs[n-1] * altitude_multiplier.
AltitudeDiffs []int64 `json:"altitudeDiffs,omitempty"`
// ForceSendFields is a list of field names (e.g. "AltitudeDiffs") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AltitudeDiffs") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Row) MarshalJSON() ([]byte, error) {
type NoMethod Row
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SecondDerivativeElevationGrid: A packed representation of a 2D grid
// of uniformly spaced points containing
// elevation data. Each point within the grid represents the altitude
// in
// meters above average sea level at that location within the
// tile.
//
// Elevations provided are (generally) relative to the EGM96 geoid,
// however
// some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no
// more
// than 2 meters.
//
// The grid is oriented north-west to south-east, as illustrated:
//
// rows[0].a[0] rows[0].a[m]
// +-----------------+
// | |
// | N |
// | ^ |
// | | |
// | W <-----> E |
// | | |
// | v |
// | S |
// | |
// +-----------------+
// rows[n].a[0] rows[n].a[m]
//
// Rather than storing the altitudes directly, we store the diffs of the
// diffs
// between them as integers at some requested level of precision to
// take
// advantage of integer packing.
//
// Note that the data is packed in such a way that is fast to decode
// in
// Unity and that further optimizes wire size.
type SecondDerivativeElevationGrid struct {
// AltitudeMultiplier: A multiplier applied to the elements in the
// encoded data to extract the
// actual altitudes in meters.
AltitudeMultiplier float64 `json:"altitudeMultiplier,omitempty"`
// ColumnCount: The number of columns included in the encoded elevation
// data (i.e. the
// horizontal resolution of the grid).
ColumnCount int64 `json:"columnCount,omitempty"`
// EncodedData: A stream of elements each representing a point on the
// tile running across
// each row from left to right, top to bottom.
//
// There will be precisely horizontal_resolution *
// vertical_resolution
// elements in the stream.
//
// The elements are not the heights, rather the second order derivative
// of
// the values one would expect in a stream of height data.
//
// Each element is a varint with the following
// encoding:
// ------------------------------------------------------------
// ------------|
// | Head Nibble
//
// |
// --------------------------------------------------------------------
// ----|
// | Bit 0 | Bit 1 | Bits 2-3
// |
// | Terminator| Sign (1=neg) | Least significant 2 bits of absolute
// error
// |
// --------------------------------------------------------------------
// ----|
// | Tail Nibble #1
//
// |
// --------------------------------------------------------------------
// ----|
// | Bit 0 | Bit 1-3
// |
// | Terminator| Least significant 3 bits of absolute error
//
// |
// --------------------------------------------------------------------
// ----|
// | ...
// | Tail Nibble #n
//
// |
// --------------------------------------------------------------------
// ----|
// | Bit 0 | Bit 1-3
// |
// | Terminator| Least significant 3 bits of absolute error
//
// |
// --------------------------------------------------------------------
// ----|
EncodedData string `json:"encodedData,omitempty"`
// RowCount: The number of rows included in the encoded elevation data
// (i.e. the
// vertical resolution of the grid).
RowCount int64 `json:"rowCount,omitempty"`
// ForceSendFields is a list of field names (e.g. "AltitudeMultiplier")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AltitudeMultiplier") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *SecondDerivativeElevationGrid) MarshalJSON() ([]byte, error) {
type NoMethod SecondDerivativeElevationGrid
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *SecondDerivativeElevationGrid) UnmarshalJSON(data []byte) error {
type NoMethod SecondDerivativeElevationGrid
var s1 struct {
AltitudeMultiplier gensupport.JSONFloat64 `json:"altitudeMultiplier"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.AltitudeMultiplier = float64(s1.AltitudeMultiplier)
return nil
}
// SegmentInfo: Extra metadata relating to segments.
type SegmentInfo struct {
// RoadInfo: Metadata for features with the ROAD FeatureType.
RoadInfo *RoadInfo `json:"roadInfo,omitempty"`
// ForceSendFields is a list of field names (e.g. "RoadInfo") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "RoadInfo") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SegmentInfo) MarshalJSON() ([]byte, error) {
type NoMethod SegmentInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TerrainTile: A tile containing information about the terrain located
// in the region it
// covers.
type TerrainTile struct {
// Coordinates: The global tile coordinates that uniquely identify this
// tile.
Coordinates *TileCoordinates `json:"coordinates,omitempty"`
// FirstDerivative: Terrain elevation data encoded as a
// FirstDerivativeElevationGrid.
FirstDerivative *FirstDerivativeElevationGrid `json:"firstDerivative,omitempty"`
// Name: Resource name of the tile. The tile resource name is prefixed
// by its
// collection ID `terrain/` followed by the resource ID, which encodes
// the
// tile's global x and y coordinates and zoom level as
// `@<x>,<y>,<zoom>z`.
// For example, `terrain/@1,2,3z`.
Name string `json:"name,omitempty"`
// SecondDerivative: Terrain elevation data encoded as a
// SecondDerivativeElevationGrid.
// .
SecondDerivative *SecondDerivativeElevationGrid `json:"secondDerivative,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Coordinates") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Coordinates") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TerrainTile) MarshalJSON() ([]byte, error) {
type NoMethod TerrainTile
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TileCoordinates: Global tile coordinates. Global tile coordinates
// reference a specific tile on
// the map at a specific zoom level.
//
// The origin of this coordinate system is always at the northwest
// corner of the
// map, with x values increasing from west to east and y values
// increasing from
// north to south. Tiles are indexed using x, y coordinates from that
// origin.
// The zoom level containing the entire world in a tile is 0, and it
// increases
// as you zoom in. Zoom level n + 1 will contain 4 times as many tiles
// as zoom
// level n.
//
// The zoom level controls the level of detail of the data that is
// returned. In
// particular, this affects the set of feature types returned, their
// density,
// and geometry simplification. The exact tile contents may change over
// time,
// but care will be taken to keep supporting the most important use
// cases. For
// example, zoom level 15 shows roads for orientation and planning in
// the local
// neighborhood and zoom level 17 shows buildings to give users on foot
// a sense
// of situational awareness.
type TileCoordinates struct {
// X: Required. The x coordinate.
X int64 `json:"x,omitempty"`
// Y: Required. The y coordinate.
Y int64 `json:"y,omitempty"`
// Zoom: Required. The Google Maps API zoom level.
Zoom int64 `json:"zoom,omitempty"`
// ForceSendFields is a list of field names (e.g. "X") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "X") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TileCoordinates) MarshalJSON() ([]byte, error) {
type NoMethod TileCoordinates
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TriangleStrip: Represents a strip of triangles. Each triangle uses
// the last edge of the
// previous one. The following diagram shows an example of a triangle
// strip,
// with each vertex labeled with its index in the vertex_index array.
//
// (1)-----(3)
// / \ / \
// / \ / \
// / \ / \
// (0)-----(2)-----(4)
//
// Vertices may be in either clockwise or counter-clockwise order.
type TriangleStrip struct {
// VertexIndices: Index into the vertex_offset array representing the
// next vertex in the
// triangle strip.
VertexIndices []int64 `json:"vertexIndices,omitempty"`
// ForceSendFields is a list of field names (e.g. "VertexIndices") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "VertexIndices") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TriangleStrip) MarshalJSON() ([]byte, error) {
type NoMethod TriangleStrip
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Vertex2DList: 2D vertex list used for lines and areas. Each entry
// represents an offset from
// the previous one in local tile coordinates. The first entry is offset
// from
// (0, 0).
//
// For example, the list of vertices [(1,1), (2, 2), (1, 2)] would be
// encoded
// in vertex offsets as [(1, 1), (1, 1), (-1, 0)].
type Vertex2DList struct {
// XOffsets: List of x-offsets in local tile coordinates.
XOffsets []int64 `json:"xOffsets,omitempty"`
// YOffsets: List of y-offsets in local tile coordinates.
YOffsets []int64 `json:"yOffsets,omitempty"`
// ForceSendFields is a list of field names (e.g. "XOffsets") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "XOffsets") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Vertex2DList) MarshalJSON() ([]byte, error) {
type NoMethod Vertex2DList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Vertex3DList: 3D vertex list used for modeled volumes. Each entry
// represents an offset from
// the previous one in local tile coordinates. The first coordinate is
// offset
// from (0, 0, 0).
type Vertex3DList struct {
// XOffsets: List of x-offsets in local tile coordinates.
XOffsets []int64 `json:"xOffsets,omitempty"`
// YOffsets: List of y-offsets in local tile coordinates.
YOffsets []int64 `json:"yOffsets,omitempty"`
// ZOffsets: List of z-offsets in local tile coordinates.
ZOffsets []int64 `json:"zOffsets,omitempty"`
// ForceSendFields is a list of field names (e.g. "XOffsets") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "XOffsets") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Vertex3DList) MarshalJSON() ([]byte, error) {
type NoMethod Vertex3DList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "vectortile.featuretiles.get":
type FeaturetilesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a feature tile by its tile resource name.
func (r *FeaturetilesService) Get(name string) *FeaturetilesGetCall {
c := &FeaturetilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// ClientInfoApiClient sets the optional parameter
// "clientInfo.apiClient": API client name and version. For example, the
// SDK calling the API. The
// exact format is up to the client.
func (c *FeaturetilesGetCall) ClientInfoApiClient(clientInfoApiClient string) *FeaturetilesGetCall {
c.urlParams_.Set("clientInfo.apiClient", clientInfoApiClient)
return c
}
// ClientInfoApplicationId sets the optional parameter
// "clientInfo.applicationId": Application ID, such as the package name
// on Android and the bundle
// identifier on iOS platforms.
func (c *FeaturetilesGetCall) ClientInfoApplicationId(clientInfoApplicationId string) *FeaturetilesGetCall {
c.urlParams_.Set("clientInfo.applicationId", clientInfoApplicationId)
return c
}
// ClientInfoApplicationVersion sets the optional parameter
// "clientInfo.applicationVersion": Application version number, such as
// "1.2.3". The exact format is
// application-dependent.
func (c *FeaturetilesGetCall) ClientInfoApplicationVersion(clientInfoApplicationVersion string) *FeaturetilesGetCall {
c.urlParams_.Set("clientInfo.applicationVersion", clientInfoApplicationVersion)
return c
}
// ClientInfoDeviceModel sets the optional parameter
// "clientInfo.deviceModel": Device model as reported by the device. The
// exact format is
// platform-dependent.
func (c *FeaturetilesGetCall) ClientInfoDeviceModel(clientInfoDeviceModel string) *FeaturetilesGetCall {
c.urlParams_.Set("clientInfo.deviceModel", clientInfoDeviceModel)
return c
}
// ClientInfoOperatingSystem sets the optional parameter
// "clientInfo.operatingSystem": Operating system name and version as
// reported by the OS. For example,
// "Mac OS X 10.10.4". The exact format is platform-dependent.
func (c *FeaturetilesGetCall) ClientInfoOperatingSystem(clientInfoOperatingSystem string) *FeaturetilesGetCall {
c.urlParams_.Set("clientInfo.operatingSystem", clientInfoOperatingSystem)
return c
}
// ClientInfoPlatform sets the optional parameter "clientInfo.platform":
// Platform where the application is running.
//
// Possible values:
// "PLATFORM_UNSPECIFIED"
// "EDITOR"
// "MAC_OS"
// "WINDOWS"
// "LINUX"
// "ANDROID"
// "IOS"
// "WEB_GL"
func (c *FeaturetilesGetCall) ClientInfoPlatform(clientInfoPlatform string) *FeaturetilesGetCall {
c.urlParams_.Set("clientInfo.platform", clientInfoPlatform)
return c
}
// ClientInfoUserId sets the optional parameter "clientInfo.userId": A
// client-generated user ID. The ID should be generated and persisted
// during
// the first user session or whenever a pre-existing ID is not found.
// The
// exact format is up to the client. This must be non-empty in
// a
// GetFeatureTileRequest (whether via the header
// or
// GetFeatureTileRequest.client_info).
func (c *FeaturetilesGetCall) ClientInfoUserId(clientInfoUserId string) *FeaturetilesGetCall {
c.urlParams_.Set("clientInfo.userId", clientInfoUserId)
return c
}
// ClientTileVersionId sets the optional parameter
// "clientTileVersionId": Optional version id identifying the tile that
// is already in the client's
// cache. This field should be populated with the most recent version_id
// value
// returned by the API for the requested tile.
//
// If the version id is empty the server always returns a newly rendered
// tile.
// If it is provided the server checks if the tile contents would be
// identical
// to one that's already on the client, and if so, returns a
// stripped-down
// response tile with STATUS_OK_DATA_UNCHANGED instead.
func (c *FeaturetilesGetCall) ClientTileVersionId(clientTileVersionId string) *FeaturetilesGetCall {
c.urlParams_.Set("clientTileVersionId", clientTileVersionId)
return c
}
// EnableDetailedHighwayTypes sets the optional parameter
// "enableDetailedHighwayTypes": Flag indicating whether detailed
// highway types should be returned. If this
// is set, the CONTROLLED_ACCESS_HIGHWAY type may be returned. If not,
// then
// these highways will have the generic HIGHWAY type.
//
// This exists for backwards compatibility reasons.
func (c *FeaturetilesGetCall) EnableDetailedHighwayTypes(enableDetailedHighwayTypes bool) *FeaturetilesGetCall {
c.urlParams_.Set("enableDetailedHighwayTypes", fmt.Sprint(enableDetailedHighwayTypes))
return c
}
// EnableFeatureNames sets the optional parameter "enableFeatureNames":
// Flag indicating whether human-readable names should be returned
// for
// features. If this is set, the display_name field on the feature will
// be
// filled out.
func (c *FeaturetilesGetCall) EnableFeatureNames(enableFeatureNames bool) *FeaturetilesGetCall {
c.urlParams_.Set("enableFeatureNames", fmt.Sprint(enableFeatureNames))
return c
}
// EnableModeledVolumes sets the optional parameter
// "enableModeledVolumes": Flag indicating whether 3D building models
// should be enabled. If this is
// set structures will be returned as 3D modeled volumes rather than
// 2.5D
// extruded areas where possible.
func (c *FeaturetilesGetCall) EnableModeledVolumes(enableModeledVolumes bool) *FeaturetilesGetCall {
c.urlParams_.Set("enableModeledVolumes", fmt.Sprint(enableModeledVolumes))
return c
}
// EnablePoliticalFeatures sets the optional parameter
// "enablePoliticalFeatures": Flag indicating whether political features
// should be returned.
func (c *FeaturetilesGetCall) EnablePoliticalFeatures(enablePoliticalFeatures bool) *FeaturetilesGetCall {
c.urlParams_.Set("enablePoliticalFeatures", fmt.Sprint(enablePoliticalFeatures))
return c
}
// EnablePrivateRoads sets the optional parameter "enablePrivateRoads":
// Flag indicating whether the returned tile will contain road features
// that
// are marked private. Private roads are indicated by
// the
// Feature.segment_info.road_info.is_private field.
func (c *FeaturetilesGetCall) EnablePrivateRoads(enablePrivateRoads bool) *FeaturetilesGetCall {
c.urlParams_.Set("enablePrivateRoads", fmt.Sprint(enablePrivateRoads))
return c
}
// EnableUnclippedBuildings sets the optional parameter
// "enableUnclippedBuildings": Flag indicating whether unclipped
// buildings should be returned. If this is
// set, building render ops will extend beyond the tile boundary.
// Buildings
// will only be returned on the tile that contains their centroid.
func (c *FeaturetilesGetCall) EnableUnclippedBuildings(enableUnclippedBuildings bool) *FeaturetilesGetCall {
c.urlParams_.Set("enableUnclippedBuildings", fmt.Sprint(enableUnclippedBuildings))
return c
}
// LanguageCode sets the optional parameter "languageCode": Required.
// The BCP-47 language code corresponding to the language in which
// the name was requested, such as "en-US" or "sr-Latn".
//
// For more information,
// see
// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
func (c *FeaturetilesGetCall) LanguageCode(languageCode string) *FeaturetilesGetCall {
c.urlParams_.Set("languageCode", languageCode)
return c
}
// RegionCode sets the optional parameter "regionCode": Required. The
// Unicode country/region code (CLDR) of the location from which
// the request is coming from, such as "US" and "419".
//
// For more information,
// see
// http://www.unicode.org/reports/tr35/#unicode_region_subtag.
func (c *FeaturetilesGetCall) RegionCode(regionCode string) *FeaturetilesGetCall {
c.urlParams_.Set("regionCode", regionCode)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *FeaturetilesGetCall) Fields(s ...googleapi.Field) *FeaturetilesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *FeaturetilesGetCall) IfNoneMatch(entityTag string) *FeaturetilesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *FeaturetilesGetCall) Context(ctx context.Context) *FeaturetilesGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *FeaturetilesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *FeaturetilesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200708")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "vectortile.featuretiles.get" call.
// Exactly one of *FeatureTile or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *FeatureTile.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *FeaturetilesGetCall) Do(opts ...googleapi.CallOption) (*FeatureTile, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &FeatureTile{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets a feature tile by its tile resource name.",
// "flatPath": "v1/featuretiles/{featuretilesId}",
// "httpMethod": "GET",
// "id": "vectortile.featuretiles.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "clientInfo.apiClient": {
// "description": "API client name and version. For example, the SDK calling the API. The\nexact format is up to the client.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.applicationId": {
// "description": "Application ID, such as the package name on Android and the bundle\nidentifier on iOS platforms.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.applicationVersion": {
// "description": "Application version number, such as \"1.2.3\". The exact format is\napplication-dependent.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.deviceModel": {
// "description": "Device model as reported by the device. The exact format is\nplatform-dependent.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.operatingSystem": {
// "description": "Operating system name and version as reported by the OS. For example,\n\"Mac OS X 10.10.4\". The exact format is platform-dependent.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.platform": {
// "description": "Platform where the application is running.",
// "enum": [
// "PLATFORM_UNSPECIFIED",
// "EDITOR",
// "MAC_OS",
// "WINDOWS",
// "LINUX",
// "ANDROID",
// "IOS",
// "WEB_GL"
// ],
// "location": "query",
// "type": "string"
// },
// "clientInfo.userId": {
// "description": "A client-generated user ID. The ID should be generated and persisted during\nthe first user session or whenever a pre-existing ID is not found. The\nexact format is up to the client. This must be non-empty in a\nGetFeatureTileRequest (whether via the header or\nGetFeatureTileRequest.client_info).",
// "location": "query",
// "type": "string"
// },
// "clientTileVersionId": {
// "description": "Optional version id identifying the tile that is already in the client's\ncache. This field should be populated with the most recent version_id value\nreturned by the API for the requested tile.\n\nIf the version id is empty the server always returns a newly rendered tile.\nIf it is provided the server checks if the tile contents would be identical\nto one that's already on the client, and if so, returns a stripped-down\nresponse tile with STATUS_OK_DATA_UNCHANGED instead.",
// "location": "query",
// "type": "string"
// },
// "enableDetailedHighwayTypes": {
// "description": "Flag indicating whether detailed highway types should be returned. If this\nis set, the CONTROLLED_ACCESS_HIGHWAY type may be returned. If not, then\nthese highways will have the generic HIGHWAY type.\n\nThis exists for backwards compatibility reasons.",
// "location": "query",
// "type": "boolean"
// },
// "enableFeatureNames": {
// "description": "Flag indicating whether human-readable names should be returned for\nfeatures. If this is set, the display_name field on the feature will be\nfilled out.",
// "location": "query",
// "type": "boolean"
// },
// "enableModeledVolumes": {
// "description": "Flag indicating whether 3D building models should be enabled. If this is\nset structures will be returned as 3D modeled volumes rather than 2.5D\nextruded areas where possible.",
// "location": "query",
// "type": "boolean"
// },
// "enablePoliticalFeatures": {
// "description": "Flag indicating whether political features should be returned.",
// "location": "query",
// "type": "boolean"
// },
// "enablePrivateRoads": {
// "description": "Flag indicating whether the returned tile will contain road features that\nare marked private. Private roads are indicated by the\nFeature.segment_info.road_info.is_private field.",
// "location": "query",
// "type": "boolean"
// },
// "enableUnclippedBuildings": {
// "description": "Flag indicating whether unclipped buildings should be returned. If this is\nset, building render ops will extend beyond the tile boundary. Buildings\nwill only be returned on the tile that contains their centroid.",
// "location": "query",
// "type": "boolean"
// },
// "languageCode": {
// "description": "Required. The BCP-47 language code corresponding to the language in which\nthe name was requested, such as \"en-US\" or \"sr-Latn\".\n\nFor more information, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.",
// "location": "query",
// "type": "string"
// },
// "name": {
// "description": "Required. Resource name of the tile. The tile resource name is prefixed by\nits collection ID `tiles/` followed by the resource ID, which encodes the\ntile's global x and y coordinates and zoom level as `@\u003cx\u003e,\u003cy\u003e,\u003czoom\u003ez`.\nFor example, `tiles/@1,2,3z`.",
// "location": "path",
// "pattern": "^featuretiles/[^/]+$",
// "required": true,
// "type": "string"
// },
// "regionCode": {
// "description": "Required. The Unicode country/region code (CLDR) of the location from which\nthe request is coming from, such as \"US\" and \"419\".\n\nFor more information, see\nhttp://www.unicode.org/reports/tr35/#unicode_region_subtag.",
// "location": "query",
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "FeatureTile"
// }
// }
}
// method id "vectortile.terraintiles.get":
type TerraintilesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a terrain tile by its tile resource name.
func (r *TerraintilesService) Get(name string) *TerraintilesGetCall {
c := &TerraintilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// AltitudePrecisionCentimeters sets the optional parameter
// "altitudePrecisionCentimeters": The precision of terrain altitudes in
// centimeters.
// Possible values: between 1 (cm level precision) and 1,000,000
// (10-kilometer
// level precision).
func (c *TerraintilesGetCall) AltitudePrecisionCentimeters(altitudePrecisionCentimeters int64) *TerraintilesGetCall {
c.urlParams_.Set("altitudePrecisionCentimeters", fmt.Sprint(altitudePrecisionCentimeters))
return c
}
// ClientInfoApiClient sets the optional parameter
// "clientInfo.apiClient": API client name and version. For example, the
// SDK calling the API. The
// exact format is up to the client.
func (c *TerraintilesGetCall) ClientInfoApiClient(clientInfoApiClient string) *TerraintilesGetCall {
c.urlParams_.Set("clientInfo.apiClient", clientInfoApiClient)
return c
}
// ClientInfoApplicationId sets the optional parameter
// "clientInfo.applicationId": Application ID, such as the package name
// on Android and the bundle
// identifier on iOS platforms.
func (c *TerraintilesGetCall) ClientInfoApplicationId(clientInfoApplicationId string) *TerraintilesGetCall {
c.urlParams_.Set("clientInfo.applicationId", clientInfoApplicationId)
return c
}
// ClientInfoApplicationVersion sets the optional parameter
// "clientInfo.applicationVersion": Application version number, such as
// "1.2.3". The exact format is
// application-dependent.
func (c *TerraintilesGetCall) ClientInfoApplicationVersion(clientInfoApplicationVersion string) *TerraintilesGetCall {
c.urlParams_.Set("clientInfo.applicationVersion", clientInfoApplicationVersion)
return c
}
// ClientInfoDeviceModel sets the optional parameter
// "clientInfo.deviceModel": Device model as reported by the device. The
// exact format is
// platform-dependent.
func (c *TerraintilesGetCall) ClientInfoDeviceModel(clientInfoDeviceModel string) *TerraintilesGetCall {
c.urlParams_.Set("clientInfo.deviceModel", clientInfoDeviceModel)
return c
}
// ClientInfoOperatingSystem sets the optional parameter
// "clientInfo.operatingSystem": Operating system name and version as
// reported by the OS. For example,
// "Mac OS X 10.10.4". The exact format is platform-dependent.
func (c *TerraintilesGetCall) ClientInfoOperatingSystem(clientInfoOperatingSystem string) *TerraintilesGetCall {
c.urlParams_.Set("clientInfo.operatingSystem", clientInfoOperatingSystem)
return c
}
// ClientInfoPlatform sets the optional parameter "clientInfo.platform":
// Platform where the application is running.
//
// Possible values:
// "PLATFORM_UNSPECIFIED"
// "EDITOR"
// "MAC_OS"
// "WINDOWS"
// "LINUX"
// "ANDROID"
// "IOS"
// "WEB_GL"
func (c *TerraintilesGetCall) ClientInfoPlatform(clientInfoPlatform string) *TerraintilesGetCall {
c.urlParams_.Set("clientInfo.platform", clientInfoPlatform)
return c
}
// ClientInfoUserId sets the optional parameter "clientInfo.userId": A
// client-generated user ID. The ID should be generated and persisted
// during
// the first user session or whenever a pre-existing ID is not found.
// The
// exact format is up to the client. This must be non-empty in
// a
// GetFeatureTileRequest (whether via the header
// or
// GetFeatureTileRequest.client_info).
func (c *TerraintilesGetCall) ClientInfoUserId(clientInfoUserId string) *TerraintilesGetCall {
c.urlParams_.Set("clientInfo.userId", clientInfoUserId)
return c
}
// MaxElevationResolutionCells sets the optional parameter
// "maxElevationResolutionCells": The maximum allowed resolution for the
// returned elevation heightmap.
// Possible values: between 1 and 1024 (and not less
// than
// min_elevation_resolution_cells).
// Over-sized heightmaps will be non-uniformly down-sampled such that
// each
// edge is no longer than this value. Non-uniformity is chosen to
// maximise the
// amount of preserved data.
//
// For example:
// Original resolution: 100px (width) * 30px
// (height)
// max_elevation_resolution: 30
// New resolution: 30px (width) * 30px (height)
func (c *TerraintilesGetCall) MaxElevationResolutionCells(maxElevationResolutionCells int64) *TerraintilesGetCall {
c.urlParams_.Set("maxElevationResolutionCells", fmt.Sprint(maxElevationResolutionCells))
return c
}
// MinElevationResolutionCells sets the optional parameter
// "minElevationResolutionCells": The minimum allowed resolution for the
// returned elevation heightmap.
// Possible values: between 0 and 1024 (and not more
// than
// max_elevation_resolution_cells). Zero is supported for
// backward
// compatibility.
// Under-sized heightmaps will be non-uniformly up-sampled
// such that each edge is no shorter than this value. Non-uniformity is
// chosen
// to maximise the amount of preserved data.
//
// For example:
// Original resolution: 30px (width) * 10px
// (height)
// min_elevation_resolution: 30
// New resolution: 30px (width) * 30px (height)
func (c *TerraintilesGetCall) MinElevationResolutionCells(minElevationResolutionCells int64) *TerraintilesGetCall {
c.urlParams_.Set("minElevationResolutionCells", fmt.Sprint(minElevationResolutionCells))
return c
}
// TerrainFormats sets the optional parameter "terrainFormats": Terrain
// formats that the client understands.
//
// Possible values:
// "TERRAIN_FORMAT_UNKNOWN"
// "FIRST_DERIVATIVE"
// "SECOND_DERIVATIVE"
func (c *TerraintilesGetCall) TerrainFormats(terrainFormats ...string) *TerraintilesGetCall {
c.urlParams_.SetMulti("terrainFormats", append([]string{}, terrainFormats...))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *TerraintilesGetCall) Fields(s ...googleapi.Field) *TerraintilesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *TerraintilesGetCall) IfNoneMatch(entityTag string) *TerraintilesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *TerraintilesGetCall) Context(ctx context.Context) *TerraintilesGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *TerraintilesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *TerraintilesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200708")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "vectortile.terraintiles.get" call.
// Exactly one of *TerrainTile or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *TerrainTile.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TerraintilesGetCall) Do(opts ...googleapi.CallOption) (*TerrainTile, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &TerrainTile{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets a terrain tile by its tile resource name.",
// "flatPath": "v1/terraintiles/{terraintilesId}",
// "httpMethod": "GET",
// "id": "vectortile.terraintiles.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "altitudePrecisionCentimeters": {
// "description": "The precision of terrain altitudes in centimeters.\nPossible values: between 1 (cm level precision) and 1,000,000 (10-kilometer\nlevel precision).",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "clientInfo.apiClient": {
// "description": "API client name and version. For example, the SDK calling the API. The\nexact format is up to the client.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.applicationId": {
// "description": "Application ID, such as the package name on Android and the bundle\nidentifier on iOS platforms.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.applicationVersion": {
// "description": "Application version number, such as \"1.2.3\". The exact format is\napplication-dependent.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.deviceModel": {
// "description": "Device model as reported by the device. The exact format is\nplatform-dependent.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.operatingSystem": {
// "description": "Operating system name and version as reported by the OS. For example,\n\"Mac OS X 10.10.4\". The exact format is platform-dependent.",
// "location": "query",
// "type": "string"
// },
// "clientInfo.platform": {
// "description": "Platform where the application is running.",
// "enum": [
// "PLATFORM_UNSPECIFIED",
// "EDITOR",
// "MAC_OS",
// "WINDOWS",
// "LINUX",
// "ANDROID",
// "IOS",
// "WEB_GL"
// ],
// "location": "query",
// "type": "string"
// },
// "clientInfo.userId": {
// "description": "A client-generated user ID. The ID should be generated and persisted during\nthe first user session or whenever a pre-existing ID is not found. The\nexact format is up to the client. This must be non-empty in a\nGetFeatureTileRequest (whether via the header or\nGetFeatureTileRequest.client_info).",
// "location": "query",
// "type": "string"
// },
// "maxElevationResolutionCells": {
// "description": "The maximum allowed resolution for the returned elevation heightmap.\nPossible values: between 1 and 1024 (and not less than\nmin_elevation_resolution_cells).\nOver-sized heightmaps will be non-uniformly down-sampled such that each\nedge is no longer than this value. Non-uniformity is chosen to maximise the\namount of preserved data.\n\nFor example:\nOriginal resolution: 100px (width) * 30px (height)\nmax_elevation_resolution: 30\nNew resolution: 30px (width) * 30px (height)",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "minElevationResolutionCells": {
// "description": "The minimum allowed resolution for the returned elevation heightmap.\nPossible values: between 0 and 1024 (and not more than\nmax_elevation_resolution_cells). Zero is supported for backward\ncompatibility.\nUnder-sized heightmaps will be non-uniformly up-sampled\nsuch that each edge is no shorter than this value. Non-uniformity is chosen\nto maximise the amount of preserved data.\n\nFor example:\nOriginal resolution: 30px (width) * 10px (height)\nmin_elevation_resolution: 30\nNew resolution: 30px (width) * 30px (height)",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "name": {
// "description": "Required. Resource name of the tile. The tile resource name is prefixed by\nits collection ID `terraintiles/` followed by the resource ID, which\nencodes the tile's global x and y coordinates and zoom level as\n`@\u003cx\u003e,\u003cy\u003e,\u003czoom\u003ez`. For example, `terraintiles/@1,2,3z`.",
// "location": "path",
// "pattern": "^terraintiles/[^/]+$",
// "required": true,
// "type": "string"
// },
// "terrainFormats": {
// "description": "Terrain formats that the client understands.",
// "enum": [
// "TERRAIN_FORMAT_UNKNOWN",
// "FIRST_DERIVATIVE",
// "SECOND_DERIVATIVE"
// ],
// "location": "query",
// "repeated": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "TerrainTile"
// }
// }
}