Example #1
0
 def apply_rdp(self, commit=False):
     """ Apply Ramer-Douglas-Peucker Algorithm to reduce number of points in tracks """
     track = []
     for i in range(len(self.x)):
         track.append((self.x[i], self.y[i], self.z[i]))
     rdp_track = rdp3d.rdp(track, 500) # apply rdp (3-dim)
     if commit == False:
         return(rdp_track)
     elif commit == True:
         self.x = []; self.y = []; self.z = []
         for point in rdp_track:
             self.x.append(point[0])
             self.y.append(point[1])
             self.z.append(point[2])
        
         return('Track Updated')
filename = 'C:/Users/Justin/Documents/GitHub/Flight_Track_Visualization/Example_Tracks/apf_tracks.json'

# Import JED_track.py
loader = importlib.machinery.SourceFileLoader('jedtrk','JED_track.py')
jedtrk = loader.load_module('jedtrk')

# Get tracks
tracks = jedtrk.create_tracks(filename)

# Run rdp
pretrack = []
for i in range(len(tracks[0].x)):
    pretrack.append((tracks[0].x[i], tracks[0].y[i], tracks[0].z[i]))

newtrack = rdp(pretrack, 500)

# Plot
pre_x = []
for i in range(len(pretrack)):
    pre_x.append(pretrack[i][0])
pre_y = []
for i in range(len(pretrack)):
    pre_y.append(pretrack[i][1])
pre_z = []
for i in range(len(pretrack)):
    pre_z.append(pretrack[i][2])
    
new_x = []
for i in range(len(newtrack)):
    new_x.append(newtrack[i][0])