I need fake nodes in my grid to simulate data-points, providing dynamic data, I grabbed the nodes from OSM. Here is the script i used to grab Norwegian fuel stations.
import requestsimport pandas as pd
query = """[out:json][timeout:180];
area["ISO3166-1"="NO"]["boundary"="administrative"]->.norway;
nwr["amenity"="fuel"](area.norway);
out center tags;"""
response = requests.post( "https://overpass-api.de/api/interpreter", data=query)response.raise_for_status()
elements = response.json()["elements"]
rows = []
for element in elements: tags = element.get("tags", {})
if element["type"] == "node": latitude = element["lat"] longitude = element["lon"] else: latitude = element.get("center", {}).get("lat") longitude = element.get("center", {}).get("lon")
rows.append({ "osm_id": element["id"], "osm_type": element["type"], "name": tags.get("name"), "brand": tags.get("brand"), "operator": tags.get("operator"), "latitude": latitude, "longitude": longitude, })
df = pd.DataFrame(rows)df.to_csv("norway_fuel_stations.csv", index=False)
print(f"Saved {len(df)} stations")