Measuring distances over time

5586
16
Jump to solution
10-12-2015 04:52 AM
MarilenaKallweit
New Contributor

Hello community,

I have a problem analysing the data of my master thesis. Hopefully someone can help me.

I have tracked many dogs and their owners with GPS while hunting and now I want to measure the distances between these two "moving point objects" over time.

By now I load the GPS Data in ArcGIS and make a tracking layer out of it, so I can use the Playback Manager of the Tracking Analyst tool. I set it to 1 minute per second and go manually through it and measure the distance at every step per hand. This costs a lot of time, especially because I have a lot of these tracks.

So my question is: is there a solution to get a table or a graph of the distances between the two objects over time automatically? That would help me so much!

Thanks in advance,

Lena

0 Kudos
1 Solution

Accepted Solutions
NeilAyres
MVP Alum

Thanks for the data, I had a fiddle with it.

First I used the dnr garmin program to read the gpx track files to points (as text & shapefiles).

Then I created a personal geodb (access) and loaded the data from text.

Unfortunately, the time stamp info in each file (ltime), won't automatically come in as a time/date field, have to first import it as text, then update it into a newly created TimeStamp field of time/date type. Confusing huh...

As I said previously, you can create a series of queries which join one file to the other based on a minimum time difference between them.

Have a look in the mdb file zipped attached.

From the matched table I used the XY table to line tool to create the joining lines. Then added a distance field, changed the projection of the df to UTM32N and calculated a metres distance / length.

Hope this works for you.

LinkedPoints.jpg

View solution in original post

16 Replies
NeilAyres
MVP Alum

Couldn't you use some variant of the code posted here by Dan Patterson..

Calculate Distance.

MarilenaKallweit
New Contributor

The approach seems about right. But as I am new to Python I don't see how I can implement the time in that code.

0 Kudos
NeilAyres
MVP Alum

Well, that post was in answer to another question from a user here. About distances between street poles or something.

If you want further guidance, I think you should be a little more specific about your data, its attributes and exactly what you want to achieve.

0 Kudos
DanPatterson_Retired
MVP Emeritus

Since you have gps data, I presume that you have the coordinates of the values.  Suggested workflow

  • get your data into a projected coordinate system (use the Project tool) so that you have planar/Euclidean coordinates
  • follow the instructions in the fuller post on working with points​ it provides more details on the setup
  • once you have the distances, either inter-point or cumulative for example then you can equate those to your time data.

I presume you can get delta time from the time data if needed, but the cumulative values will facilitate graphing

Addition

Have you ruled out the time tools listed here from the tracking analyst toolbox?

MarilenaKallweit
New Contributor

That doesn't really help me for I don't need the distances between points of the same track but between two points of two different tracks at the same time.

0 Kudos
DanPatterson_Retired
MVP Emeritus

Ahhh. I presume then, that you have examined the time data and ruled out joining the tables based upon a common time?  I doubt a simple join will exist, so it might be worthwhile to parse/summarize your data into some common time increment.  Once that has been established then the feature location at those times could be derived.  Do you have an example of two files (a small sample) to show the form of the data?

0 Kudos
NeilAyres
MVP Alum

Ah, I see.

I don't know of any ArcGIS tools to do this, as its nots really a spatial problem but more of a time stamp matching problem.

I have done this in the past for correcting geophysical readings (rover vs base station) and basically did the matching in Access by finding the minimum time difference between records in each file. And I suppose we could also do this in python as well.

But some example files would be a help.

0 Kudos
MarilenaKallweit
New Contributor

These are the original records in format gpx. I can save them separately (the first and the second) or together (the third). They are not edited in ArcGis by now. How would you proceed with it?

0 Kudos
NeilAyres
MVP Alum

Thanks for the data, I had a fiddle with it.

First I used the dnr garmin program to read the gpx track files to points (as text & shapefiles).

Then I created a personal geodb (access) and loaded the data from text.

Unfortunately, the time stamp info in each file (ltime), won't automatically come in as a time/date field, have to first import it as text, then update it into a newly created TimeStamp field of time/date type. Confusing huh...

As I said previously, you can create a series of queries which join one file to the other based on a minimum time difference between them.

Have a look in the mdb file zipped attached.

From the matched table I used the XY table to line tool to create the joining lines. Then added a distance field, changed the projection of the df to UTM32N and calculated a metres distance / length.

Hope this works for you.

LinkedPoints.jpg