Class ElevationSampler

Sampler de Elevation

Permite a amostragem de elevações em locais específicos.
O exemplo abaixo mostra como usar essa classe para determinar o ponto mais alto ao longo do trajeto de Denver a Grand Junction, no Colorado, plotá-lo em um mapa e salvar o mapa no Google Drive.

// Get directions from Denver to Grand Junction.
const directions = Maps.newDirectionFinder()
                       .setOrigin('Denver, CO')
                       .setDestination('Grand Junction, CO')
                       .setMode(Maps.DirectionFinder.Mode.DRIVING)
                       .getDirections();
const route = directions.routes[0];

// Get elevation samples along the route.
const numberOfSamples = 30;
const response = Maps.newElevationSampler().samplePath(
    route.overview_polyline.points,
    numberOfSamples,
);

// Determine highest point.

let highestLocation = null;
let highestElevation = Number.MIN_VALUE;
for (const sample of response.results) {
  if (sample.elevation > highestElevation) {
    highestElevation = sample.elevation;
    highestLocation = sample.location;
  }
}

// Add the path and marker to a map.
const map = Maps.newStaticMap()
                .addPath(route.overview_polyline.points)
                .addMarker(highestLocation.lat, highestLocation.lng);

// Save the map to your drive
DriveApp.createFile(
    Utilities.newBlob(map.getMapImage(), 'image/png', 'map.png'),
);

Consulte também

Métodos

MétodoTipo de retornoBreve descrição
sampleLocation(latitude, longitude)ObjectRetorna dados de elevação para um único ponto (lat/lng).
sampleLocations(points)ObjectRetorna dados de elevação para uma série de pontos (lat/lng).
sampleLocations(encodedPolyline)ObjectRetorna dados de elevação para os pontos em uma poligonal codificada.
samplePath(points, numSamples)ObjectRetorna dados de elevação para um número de amostras ao longo de uma linha, definidos usando uma série de pontos.
samplePath(encodedPolyline, numSamples)ObjectRetorna dados de elevação para um número de amostras ao longo de uma linha, definidos usando uma poligonal codificada.

Documentação detalhada

sampleLocation(latitude, longitude)

Retorna dados de elevação para um único ponto (lat/lng).

// Gets the elevation of Times Square using a point.
const data = Maps.newElevationSampler().sampleLocation(40.759011, -73.984472);
Logger.log(data.results[0].elevation);

Parâmetros

NomeTipoDescrição
latitudeNumbera latitude do ponto a ser amostrado
longitudeNumbera longitude do ponto a ser amostrado

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui.


sampleLocations(points)

Retorna dados de elevação para uma série de pontos (lat/lng).

// Gets the elevation of Times Square and Central Park using points.
const data = Maps.newElevationSampler().sampleLocations([
  // Times Square
  40.759011,
  -73.984472,
  // Central Park
  40.777052,
  -73.975464,
]);
Logger.log(`Times Square: ${data.results[0].elevation}`);
Logger.log(`Central Park: ${data.results[1].elevation}`);

Parâmetros

NomeTipoDescrição
pointsNumber[]uma matriz de pares de latitude/longitude

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui.


sampleLocations(encodedPolyline)

Retorna dados de elevação para os pontos em uma poligonal codificada.

// Gets the elevation of Times Square and Central Park using a polyline.
const data = Maps.newElevationSampler().sampleLocations('yvwwF|aqbMwoBiw@');
Logger.log(`Times Square: ${data.results[0].elevation}`);
Logger.log(`Central Park: ${data.results[1].elevation}`);

Parâmetros

NomeTipoDescrição
encodedPolylineStringuma polilinha codificada de pontos para amostrar

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui.


samplePath(points, numSamples)

Retorna dados de elevação para um número de amostras ao longo de uma linha, definidos usando uma série de pontos.

// Gets the elevation of five points between Times Square and Central Park.
const data = Maps.newElevationSampler().samplePath(
    [
      // Times Square
      40.759011,
      -73.984472,
      // Central Park
      40.777052,
      -73.975464,
    ],
    5,
);
for (let i = 0; i < data.results.length; i++) {
  Logger.log(data.results[i].elevation);
}

Parâmetros

NomeTipoDescrição
pointsNumber[]uma matriz de pares de latitude/longitude que definem um caminho para a amostragem
numSamplesIntegero número de pontos a serem amostrados ao longo do caminho

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui.


samplePath(encodedPolyline, numSamples)

Retorna dados de elevação para um número de amostras ao longo de uma linha, definidos usando uma poligonal codificada.

// Gets the elevation of five points between Times Square and Central Park.
const data = Maps.newElevationSampler().samplePath('yvwwF|aqbMwoBiw@', 5);
for (let i = 0; i < data.results.length; i++) {
  Logger.log(data.results[i].elevation);
}

Parâmetros

NomeTipoDescrição
encodedPolylineStringuma polilinha codificada de pontos que define um caminho para a amostragem
numSamplesIntegero número de pontos a serem amostrados ao longo do caminho

Retornar

Object: um objeto JSON que contém os dados de elevação, conforme descrito aqui.