Kernel Density Question (ArcMap 10)/Distance Between Consecutive Points

398
1
02-26-2013 05:08 AM
ThomasSelby
New Contributor
Hey All,

I'm currently trying to run a Kernel Density Estimate for point data obtained by satellite telemetry tracking of an animal. We have a system for doing this in ArcMap 9.3 but as this program and the others we use to do the analysis become more antiquated my boss has charged me with trying to get it done in 10.  One of the very first problems I'm running into seems relatively simple, however, I can't figure it out.

Before I can perform the Kernel Density Estimate, the data needs to speed filtered. The original data file that I have projected in ArcMap has only the lat, lon, time, date, and uid as attributes in chronological order. To do the speed filtering I need to calculate the distance between consecutive points then using this and the times calculate a rough estimate of speed.  To calculate the distance in the past we used ArcView 3.3 with the Animal Movement Extension provided by USGS.  However, I am wondering if there is an easier way to do this without those software?

Thank you very much in advance!
0 Kudos
1 Reply
curtvprice
MVP Esteemed Contributor
   The original data file that I have projected in ArcMap has only the lat, lon, time, date, and uid as attributes in chronological order. To do the speed filtering I need to calculate the distance between consecutive points then using this and the times calculate a rough estimate of speed.  


To get accurate distances, you need to project your data and run Add XY Coordinates, as you can't measure speed accurately in degrees / time.

The Sort tool can be used to sort your point features so they are in consecutive order.

You could then use the Calculate Field tool to calculate speed for the 2nd through nths point.

See this example from the help to get started.

Desktop Help 10.1: Calculate Field Examples / Accumulative and sequential calculations
Calculate the percentage increase of a numeric field.
 
Parser:
Python

Expression:
percentIncrease(float(!FieldA!))

Code Block:
lastValue = 0
def percentIncrease(newValue):
 global lastValue
 if lastValue:
  percentage = ((newValue - lastValue) / lastValue)  * 100
 else: 
  percentage = 0
 lastValue = newValue
 return percentage


0 Kudos