Places and geo data
Search the built-in places dataset by proximity, category and filters, and do coordinate maths.
Guides
Places and Geo Search Location BlocksBlocks
Add these blocks on the canvas by searching for their name. Each block page lists its pins and how it behaves.
- if
geo_point_branch - cast to object
geo_point_convert_to_objectConverts a geopoint object type to an object type - compute destination point
geo_point_destination_pointGenerates a new geo point from origin based on meters and bearing - from city
geo_point_from_cityResolves a city/town name (optionally constrained to a country code, e.g. NL, and a province/state, e.g. Vermont) to a geo point at the city centre, plus the city's radius in metres and its province/country. Offline lookup against the embedded dataset. A city name is not unique within a country : eight US states have a Morristown : so wire province whenever you know it, for example straight from geo point reverse geocode. - land cover
geo_point_land_coverResolves a geo point to a terrain / land-cover type (urban, agricultural, forest, grassland, wetland, water, bare, coastal). Offline raster lookup (Benelux, simplified CORINE). - create
geo_point_lat_lng_to_pointGenerates a geo point based on the given latitude and longitude - is nearby
geo_point_nearbyChecks whether a road or railway is within a given distance of a geo point, and returns the nearest point on it. Offline lookup against the road/rail network (Benelux, OpenStreetMap). - generate random in radius
geo_point_random_in_radiusGenerates a random geo point based on the given radius - reverse geocode
geo_point_reverse_geocodeResolves a geo point to the nearest street, city, province and country. City/province/country are nearest-populated-place, and always stay in the country of the nearest known place : a point near a border is never relabelled with a larger city on the other side. Street is the nearest named road (needs the road network loaded). - snap to network
geo_point_snapSnaps a geo point onto the nearest road or railway (road/track pinning). Outputs the snapped point and how far it moved. Offline lookup against the road/rail network (Benelux, OpenStreetMap). - get lat / lon
geo_point_to_lat_lngReturns the latitude and longitude of a given geo point - travel mode from points
geo_point_travel_modeClassifies which network a series of GPS points is travelling on (road pinning): when at least min ratio of the points lie within max distance of a road or railway, the traveller is pinned to that network : e.g. the last 5 fixes near a road means driving, near a railway means riding a train. When both networks qualify the one with the smaller mean distance wins. Outputs the mode (road, rail or none), per-network conditions, the match confidence and the points snapped onto the matched network. A single geo point object is accepted as well; entries without numeric lat/lon are ignored. Offline lookup against the road/rail network (Benelux, OpenStreetMap). - is valid
geo_point_validateChecks whether the given geo point has a valid latitude and longitude. - list place categories
places_categoriesLists the curated category groups with their Dutch and English labels and synonyms : the block to build a category dropdown from. Overture ships roughly 1700 raw categories, which is far too many to show a user, so they are folded into a smaller curated set. Any group id or synonym listed here can be passed to the categories pin on the other blocks. - places dataset info
places_dataset_infoReports which dataset this node is serving: the Overture release, the vocabulary version, and how many records and categories it holds. This is the one places block that answers when no dataset is loaded : that is its job, so check loaded rather than success. Worth surfacing in an admin view: the release string is what makes results reproducible and comparable between refreshes. Accuracy limits worth knowing: education categories overcount by roughly 6% against the official register, counts are indicative until conflation exists, and confidence is uncalibrated. - place density
places_densityMeasures how built-up the area around a point is: how many places sit within the radius, the rate per km², a breakdown per category, and a classification (dense_urban, urban, suburban, rural). The classification is driven by the per-km² rate rather than the raw count, so it does not change when you change the radius. Data is Overture Maps Places. - enrich with nearby places
places_enrichAdds the nearest place per category to every item in a list, in one call : no iterator needed. The usual pipeline is: query your objects, run this block, then write the result back with a mutation. After that an ordinary range query filters on the stored distance, so no further lookups are needed. Each item gets {distance_m, name, id, count} per category under output path. Items are copied, never modified in place, and every item is returned whether or not it had a usable coordinate. - facet counts by places
places_facetCounts how many items in a list are near each category : “412 objects near a hospital” in one node. Counts items, not places: an item with three hospitals nearby counts once, which is what a facet over an inventory means. Pass categories with a shared radius, or filters for a named filter per facet. - filter by places
places_filterKeeps or removes items from a list according to a places filter, without writing anything to a store. Feed it a filter from places_parse_query to turn typed text such as binnen 300m van een basisschool straight into a filtered list. Items with no usable coordinate cannot satisfy a spatial test, so they are treated as not matching. - get place by id
places_getLooks up a single place by its Overture id : the block for re-resolving an id you stored earlier. Not finding it is a successful lookup with found false, not an error: an id can disappear between dataset releases, so branch on found rather than on success. Ids are opaque; do not parse them. - place here
places_hereResolves the place a coordinate is at, rather than the record nearest to it. Two things separate it from places_nearest. It ignores records that are not places you can be at : at Madurodam the restaurant inside it is a metre nearer than the park, and the park is still the answer. And it recognises being inside something: a point in the middle of the Efteling has a snack bar four metres away and the park's own record half a kilometre off at the entrance, so the answer is the park. That is inferred from the park's own attractions surrounding you, because Overture Places has points and no boundaries; kind tells you which way the answer was reached, and a point with nothing prominent around it honestly answers none rather than reaching for the nearest landmark it can find. - places in bounding box
places_in_bboxReturns every point of interest inside a bounding box : the block for rendering what is currently on screen. Results carry no distance, because a bounding box has no query point; use places_nearest when you need distances. Data is Overture Maps Places. - match places filter
places_matchTests one geo point against a places filter, normally one from places_parse_query. distance_m and count come back whether or not the filter matched, so you can re-answer any radius question from the result without calling again : which is what lets a radius slider move without a round trip. reason is a readable Dutch explanation you can show to the user. - nearest places
places_nearestFinds the nearest points of interest to a geo point, ordered by distance, with the distance to each in metres. Leave max distance empty for an unbounded search : because you get distances back rather than a yes/no, you can apply any radius afterwards without querying again, which is what makes a free-choice radius slider possible. Data is Overture Maps Places; see places_dataset_info for the release, and note that counts are indicative rather than a register. - parse places query
places_parse_queryTurns typed Dutch or English into a structured filter. binnen 300m van een basisschool becomes a proximity filter; niet bij scholen becomes a negated one; minimaal 3 kroegen binnen 500m carries a minimum count; wijk Jordaan and Station Breda resolve to a location. Feed filter into places_match, places_filter or places_facet. Parsing is rule-based and deterministic : no model call and no network. It never guesses silently: anything it could not read comes back in unparsed with a lower confidence, so you can fall back to plain search instead of acting on a half-understood filter. - resolve place category
places_resolve_categoryResolves free text such as kroeg, basisschool or supermarkt to a category group id. Regular plurals are handled, so kroegen and bars work without being listed. When a word spans several groups : school is the obvious case : the alternatives are returned rather than one being picked silently, because only you know which was meant. - search places
places_searchOne search box over both points of interest and settlements, with a single ranking across the two. Handles accents (Bréda finds Breda), typos (amsterdm centraal), partial words as you type, and collapses duplicate records for the same real place. Settlements outrank businesses, so Breda resolves to the municipality rather than to one of the ~2000 business names containing it. Pass near to bias results towards the current viewport. Each result carries kind, subtitle and score, so a dropdown renders straight from them. - places within radius
places_withinReturns every point of interest inside a radius, nearest first. Reports both count and raw_count: Overture is not conflated, so the gap between them is how much duplication the source data carries at this spot. Treat count as a deduplicated search result, not a census : train_station totals 1,432 nationally against roughly 400 real stations. Data is Overture Maps Places.