Siehe auch [[https://openrouteservice.org/|OpenRouteService.org]], [[https://github.com/Overv/openstreetmap-tile-server|Tileserver Docker Github Repo]], [[https://switch2osm.org/serving-tiles/manually-building-a-tile-server-ubuntu-22-04-lts/|Tileserver auf Ubuntu22.04 installieren]], [[MapLibre]], [[OSRM]], [[GISInternals]], [[Nominatim]], [[opentripplanner|OpenTripPlanner]], [[PBF]], [[PMTiles]], [[MBTiles]], [[Osmium]], [[GTFS]]
OSM steht unter [[ODbL]].
[[https://jsfiddle.net/Geoapify/uzea198x/|GeoAPIfy Example + Key]]
[[https://download.geofabrik.de/|Geofabrik PBF Extract]] oder [[https://planet.osm.org/|den ganzen Planeten]]
curl https://download.geofabrik.de/europe/austria-latest.osm.pbf -o austria-latest.osm.pbf
curl https://download.geofabrik.de/europe/austria.poly -o austria.poly
=====Python=====
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')
=====Leaflet=====
Marker setzen
Wien Karte mit Marker
Marker mit Adresse setzen (Geocoder)
Wien Karte mit Adresse und Marker
====Marker====
Wien Karte mit Adresse und Marker
====Routing====
Wien Karte mit Adresse, Marker und Weg
=====MapLibre=====
Entweder direkt [[MBTiles]] von [[https://openmaptiles.com|OpenMapTiles]] herunterladen und zu [[PMTiles]] konvertieren. Man kann aber auch das ganze [[PBF]] File herunterladen.
pmtiles convert austria.mbtiles austria.pmtiles
Website (mit verschiedenen Features)
Österreich-Karte Pro