Premium apps Part of Cartograph

Cartograph Meet Halfway (fair meeting point for 2–12 people)

Find the fairest meeting point for 2–12 people: geodesic midpoint, minimax and least total distance.

Coordinates in any format: decimal degrees, DMS, UTM, MGRS, plus codes, geohash. Addresses are not looked up.

More options

Up to 25 MB. Leave empty to use the built-in Vaduz sample. Download extracts from your own OpenStreetMap export, Geofabrik or BBBike; Cartograph never fetches map data itself.

Try an example: Berlin, Hamburg and Munich (straight line) · Two friends in Vaduz and Schaan, also by road (built-in sample)

More about this tool

How it works

Takes two to twelve places (any coordinate format) and finds the geodesic midpoint, the fairest point (the shortest longest trip, i.e. the centre of the smallest circle around everyone on the globe) and the point with the least total distance, with every person’s straight-line distance. With an OpenStreetMap extract it also finds the fairest meeting place by road for walking or cycling. It is the meet-halfway engine of the Cartograph app.

  • All straight-line distances are geodesics on the WGS84 ellipsoid (Karney’s algorithm), not travel times.
  • Midpoint (two people): the point half-way along the geodesic between them.
  • Fairest point: minimises the longest distance anyone travels — the centre of the smallest spherical cap that contains everyone. Found by the Bădoiu–Clarkson iteration (step towards the farthest person by d/(i+1), 400 steps along geodesics) and refined by a compass search down to 1 cm.
  • Least total distance: the geometric median, by Weiszfeld iterations in the azimuthal-equidistant plane of the current estimate. Centre of gravity: the normalised mean of the 3-D unit vectors.
  • By road (optional): each person is snapped to the nearest road node within 1 km, Dijkstra runs from everyone over the extract’s road graph, and the node with the smallest longest road distance (ties: smallest total) is chosen.

Sources

Part of Cartograph

  • Cartograph Map posters & route art

    Turn a place into a map print, a GPS-art route, a fair meeting point or a true-size map.

    Open Cartograph

Related tools

How to use Cartograph Meet Halfway

Find a fair meeting point for two to twelve people: geodesic midpoint, fairest point, least total distance and, with a map, the fairest place by road.

What it is for

“Let’s meet halfway” is easy for two people and surprisingly tricky for three or more. Is the fair place the one where the longest trip is shortest, or the one where the total distance is smallest? They are different places, and the second one often ends up next to one person. This tool shows the main answers side by side with everybody’s distance, so the group can choose with the numbers in view.

Enter one person per line as Name: coordinate. The coordinate may be decimal degrees, degrees and minutes, UTM, MGRS, a plus code or a geohash. Addresses are not looked up – no search service is contacted.

All main answers use straight-line distances on the Earth’s surface (geodesics on the WGS84 ellipsoid). Optionally the tool also finds the fairest street junction along walkable or rideable roads of an OpenStreetMap extract. It never estimates travel times.

Worked example

Friends in Lisbon (38.7223, -9.1393) and Tallinn (59.4370, 24.7536): the geodesic midpoint and the fairest point are the same for two people, at 50.28903, 4.14082 in southern Belgium – exactly 1,658.32 km from each. The least total distance point (50.27939, 4.12617) is almost there too; with two people every point on the line between them has the same total.

Three friends in Vaduz, with roads on foot using the built-in sample – Anna 47.1355, 9.5195, Ben 47.1505, 9.5135, Cleo 47.1440, 9.5290:

Worked example
Meeting pointAnnaBenCleoLongest
Fairest point0.870.870.860.87 km
Least total distance0.901.100.451.10 km
Fairest by road (on foot)1.511.571.571.57 km

The fairest point keeps everyone under 0.87 km in a straight line. The least-total point favours Cleo. Along the streets the fairest junction is about 1.57 km from everyone – roads are longer than straight lines.

How to read the result

The Fairest point is usually the answer people mean by “halfway”: nobody travels further than necessary. Least total distance saves the group the most kilometres in total but can be unfair. Centre of gravity is the plain average position, shown for comparison. The map draws the people in blue, the fairest point in orange with lines to everybody, the least-total point as a diamond and the road result as a green triangle. The GeoJSON download holds all points for other map tools.

Tips and common mistakes

  • Check the Longest column first – it is what the fairest point minimises.
  • For people in different cities, use the straight-line answers; road search only uses the loaded extract.
  • Everyone must be within 1 km of a road of the extract for the road answer.
  • The result is a point, not a venue. Look for a café or station near it.
  • Mixing coordinate formats is fine; swapped latitude and longitude is the most common mistake.

FAQ

Is the fairest point the same as the midpoint?

For two people, yes. For three or more it is the centre of the smallest circle around everyone on the globe.

Why not travel time?

That would need a routing service or timetable data. This tool uses only geometry and, optionally, your own map file.

How many people can I enter?

Two to twelve.

Is my group’s data stored?

On this page the places are sent to the server for the calculation; the GeoJSON download is deleted after about two hours. In the Cartograph app the places stay in your browser, and share links never contain them.

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://cartographmeethalfway.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://cartographmeethalfway.usefulweb.site/mcp · tool name cartograph_meet_halfway
Example request
curl -s -X POST https://cartographmeethalfway.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"people":"Berlin: 52.5163, 13.3777\nHamburg: 53.5503, 9.9920\nMunich: 48.1374, 11.5755"}'
Feedback · ideas & bug reports welcome