Niselregen, Riesenrunde Lissabon

Der Wetterbericht passte schon. Lissabon war in Wolken gehüllt. Ich ließ per Chat GPT ein Script schreiben, was von GPSMyCity einen Pfad in GPX umwandelte. Die Datei lieferte mir dann auf den Handy die Route.

Es nieselte ab und zu auf meinem Weg zum Videostart runter an den Cais das Colunas. Meinen Regenschirm hatte ich dabei und den brauchte ich auch. Etwas spät startete ich meine Runde und lief wirklich fast überall ähnlich der Routenbeschreibung lang. Ich kannte die meisten Sachen schon von 2019 und 2018. Es war eben auch dieses Mal wieder ganz nett. Lissabon gefällt mir immer gut. Mit den Hügeln wird die Fitness gefordert. Im Winter ist es kaum überlaufen.

Am Ende kamen heute abend gut 2h Video zusammen. Dank der 30Ah Powerbank liefen alle Cams durch. Meine Hand, Finger und Gelenke waren mit den ca. 1,5kg über die Distanz überansprucht. Mehr wäre fast gar nicht gegangen. Da musste ich ordentlich schütteln.

Zum Abendessen machte ich mir die Tortilla in der Pfanne. Alles gut hier in Lissabon. Es muss sich dennoch was ändern, denn der Low Budget Lifestyle ist jetzt durch. Man hat gut zu tun aber die Spaziererei bringt finanziell zu wenig ein und man trifft keine Leute. Ich war einfach knülle heute.

Die ganzen SD Karten mit Faro musste ich wechseln. Sie bräuchten zu lange zum Encoden, also ließ ich das. Ich habe ja noch mind. ein freies Set.

Gut. Geschafft.

Noch der code for gpsmycity-to-gpx.py
import requests
from bs4 import BeautifulSoup
import re
import gpxpy
import gpxpy.gpx
import sys
import json
import os

def extract_json_data(html_content):
"""
Extracts JSON data from the script tag in HTML content.
"""
soup = BeautifulSoup(html_content, 'html.parser')
script_tags = soup.find_all('script')
for script in script_tags:
if 'jarr' in script.text:
json_data = re.search(r'jarr\s*=\s*(\{.*?\});', script.text, re.DOTALL)
if json_data:
return json.loads(json_data.group(1))
return None

def create_gpx_file(data, filename):
"""
Creates a GPX file from the extracted path data.
"""
gpx = gpxpy.gpx.GPX()

# Create GPX track
gpx_track = gpxpy.gpx.GPXTrack()
gpx.tracks.append(gpx_track)

# Create first segment in our GPX track
gpx_segment = gpxpy.gpx.GPXTrackSegment()
gpx_track.segments.append(gpx_segment)

# Add points to the segment
for point in data['path']:
lat, lon = map(float, point)
gpx_segment.points.append(gpxpy.gpx.GPXTrackPoint(lat, lon))

# Write the GPX file
with open(filename, "w") as f:
f.write(gpx.to_xml())

print(f"GPX file created: {filename}")

if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python script.py ")
sys.exit(1)

url = sys.argv[1]

# Extract filename from URL
filename = os.path.basename(url).split('.')[0] + '.gpx'

# Fetch the HTML content
response = requests.get(url)
if response.status_code == 200:
json_data = extract_json_data(response.text)
if json_data:
create_gpx_file(json_data, filename)
else:
print("No path data found in the HTML.")
else:
print("Failed to fetch the HTML page.")

0 Responses to “Niselregen, Riesenrunde Lissabon”


Kommentare sind zur Zeit nicht möglich.