Is this one-off retrieval, or in every Emacs session or command call?
If you need the list frequently, I’d do a query like this below (replace GEO with AREA — for your purpose, you don’t need to retrieve the ID either), dedupe the same occurrences, and keep the resultant list in a simple list variable.
Or I retrieve the list once, and manually create a list variable in init so that you can manually add/remove from it.
LAT and LON are decimal degrees of type number (not string)."
(let ((nodes (org-roam-db-query
[:select [properties id]
:from nodes
:where (like properties '"%geo%")])))