First phase of the GPX track manager is done

After 5 days of pretty intense work I have finished the first phase of my GPX tracks manager. It is meant for sharing and keeping statistics on your adventures in the form of the route you completed, mostly while geocaching, but also during other outdoor activities. In 2 places the program can trim off, for example, stretches where you were riding some means of transport and forgot to turn off the navigation, or where you turned it off at the train station and back on 20km further on, which the navigation records as a single segment that of course skews the results of the other segments.

It works absolutely great, the comparison uses <= (less than or equal to) or >= (greater than or equal to). That means you can copy the date from the table and don’t have to modify it at all if you want to delete everything from that date or keep everything. Maybe you don’t quite get it right now, so let me explain. The trimming is on 2 pages – the 1st page is UploadGpxTrack.aspx, where you enter the time range you want to keep. You can of course keep everything, that is the default. The second page is ManageGpxTrack.aspx, where, by contrast, you trim the middle, not the edges.

But if you pick a date that lies between the times you want to split, you split the file into 2 and you don’t lose anything. However, if you try to split the file into just one and leave the other one empty, that won’t fly. Each file has to be created with at least 1 segment, and then you are free to delete it. This is my first website where I focused heavily on optimization – I turned off ViewState, the DB table is case-sensitive, I always take only the bare minimum from the DB and all at once, so there is no constant back-and-forth with the database, and the whole website is also compiled into an assembly, although this last point applies to all my websites.

Yes, this whole add-on to the website is just 1 table, no more are needed, everything is in those GPX files. The table has 13 columns, but 2 of them are completely unnecessary, because the same data is also in the GPX files, so I will probably remove them soon. Well, that’s what happens when someone doesn’t think things through..:-( For a GPX track you can set a comment, choose whether you want to display the route colored by elevation, and if not, you can pick a color by its HTML name or HEX value, and you can also rename the route.

Wherever something is duplicated between the GPX file and the database, the change is reflected in both places. I didn’t want to mess with the XML file by adding new elements and nodes, so I preferred to create a new column in the database. Each track is protected by a 5-character code made up of uppercase and lowercase letters and digits, which gives 62 characters, and now try guessing every combination 5x :D. Sharing your track is easy, just copy the address from the browser’s address bar. All the other pages are invisible to other people unless they are logged in under your account.

And if you no longer want to share a track with others, you generate a new code with a single click and the others are out of luck :D. The ShowGpxTrack.aspx page has 2 main parts: the first is the meta information, i.e. various statistics on speed, distance, altitude and so on. The second is the map, which can be displayed either in a single color or according to the actual elevation. Every visit is counted and shown to you as text and in a chart for each day; only when you view the page yourself while logged in is it not counted.

As owners, you can also conveniently download the GPX file, while others would need to know the structure of my website and the secret code of the GPX track. The program works with the data intelligently, especially if you created the GPX file in 👻 The page moved out and left no forwarding address.client. This means that when you split a file, a timestamp is always added to it (only the time, the date isn’t needed; if the GPX file contains more than one day, the app won’t let you upload it), and this timestamp stays there, but no new ones are added (so there will be 2 – the original one, so you know the source of the file, and then the one created by the first split.

When you split the file again, this second timestamp is replaced with a new one based on the content of the segment in the GPX file. Maybe I explained it in a complicated way, but don’t worry about it:-). What did I manage to program in those 5 days? I honestly find the program absolutely great to work with, everything is fast, simple, and functional. For now you can only take a look at all the GPX files I dug out of my GPS navigation. There would be more of them, but because I keep restoring the navigation to factory settings thinking it will help, I have lost dozens or rather hundreds of tracks that way. EDIT June 22, 2015 – more GPX files added:

2013 [21]

April [4]

  1. 👻 The page moved out and left no forwarding address.
  2. 👻 This URL stopped leading anywhere long ago – the GPS lost its signal for good.
  3. 👻 This link is now just a memory, just as the blog’s name suggests.
  4. 👻 This link died before ICQ did.
  5. May [6]

  1. 👻 The server went down, the owner moved away, and DNS forgot all about it.
  2. 👻 404: the website went on a hike and never came back.
  3. 👻 There used to be a page here. Now there is only wind and weeds.
  4. 👻 This link died before ICQ did.
  5. 👻 The domain ran out like prepaid credit on Oskar.
  6. 👻 The server was sent to a retirement home for domains.
  7. June [1]

  1. 👻 The server was sent to a retirement home for domains.
  2. August [1]

  1. 👻 There used to be data here. Now it is just an empty lot on the internet.
  2. September [7]

  1. 👻 The page moved out and left no forwarding address.
  2. 👻 The server was sent to a retirement home for domains.
  3. 👻 This link is deader than Flash Player.
  4. 👻 The domain ran out like prepaid credit on Oskar.
  5. 👻 The page moved out and left no forwarding address.
  6. 👻 There used to be data here. Now it is just an empty lot on the internet.
  7. 👻 The website parked and threw its keys into the river.
  8. October [1]

  1. 👻 This link is now just a memory, just as the blog’s name suggests.
  2. November [1]

  1. 👻 The server went down, the owner moved away, and DNS forgot all about it.
  2. 2014 [36]

    February [1]

  1. 👻 There used to be a page here. Now there is only wind and weeds.
  2. March [3]

  1. 👻 The website parked and threw its keys into the river.
  2. 👻 RIP – this server didn’t even survive its own hosting.
  3. 👻 This link died before ICQ did.
  4. April [10]

  1. 👻 This link retired before it was even eligible for a pension.
  2. 👻 The page moved out and left no forwarding address.
  3. 👻 The domain ran out like prepaid credit on Oskar.
  4. 👻 This link is deader than Flash Player.
  5. 👻 This link is now just a fossil from a time when people still trusted the internet.
  6. 👻 This link is now just a memory, just as the blog’s name suggests.
  7. 👻 The domain ran out like prepaid credit on Oskar.
  8. 👻 The server was sent to a retirement home for domains.
  9. 👻 The server went down, the owner moved away, and DNS forgot all about it.
  10. 👻 The website parked and threw its keys into the river.
  11. May [2]

  1. 👻 The page moved out and left no forwarding address.
  2. 👻 There used to be data here. Now it is just an empty lot on the internet.
  3. June [1]

  1. 👻 RIP – this server didn’t even survive its own hosting.
  2. July [3]

  1. 👻 This link died before ICQ did.
  2. 👻 This link is deader than Flash Player.
  3. 👻 This link is now just a memory, just as the blog’s name suggests.
  4. August [3]

  1. 👻 This URL stopped leading anywhere long ago – the GPS lost its signal for good.
  2. 👻 The server went down, the owner moved away, and DNS forgot all about it.
  3. 👻 This link is deader than Flash Player.
  4. September [2]

  1. 👻 404: the website went on a hike and never came back.
  2. 👻 There used to be a page here. Now there is only wind and weeds.
  3. October [1]

  1. 👻 This link retired before it was even eligible for a pension.
  2. November [10]

  1. 👻 This link died before ICQ did.
  2. 👻 The domain ran out like prepaid credit on Oskar.
  3. 👻 This link is deader than Flash Player.
  4. 👻 The server went down, the owner moved away, and DNS forgot all about it.
  5. 👻 There used to be a page here. Now there is only wind and weeds.
  6. 👻 This link died before ICQ did.
  7. 👻 This URL stopped leading anywhere long ago – the GPS lost its signal for good.
  8. 👻 The server was sent to a retirement home for domains.
  9. 👻 This link is deader than Flash Player.
  10. 👻 The server was sent to a retirement home for domains.
  11. 2015 [8]

    May [3]

  1. 👻 The page moved out and left no forwarding address.
  2. 👻 There used to be data here. Now it is just an empty lot on the internet.
  3. 👻 This link died before ICQ did.
  4. June [3]

  1. 👻 This link retired before it was even eligible for a pension.
  2. 👻 There used to be a page here. Now there is only wind and weeds.
  3. 👻 The page moved out and left no forwarding address.
  4. July [2]

  1. 👻 The page moved out and left no forwarding address.
  2. 👻 The website parked and threw its keys into the river.

PS: It’s only the first phase, because there are no proper statistics yet :).

Categories

Leave a Reply