Skip to content
GuidesBlogPlaygroundDashboard

Find features near a geographic point

elements.nearby(**kwargs) -> FeatureCollection { features, type }
GET/api/v1/features/nearby

Find features near a geographic point

ParametersExpand Collapse
lat: Float

Legacy shorthand. Latitude (-90 to 90). Use near param instead.

limit: Integer

Maximum results (default 20, max 100)

lng: Float

Legacy shorthand. Longitude (-180 to 180). Use near param instead.

near: String

Point geometry for proximity search (lat,lng or GeoJSON). Alternative to lat/lng params.

output_buffer: Float

Buffer geometry by meters

output_centroid: bool

Replace geometry with centroid

output_fields: String

Comma-separated property fields to include

output_geometry: bool

Include geometry (default true)

output_include: String

Extra computed fields: bbox, distance, center

output_precision: Integer

Coordinate decimal precision (1-15, default 7)

output_simplify: Float

Simplify geometry tolerance in meters

output_sort: String

Sort by: distance, name, osm_id

radius: Integer

Search radius in meters (default 500, max 10000)

ReturnsExpand Collapse
class FeatureCollection { features, type }

GeoJSON FeatureCollection (RFC 7946). For paginated endpoints, metadata is returned in HTTP response headers rather than the body:

Header Description
X-Limit Requested result limit
X-Has-More true if more results exist
X-Next-Cursor Opaque cursor for next page (cursor pagination)
X-Next-Offset Numeric offset for next page (offset pagination)
Link RFC 8288 rel="next" link to the next page

Content-Type is application/geo+json.

features: Array[GeoJsonFeature { geometry, properties, type, id } ]

Array of GeoJSON Feature objects

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: Hash[Symbol, untyped]

OSM tags flattened as key-value pairs, plus @type (node/way/relation) and @id (OSM ID) metadata fields. May include distance_m for proximity queries.

type: :Feature

Always Feature

id: String

Compound identifier in type/osm_id format

type: :FeatureCollection

Always FeatureCollection

Find features near a geographic point

require "plaza"

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

feature_collection = plaza.elements.nearby

puts(feature_collection)
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          2.3522,
          48.8566
        ],
        "type": "Point"
      },
      "properties": {
        "@id": "bar",
        "@type": "bar",
        "amenity": "bar",
        "cuisine": "bar",
        "name": "bar"
      },
      "type": "Feature",
      "id": "node/21154906"
    }
  ],
  "type": "FeatureCollection"
}
Returns Examples
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          2.3522,
          48.8566
        ],
        "type": "Point"
      },
      "properties": {
        "@id": "bar",
        "@type": "bar",
        "amenity": "bar",
        "cuisine": "bar",
        "name": "bar"
      },
      "type": "Feature",
      "id": "node/21154906"
    }
  ],
  "type": "FeatureCollection"
}