import folium
 
# Koordinaten für den Kartenmittelpunkt
latitude = 48.2082
longitude = 16.3738
 
# Karte erstellen
map_osm = folium.Map(location=[latitude, longitude], zoom_start=12)
 
# Marker hinzufügen
folium.Marker([latitude, longitude], popup='Wien').add_to(map_osm)
 
# Karte anzeigen
map_osm.save('map.html')
import folium
import overpy
 
# Koordinaten für den Kartenmittelpunkt
latitude = 48.2082
longitude = 16.3738
 
# Overpass API-Abfrage erstellen
api = overpy.Overpass()
 
# Overpass API-Abfrage ausführen
result = api.query(f'node(around:2000, {latitude}, {longitude})["highway"];out;')
 
# Karte erstellen
map_osm = folium.Map(location=[latitude, longitude], zoom_start=14)
 
# Straßennamen hinzufügen
for node in result.nodes:
    if 'name' in node.tags:
        folium.Marker([node.lat, node.lon], popup=node.tags['name']).add_to(map_osm)
 
# Karte anzeigen
map_osm.save('map.html')
import requests
 
# Overpass API-Abfrage für Straßen in Wien
overpass_url = "http://overpass-api.de/api/interpreter"
query = '''
    [out:xml];
    area["name"="Wien"]->.a;
    way(area.a)["highway"];
    out;
'''
response = requests.get(overpass_url, params={'data': query})
 
# Daten lokal speichern
with open('wien_streets.osm', 'wb') as file:
    file.write(response.content)
import folium
import xml.etree.ElementTree as ET
 
# XML-Daten laden
tree = ET.parse('wien_streets.osm')
root = tree.getroot()
 
# Koordinaten für den Kartenmittelpunkt
latitude = 48.2082
longitude = 16.3738
 
# Karte erstellen
map_osm = folium.Map(location=[latitude, longitude], zoom_start=14)
 
# Straßennamen hinzufügen
for way in root.findall(".//way"):
    street_name = None
    coords = []
    for tag in way.findall(".//tag"):
        if tag.get('k') == 'name':
            street_name = tag.get('v')
            break
    if street_name:
        for nd in way.findall(".//nd"):
            ref = nd.get('ref')
            node = root.find(f".//node[@id='{ref}']")
            if node is not None:
                lat = float(node.get('lat'))
                lon = float(node.get('lon'))
                coords.append([lat, lon])
        if coords:
            folium.PolyLine(coords, color="blue", weight=2, popup=street_name).add_to(map_osm)
 
# Karte anzeigen
map_osm.save('map.html')