Friday, October 13, 2023

Intelligent Directions

Fuzzy Maps is a new interactive map which uses AI to provide intelligent walking, cycling or driving directions. Unlike directions in Google Maps you can ask Fuzzy Maps to provide you with directions which include custom conditions or requirements.

Fuzzy Maps provides a number of example searches that you might want to use, such as:

Bike directions to a nearby history museum, avoid going over hills
Walking directions to the Target closest to the westernmost Whole Foods in a 10-mile radius

One of the things I most like about Fuzzy Maps is that it provides a detailed commentary on the process it takes to calculate and provide a route based on your search requirements. For example I asked Fuzzy Maps to:

Provide walking directions from Times Square to Central Park, avoiding any bars

Fuzzy Maps responded by saying that 'to solve this problem we will follow these steps':
1. Use the `mapbox()` function to get the coordinates of Times Square and Central Park.
2. Use the `foursquare()` function to find all bars in the area.
3. Use the `routing()` function and specify a list of "avoid_points", to avoid any bars.

Fuzzy Maps then proceeded to display a route on the map from Times Square to Central Park which didn't pass any bars.

The AI behind Fuzzy Maps works a little like ChatGPT’s Code Interpreter. It generates Python code under the hood and runs that code for each step in its routing engine. This Python environment has the ability to query Mapbox for geocoding, Foursquare for POI search, Overpass for searching the OpenStreetMap database, and Valhalla for the actual routing.

Fuzzy Maps' reliance on Foursquare for POI search can limit the accuracy of its routing. For example in my example above (avoiding bars on a walk from Times Square to Central Park) the results are limited to Foursquare's knowledge of New York bars, many of which seem to be missing from the Foursquare database. 

Directions from Times Square to Central Park with more bars avoided

Obviously Fuzzy Maps can improve its results by adding more sources for its Points of Information. For example in my search I noticed that Fuzzy Maps had only used Foursquare to 'find all bars in the area'. I therefore asked Fuzzy Maps ' Can you include bars from Overpass in these directions'. In response Fuzzy Maps provided me with a new route from Times Square to Central Park which includes a lot more bars than in its initial route (which had been limited to bars in the Foursquare database).

Also See 

OSM GPT - use natural language queries to search OpenStreetMap. 
Texttomap - enter any geographical based question into Texttomap and it will attempt to answer your question and show you the results on a map 
mapsgpt - an interactive map which allows you to search using input forms to generate natural language queries.

No comments: