Natural Language Geocoding lets you convert natural language descriptions of spatial areas, like "In Virginia, within 1km of the Potomac River, North of Alexandria" into a polygon. It's open source on GitHub https://github.com/element84/natural-language-geocoding
Regular geocoding is just converting an address into a point of latitude and longitude. If you want to let users find things on the Earth they need to be able to describe the area in their text. For example, "Show me all the solar panels within 50 miles of Boston." Natural Language Geocoding uses an LLM enabled approach to extract out the spatial portions of those questions into a set of spatial operations. Then those spatial operations are run to compute things like place look ups: 1. Find a polygon for Boston" and 2. Add a buffer of 50 miles. This approach allows for a frugal use of tokens with the LLM. It's only converting the text into a set of spatial operations.
Natural Language Geocoding also produces polygons for areas which are much more useful than points when you need to find items within an area or for performing scientific calculations on the results, like "What's the average sea surface temperature in the Gulf of Mexico within 20 km of Florida in June"
jasongilman•1h ago
Regular geocoding is just converting an address into a point of latitude and longitude. If you want to let users find things on the Earth they need to be able to describe the area in their text. For example, "Show me all the solar panels within 50 miles of Boston." Natural Language Geocoding uses an LLM enabled approach to extract out the spatial portions of those questions into a set of spatial operations. Then those spatial operations are run to compute things like place look ups: 1. Find a polygon for Boston" and 2. Add a buffer of 50 miles. This approach allows for a frugal use of tokens with the LLM. It's only converting the text into a set of spatial operations.
Natural Language Geocoding also produces polygons for areas which are much more useful than points when you need to find items within an area or for performing scientific calculations on the results, like "What's the average sea surface temperature in the Gulf of Mexico within 20 km of Florida in June"