The Scenario
You are a regional planning analyst at a healthcare network. It is Thursday and the GIS team needs catchment area polygons for 20 clinic locations by Friday noon so they can map service coverage before the board presentation.
Each clinic is in your Google Sheet, lat/lng in columns A and B. Column C is blank. The GIS tool accepts WKT polygon strings.
The bad version of Thursday:
- You look up HERE's Isoline API documentation
- You realize you need an API key set up and a script to call it
- You ask the GIS team if they have a tool that does this already
- They say yes but it requires importing into their system and exporting back
- Friday noon arrives and the GIS team has polygon data for 6 of 20 clinics.
The fast version is one prompt.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your spreadsheet that reads your clinic coordinates and calls HERE Isolines for each location, writing polygon data back into the sheet.
Open the SheetXAI sidebar and type:
For each lat/lng pair in columns A and B, use HERE Isolines to compute the 30-minute driving catchment polygon and write the polygon WKT into column C.
SheetXAI reads all 20 coordinate pairs, calls HERE Isolines with a 30-minute driving range for each, and writes the resulting WKT polygon string back into column C. The GIS team imports the column directly.
What You Get
A sheet ready for GIS import:
- Column C — WKT polygon string for the 30-minute driving catchment around each clinic
The GIS team pastes the WKT values directly into their mapping tool. No intermediate file conversion, no polygon re-drawing by hand.
Need GeoJSON instead of WKT? Ask SheetXAI to write GeoJSON to column D in a follow-up prompt.
What If the Data Is Not Quite Ready
Catchment requirements vary by site type, and coordinate data is not always clean. SheetXAI handles the variation in the same prompt.
When different sites need different catchment thresholds
Urban clinics get a 15-minute isoline, rural clinics get 45 minutes. Column C has the site type.
For rows where column C equals "Urban", compute a 15-minute HERE driving isoline for the coordinates in columns A and B and write the WKT to column D. For rows where column C equals "Rural", compute a 45-minute isoline and write the WKT to column D.
When you want multiple catchment rings per site
The board wants to see 15-minute, 30-minute, and 60-minute rings for each clinic, to understand which population segments are in each band.
For each lat/lng pair in columns A and B, compute HERE driving isolines at 15 minutes, 30 minutes, and 60 minutes. Write the 15-minute WKT to column C, the 30-minute WKT to column D, and the 60-minute WKT to column E.
When some coordinates are missing and need geocoding first
Six of your 20 clinic rows have a street address in column C but blank lat/lng in columns A and B.
For rows where columns A and B are blank, geocode the address in column C using HERE and write lat/lng to columns A and B. Then for all 20 rows, compute the 30-minute driving isoline and write the WKT to column D.
When you need catchment polygons plus a population estimate in one pass
The board wants catchment WKT and a rough population count inside each polygon, using a reference table in the "Population" tab.
For each lat/lng pair in columns A and B, compute the 30-minute HERE driving isoline and write the WKT to column C. Then look up each clinic's city in the Population tab (city in column A, population in column B) and write the population to column D. Flag rows where no population match is found with "Missing" in column D.
The pattern: polygon generation and reference lookup in one prompt, so the board packet has the map and the coverage numbers from the same operation.
Try It
Get the 7-day free trial of SheetXAI and open any sheet with location coordinates, then ask it to generate drive-time polygons using HERE Isolines. The HERE integration is included in every SheetXAI plan. See also how to find nearby points of interest for candidate locations or the HERE in Google Sheets overview.
