Portál AbcLinuxu, 8. května 2025 02:46
17:06:30 MQT: tele/tasmota11/SENSOR = {"Time":"2020-04-22T17:06:30","GPS":{"lat":49.6576775,"lon":14.8448012,"alt":286.337,"hAcc":5.043,"vAcc":7.095},"FLOG":{"rec":0,"mode":0,"sec":0}}A chtěl bych to cpát do mapy (třeba google maps nebo seznam), nevíte případně, jak to udělat? Díky díky.
{"Time":"2020-04-22T17:06:30","GPS":{"lat":49.6576775,"lon":14.8448012,"alt":286.337,"hAcc":5.043,"vAcc":7.095},"FLOG":{"rec":0,"mode":0,"sec":0}}A potřebuju z toho sestavit url
https://maps.google.com?q=49.6576775,14.8448012
. Nevím, jak je to složité a jestli to vůbec lze...
všecko de a neni to jako vo linuxu :O :O :D :D ;D
takle třeba jakoby namaštěný v tamtom javascripru :O ;D
//předpokládám že máš string var input = '{"Time":"2020-04-22T17:06:30","GPS":{"lat":49.6576775,"lon":14.8448012,"alt":286.337,"hAcc":5.043,"vAcc":7.095},"FLOG":{"rec":0,"mode":0,"sec":0}}'; //převedeme string na json objekt json = JSON.parse(input); //nóóóó a uděláme string tý tvý url :D var url="https://maps.google.com?q="+json.GPS.lat+","+json.GPS.lon; //nakonec vypišeme do webový konzole abysme viděli jestli to jako vubec funguje :O ;D console.log("url: "+url);nóóóó a takle třeba uplně stejně v pythonu
import json input = '{"Time":"2020-04-22T17:06:30","GPS":{"lat":49.6576775,"lon":14.8448012,"alt":286.337,"hAcc":5.043,"vAcc":7.095},"FLOG":{"rec":0,"mode":0,"sec":0}}' d = json.loads(input) url="https://maps.google.com?q="+str(d['GPS']['lat'])+","+str(d['GPS']['lon']); print("url: "+url)
echo '{"Time":"2020-04-22T17:06:30","GPS":{"lat":49.6576775,"lon":14.8448012,"alt":286.337,"hAcc":5.043,"vAcc":7.095},"FLOG":{"rec":0,"mode":0,"sec":0}}' \ | sed -e 's,^.*lat":,https://maps.google.com?q=,' -e 's/"lon"://' -e 's/,"alt".*$//'
echo '{"Time":"2020-04-22T17:06:30","GPS":{"lat":49.6576775,"lon":14.8448012,"alt":286.337,"hAcc":5.043,"vAcc":7.095},"FLOG":{"rec":0,"mode":0,"sec":0}}' | jq ".GPS.lat, .GPS.lon"
#!/bin/bash gps=$(/usr/bin/mosquitto_sub -h 10.0.10.1 -t +/tasmota11/SENSOR -v -C 1) lat=`echo $gps | grep -o -P '(?<=lat":).*(?=,"lon)'` lon=`echo $gps | grep -o -P '(?<=lon":).*(?=,"alt)'` echo https://maps.google.com?q="$lat","$lon"
#!/bin/bash gps=$(...) cat >mapa.html <<eof <html> ... <script> var gps = $gps; ... </script> </html> eofTímto dostaneš do výsledného HTML ten kus dat a pak už si s tím můžeš hrát dle libosti. V příloze je celý skript na vygenerování jednoduché mapy se špendlíkem.
49.9277237 14.2883905 49.9277363 14.2883125 49.9275056 14.2883530 49.9273289 14.2884425A po minutě přibývají další.
echo '<?xml version="1.0" encoding="UTF-8" standalone="no" ?><gpx xmlns="http://www.topografix.com/GPX/1/1" creator="" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">' cat soubor | sed -re 's@^@<wpt lat="@' -e 's@,@" lon="@' -e 's@$@"><name>reality</name><sym>reality</sym></wpt>@' echo '</gpx>'Další možnost je použít gpsbabel.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.