A simple flow in node-red to get all gateways in a radius around a coordinate from The Things Stack Community Edition
[{"id":"b062438a.ed523","type":"tab","label":"Gatewat RX, TX","disabled":false,"info":""},{"id":"78c4d268.45fb8c","type":"http request","z":"b062438a.ed523","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":730,"y":240,"wires":[["b002c6ff.3b4ba8"]]},{"id":"c22ab33d.13229","type":"debug","z":"b062438a.ed523","name":"","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1050,"y":180,"wires":[]},{"id":"b002c6ff.3b4ba8","type":"json","z":"b062438a.ed523","name":"","property":"payload","action":"","pretty":false,"x":870,"y":240,"wires":[["862912eb.88b07"]]},{"id":"862912eb.88b07","type":"split","z":"b062438a.ed523","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":990,"y":240,"wires":[["c22ab33d.13229","99d71b81.06ea88"]]},{"id":"977590a6.7779c","type":"ui_text_input","z":"b062438a.ed523","name":"","label":"Lat","tooltip":"","group":"466c0f08.3557","order":2,"width":2,"height":1,"passthru":true,"mode":"text","delay":300,"topic":"topic","topicType":"msg","x":270,"y":120,"wires":[["bfd01747.ce8a18"]]},{"id":"a43e478c.841518","type":"ui_text_input","z":"b062438a.ed523","name":"","label":"Lon","tooltip":"","group":"466c0f08.3557","order":3,"width":2,"height":1,"passthru":true,"mode":"text","delay":300,"topic":"topic","topicType":"msg","x":270,"y":160,"wires":[["336a12f0.bbe8de"]]},{"id":"dcee690f.aa5a58","type":"ui_text_input","z":"b062438a.ed523","name":"","label":"Dist","tooltip":"","group":"466c0f08.3557","order":4,"width":2,"height":1,"passthru":true,"mode":"text","delay":300,"topic":"topic","topicType":"msg","x":390,"y":200,"wires":[["9b7ab080.166b"]]},{"id":"dafd3bd4.c78008","type":"ui_button","z":"b062438a.ed523","name":"","group":"466c0f08.3557","order":6,"width":2,"height":1,"passthru":false,"label":"get","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"topic","topicType":"msg","x":390,"y":240,"wires":[["e4622917.4bad98"]]},{"id":"bfd01747.ce8a18","type":"change","z":"b062438a.ed523","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"lat","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":120,"wires":[[]]},{"id":"336a12f0.bbe8de","type":"change","z":"b062438a.ed523","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"lon","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":160,"wires":[[]]},{"id":"4d4db5c0.620fdc","type":"change","z":"b062438a.ed523","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"dist","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":200,"wires":[[]]},{"id":"e4622917.4bad98","type":"function","z":"b062438a.ed523","name":"","func":"let lat = flow.get('lat');\nlet lon = flow.get('lon');\nlet dist = flow.get('dist')\n\n\nmsg.url = \"https://mapper.packetbroker.net/api/v2/gateways?distanceWithin%5Blatitude%5D=\" + lat + \"&distanceWithin%5Blongitude%5D=\" + lon + \"&distanceWithin%5Bdistance%5D=\" + dist + \"&netID=000013&tenantID=ttn\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":240,"wires":[["78c4d268.45fb8c","3cb07fe3.14cdc"]]},{"id":"80ae19d3.448f98","type":"ui_worldmap","z":"b062438a.ed523","group":"466c0f08.3557","order":8,"width":0,"height":0,"name":"","lat":"","lon":"","zoom":"","layer":"","cluster":"","maxage":"","usermenu":"hide","layers":"hide","panit":"false","panlock":"false","zoomlock":"false","hiderightclick":"true","coords":"none","showgrid":"false","allowFileDrop":"false","path":"/worldmap","x":1040,"y":420,"wires":[]},{"id":"7e5bf05.187dc1","type":"worldmap","z":"b062438a.ed523","name":"","lat":"","lon":"","zoom":"","layer":"","cluster":"","maxage":"","usermenu":"show","layers":"show","panit":"false","panlock":"false","zoomlock":"false","hiderightclick":"false","coords":"none","showgrid":"false","allowFileDrop":"false","path":"/worldmap","x":1040,"y":360,"wires":[]},{"id":"e5b54b5.ee797b8","type":"http request","z":"b062438a.ed523","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":950,"y":300,"wires":[["fbda089e.9f1e08"]]},{"id":"f9e66a57.636ee8","type":"function","z":"b062438a.ed523","name":"","func":"let id = msg.payload.id;\nlet lat = msg.payload.location.latitude;\nlet lon = msg.payload.location.longitude\nlet rxRate = msg.payload.rxRate;\nlet txRate = msg.payload.txRate;\nlet online = msg.payload.online;\n\nif (online == true) {\n color = \"#0000ff\";\n}else{\n color = \"#ff0000\";\n};\n\n\nmsg.payload = { \"name\":id, \"lat\":lat, \"lon\":lon, \"rxRate\":rxRate, \"txRate\":txRate, \"online\":online, \"iconColor\":color }\n\n\n\n\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":760,"y":360,"wires":[["7e5bf05.187dc1","d1de4ceb.90304"]]},{"id":"d1de4ceb.90304","type":"debug","z":"b062438a.ed523","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":750,"y":420,"wires":[]},{"id":"9b7ab080.166b","type":"function","z":"b062438a.ed523","name":"","func":"msg.payload = msg.payload * 1000;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":550,"y":200,"wires":[["4d4db5c0.620fdc"]]},{"id":"99d71b81.06ea88","type":"function","z":"b062438a.ed523","name":"","func":"let id = msg.payload.id;\n\n\nmsg.url = \"https://mapper.packetbroker.net/api/v2/gateways/netID=000013,tenantID=ttn,id=\" + id +\"\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":780,"y":300,"wires":[["e5b54b5.ee797b8"]]},{"id":"fbda089e.9f1e08","type":"json","z":"b062438a.ed523","name":"","property":"payload","action":"","pretty":false,"x":1090,"y":300,"wires":[["f9e66a57.636ee8"]]},{"id":"c13553ed.99c8a","type":"ui_text","z":"b062438a.ed523","group":"466c0f08.3557","order":1,"width":0,"height":0,"name":"","label":"Coordinates to be in decimal and the distance in km","format":"","layout":"row-spread","x":250,"y":80,"wires":[]},{"id":"20417d2b.d5dac2","type":"inject","z":"b062438a.ed523","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"","payload":"lat","payloadType":"flow","x":120,"y":120,"wires":[["977590a6.7779c"]]},{"id":"118bc15.972113f","type":"inject","z":"b062438a.ed523","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"","payload":"lon","payloadType":"flow","x":120,"y":160,"wires":[["a43e478c.841518"]]},{"id":"ad4ab4f2.dcfc48","type":"inject","z":"b062438a.ed523","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"","payload":"dist","payloadType":"flow","x":120,"y":200,"wires":[["133addcc.e8b832"]]},{"id":"133addcc.e8b832","type":"function","z":"b062438a.ed523","name":"","func":"let dist = msg.payload / 1000;\nmsg.payload =dist;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":260,"y":200,"wires":[["dcee690f.aa5a58"]]},{"id":"3cb07fe3.14cdc","type":"debug","z":"b062438a.ed523","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":550,"y":300,"wires":[]},{"id":"466c0f08.3557","type":"ui_group","name":"Location","tab":"6bf50ff0.5f5d2","order":1,"disp":true,"width":30,"collapse":false},{"id":"6bf50ff0.5f5d2","type":"ui_tab","name":"TTN Map","icon":"dashboard","disabled":false,"hidden":false}]
'''