Le temps et les coordonnées GPS du fichier GPX sont maintenant enregistrés dans le tableau

Reste à encore récupérer les données des ap wifi ;-)
This commit is contained in:
Christian Zufferey
2020-07-30 23:05:00 +02:00
parent 019dae1769
commit eb2a137269

View File

@@ -1,9 +1,11 @@
-- parse les données GPX avec les données des ap wifi du NodeMCU pour les
-- cooréler en fonction du temps afin de pouvoir géolocaliser les ap wifi
print("\n gpx2gpsapwifi.lua zfzf200730.1715 \n")
print("\n gpx2gpsapwifi.lua zfzf200730.2304 \n")
zidx_gps_tab = 0
zgpx_data = {}
--[[
1
time = 123
@@ -22,32 +24,32 @@ function tprint(t)
end
end
gpx_data = {}
gpx_data[1] = {time = 123, lon = 234, lat = 345}
gpx_data[2] = {time = 456, lon = 567, lat = 678}
print(gpx_data[1].time)
print(gpx_data[1].lon)
print(gpx_data[2].lat)
tprint(gpx_data[1])
for i=1, #gpx_data do
print(i)
tprint(gpx_data[i])
end
-- gpx_data[1] = {time = 123, lon = 234, lat = 345}
-- gpx_data[2] = {time = 456, lon = 567, lat = 678}
--
-- print(gpx_data[1].time)
-- print(gpx_data[1].lon)
-- print(gpx_data[2].lat)
--
-- tprint(gpx_data[1])
--
-- for i=1, #gpx_data do
-- print(i)
-- tprint(gpx_data[i])
-- end
function zprintline()
print(string.sub(zline,1,string.len(zline)-1))
zline = file.readline()
if zline == nil then
ztmr_cat1:unregister()
file.close(zfilei)
end
end
-- function zprintline()
-- print(string.sub(zline,1,string.len(zline)-1))
-- zline = file.readline()
-- if zline == nil then
-- ztmr_cat1:unregister()
-- file.close(zfilei)
-- end
-- end
function zdatetime2unixtime(zdatetime)
-- source: https://stackoverflow.com/questions/4105012/convert-a-string-date-to-a-timestamp
@@ -65,47 +67,50 @@ function gpx2tab(zfile_gpx)
i = 1
for line in io.lines(zfile_gpx) do
print(line)
-- print(line)
-- <trkpt lat="46.5421696" lon="6.5749532">
if string.find(line, "<trkpt ") then
print("coucou gps")
-- print("coucou gps")
-- récupère la longitude
p1, p2 = string.find(line, "lat=\"")
-- print(p1,p2)
p3 = string.find(line, "\"", p2+1)
-- print(p3)
zlat = string.sub(line,p2+1,p3-1)
print("lat: " ..zlat)
-- print("lat: " ..zlat)
-- récupère la latitude
p1, p2 = string.find(line, "lon=\"")
-- print(p1,p2)
p3 = string.find(line, "\"", p2+1)
-- print(p3)
zlon = string.sub(line,p2+1,p3-1)
print("lon: " ..zlon)
-- print("lon: " ..zlon)
end
-- <time>2020-07-27T20:03:27Z</time>
if string.find(line, "<time>") then
print("coucou time")
-- print("coucou time")
-- récupère le temps
p1, p2 = string.find(line, "<time>")
-- print(p1,p2)
p3 = string.find(line, "Z</time>", p2+1)
-- print(p3)
ztime = string.sub(line,p2+1,p3-1)
print("time: " ..ztime)
-- print("time: " ..ztime)
zunixtime = zdatetime2unixtime(ztime)
print("unixtime: " ..zunixtime)
-- print("unixtime: " ..zunixtime)
-- on a le temps et les coordonnées on peut les sauver
zidx_gps_tab = zidx_gps_tab + 1
zgpx_data[zidx_gps_tab] = {unixtime = zunixtime, time = ztime,lon = zlon, lat = zlat}
end
i = i + 1
if i > 20 then break end
if i > 20000 then break end
end
@@ -113,3 +118,10 @@ end
gpx2tab("osman_2020-07-27_22-03_Mon.gpx")
-- print(zdatetime2unixtime("2020-07-27T20:03:27"))
for i=1, #zgpx_data do
print(i)
tprint(zgpx_data[i])
end