Skip to content
GuidesBlogPlaygroundDashboard

Elevation profile along coordinates

elevation.profile(**kwargs) -> ElevationProfileResult { geometry, properties, type }
POST/api/v1/elevation/profile

Elevation profile along coordinates

ParametersExpand Collapse
coordinates: Array[{ lat, lng}]

Path coordinates in order of travel (min 2, max 50)

lat: Float

Latitude in decimal degrees (-90 to 90)

maximum90
minimum-90
lng: Float

Longitude in decimal degrees (-180 to 180)

maximum180
minimum-180
ReturnsExpand Collapse
class ElevationProfileResult { geometry, properties, type }

GeoJSON LineString Feature with 3D coordinates [lng, lat, elevation] representing the elevation profile along the input path. Summary statistics are in properties.

geometry: GeoJsonGeometry { coordinates, type }

GeoJSON Geometry object per RFC 7946. Coordinates use [longitude, latitude] order. 3D coordinates [lng, lat, elevation] are used for elevation endpoints.

coordinates: Array[Float] | Array[Array[Float]] | Array[Array[Array[Float]]] | Array[Array[Array[Array[Float]]]]

Coordinates array. Nesting depth varies by geometry type: Point = [lng, lat], LineString = [[lng, lat], ...], Polygon = [[[lng, lat], ...], ...], etc.

One of the following:
Array[Float]

[longitude, latitude] or [longitude, latitude, elevation]

Array[Array[Float]]

Array of [lng, lat] positions

Array[Array[Array[Float]]]

Array of linear rings / line strings

Array[Array[Array[Array[Float]]]]

Array of polygons

type: :Point | :LineString | :Polygon | 3 more

Geometry type

One of the following:
:Point
:LineString
:Polygon
:MultiPoint
:MultiLineString
:MultiPolygon
properties: { avg_elevation_m, max_elevation_m, min_elevation_m, 2 more}

Elevation profile summary statistics

avg_elevation_m: Float

Average elevation along the profile in meters

max_elevation_m: Float

Maximum elevation along the profile in meters

min_elevation_m: Float

Minimum elevation along the profile in meters

total_ascent_m: Float

Total cumulative elevation gain in meters

total_descent_m: Float

Total cumulative elevation loss in meters

type: :Feature

Elevation profile along coordinates

require "plaza"

plaza = Plaza::Client.new(
  api_key: "My API Key",
  environment: "local" # defaults to "production"
)

elevation_profile_result = plaza.elevation.profile(
  coordinates: [{lat: 48.8566, lng: 2.3522}, {lat: 48.858, lng: 2.34}, {lat: 48.8584, lng: 2.2945}]
)

puts(elevation_profile_result)
{
  "geometry": {
    "coordinates": [
      2.3522,
      48.8566
    ],
    "type": "Point"
  },
  "properties": {
    "avg_elevation_m": 67.8,
    "max_elevation_m": 155.3,
    "min_elevation_m": 28.1,
    "total_ascent_m": 127.4,
    "total_descent_m": 89.2
  },
  "type": "Feature"
}
Returns Examples
{
  "geometry": {
    "coordinates": [
      2.3522,
      48.8566
    ],
    "type": "Point"
  },
  "properties": {
    "avg_elevation_m": 67.8,
    "max_elevation_m": 155.3,
    "min_elevation_m": 28.1,
    "total_ascent_m": 127.4,
    "total_descent_m": 89.2
  },
  "type": "Feature"
}