Locus can`t load big Tracks

elmuSSo shared this problem 6 years ago
Solved

Hi. Recently I recorded long trak with many points (1 second / 1 meter settings). The track is bigger then 1MiB, and Locus can`t load it. What is interesting, if I will export it to KML, and then import it from KML, track loads correctly.


http://dl.dropbox.com/u/4747589/cantL...


http://dl.dropbox.com/u/4747589/cantL...


http://dl.dropbox.com/u/4747589/Megat...

Comments (21)

photo
0

Issue in this case is caused by 1MB limit of query


http://stackoverflow.com/questions/66...


so firstly Locus needs better database system

photo
0

hmm. any chance to bypass that limitation? maybe divide the query into parts and/or buffer them in some temp file?

photo
0

sorry but this is not possible now. I`m storing all track points in simple BLOB object, that means I can only load all points at once now. Anyway I`ll be working on new system for storing Points and Tracks during new months, so after that, this issue will be solved

photo
0

I just want to remind about this bug...

photo
0

I think this is not needed...


https://asammsoftware.atlassian.net/b...

photo
0

What do you think by "not needed"? How do you know if somebody does not need it? This is obvious limitation for users who are recording long tracks. I want to load all my tracks, not only smaller than 1mb. I have a few of them, and they are my favourites. I need sometimes to load them, and I can`t.

photo
0

>want to remind


is not needed... ;)


it has a high priority in Menions todo list (see link)

photo
0

ok, now i understood. thanks

photo
0

as gynta mention, I know about this bug and it`s always scaring me because it`s number 1 in my bugtracker (JIRA). Anyway it needs complete!! rewrite of tracks database, so completely new system for storing tracks. And that`s why I wasn`t able to do it yet ... but yes, I count with it and it will be fixed for sure. It must be, I know

photo
0

Thank you guys.

photo
0

finally ...


issue fixed. New database system is completed. Since version 2.7.0, Locus needs to convert old database into new system. This allow almost unlimited size of tracks (limitation is here memory available for Locus, not database).


Side-effect of this change was ability to create categories also for tracks

photo
0

Hell yeah. Congratulations. We will see how it works...

photo
0

Problems...


So I have 400 tracks and a probably about 5000 points. I tried to convert them to the new system. I left the conversion process overnight, and when I awake I saw that Locus stopped to responding. I had error message that I can force close Locus or wait. If I clicked wait, after a few seconds the same dialog appeared. The result is I have some of the tracks converted ( but NOT ALL! ), and NO POINTS. I still have access to the old data, because I use Titanium backup, but now I can`t recreate the conversion process, because Locus is not asking me if I want to convert anything ( when Im updating the Locus 2.6.3 to 2.7.1 ) . And the import of previously exported Locus backup file ( not the Titanium one ) doesn`t work. What can I do now?

photo
0

Hi,


hmm firstly expect that tracks that Locus wasn`t able to read in old database, will not be converted!


then to start conversion, there should be some *.sqll files in Locus/data and no files in Locus/data/database. Then after start, Locus should offer conversion.


Also, before first convert, Locus created complete backup into Locus/backup/before_conversion_X.zip file, so there are all data stored


And finally, if nothing will help, I may help as I already offered. Send me this backup and I`ll send it converted back

photo
0

Ok. I uploaded my backup to the dropbox in Users folder. Please take care of my stuff:) Its about 2 years of track recording. And please don`t tell me that some of them will not be converted, I refuse to accept this fact. I put too much time and effort to record all these track to now be informed, that many of them will be lost from my database. I just will not accept it:P Anyway, why?

photo
0

your track database have more then 1,5 million! points, crazy!! Conversion on my device took around 15 minutes. It`s really interesting that on worst phones it took so much time.


Because of Android 4, Locus was able to load completely all tracks. So please check files on dropbox and try it. All should works fine. Let me know ... (extract files into Locus/data/database directory)

photo
0

Thank You! Ive got everything.


Remember that I dont know when the error occurred, maybe after 15 from the start. I just went sleep, so I was not looking on phone. Anyway, itd cool now. Im happy. 1,5 million? Nice, im proud now:) Its because I record all my trips since 2 years ago, even if I already have similar records. And my settings are 1s/1m/both. I like good resolution of tracks. Now You know, why I needed Big Track feature:)


I my records, there should be some of these 13000km+ tracks, which are the broken one, with this magical teleportation to the N 0 E 0 coordinates. Annoying. There should be also an option when modifying the track to erase a range of the points ( now we have: erase all points after certain point, and erase all points before certain point).

photo
0

perfect. 1,5 million is really crazy :). Anyway thanks to your database (hope you don`t mind I used it for testing), I improved loading quite a lot. I found one long track with around 30000 points (some 100km cycle). Loading on my device took 16 secs. Now after some updates it`s just 8 secs ;). So quite a huge improvement.


Expect anyway that after next update, Locus will do one more task with database that in your case may take a few minutes. Then I`ll do no more database updates for some time, I promise :) (but this speed improvement worth it)

photo
0

just for better understanding: do you have a "nexus^5" device or just your Galaxy Nexus?

photo
0

it`s not best to compare these numbers in absolute values. Just imagine that I increased speed of track loading about an 50% now. I currently develop on Note 2

photo
0

im happy i could again be useful:) about the next update, its fine, one-time operations are ok, its worse when you wait a long time every day:P