Arpak
Well-Known Member
Hi all,
It's been a bit since I posted on TRF, been catching up on life (I graduated and got a big boy engineering job!). I had a discussion last night with my buddy Adam and he mentioned to me that he wished he could view his featherweight GPS data in Google Earth, apparently that's not a released feature yet. Turns out its not too difficult to convert it, but it would be incredibly tedious by hand.
So I made a python script! I've been calling it fw2kml (FeatherWeight To(2) KML), and it seems to work fairly well. It turns this....
Into this!
Right now its feature set is brief but as follows;
- Drag a featherweight .csv data file onto the script to generate a [filename]_fw2kml.kml file of that data
- Automatically filters out "bad" data (altitude is below ground)
- Nifty icon
I'd like to maintain this for a bit until it gets stable enough to work in practically every scenario with the featherweight, but I need your help for this. If you own a featherweight GPS, please try this tool out and let me know if you hit any snags.
How to Use
- Download the "fw2kmldrag.exe" file from the link below
- Drag a Featherweight .csv data file onto the .exe, it will automatically generate the output .kml and place it in the same location as the .exe
- Open Google Earth Pro (its free)
- Go to File>Open
- Select the generated .kml file
- Gawk and Awe
- Upload a screenshot of your flight here!
Download
I've made the source code and built .exe file available on github, for you code-savvy folks out there its written in python and generated into a .exe using the py2exe library. To download the tool, go to the following link and download "fw2kmldrag.exe".
https://github.com/pirate21213/fw2kml/releases/tag/Latest
Note: You may/will probably get a warning that the file is malicious. This is because it doesn't have proper certificates and whatnot and for all intents and purposes looks to windows like a virus. I can assure you, its not. The source code is up. Its basically a highschool CompSci project. Don't believe me? I guess don't use it... This is the bulk of the logic.
Python:
outfile_name = str(droppedFile).replace('.csv', '_fw2kml.kml')
coords = []
for row in rows:
if int(row[5]) <= 0:
print("Bad data, skipping", row[5])
else:
coords.append("{},{},{}".format(row[4], row[3], (int(row[5]) * 0.3048)))
coordstring = ' '.join(coords)
If you run into an issue using the file, let me know what happened! I'd love to catch all the strange edge cases and make this fairly straight forward.
Happy flying!
-Patrick