thinning procedure for shiptracks
Download
Skip this Video
Download Presentation
Thinning Procedure for Shiptracks

Loading in 2 Seconds...

play fullscreen
1 / 11

Thinning Procedure for Shiptracks - PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on

Thinning Procedure for Shiptracks. David Rosenfield Research Associate NOAA National Coastal Data Development Center 1021 Balch Boulevard, Suite 1003 Stennis Space Center, MS 39529 9/11/2012.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Thinning Procedure for Shiptracks' - kendra


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
thinning procedure for shiptracks

Thinning Procedure for Shiptracks

David Rosenfield

Research Associate

NOAA National Coastal Data Development Center

1021 Balch Boulevard, Suite 1003

Stennis Space Center, MS 39529

9/11/2012

slide2

U:\Okeanos Explorer 2008-2009-2010-2011\2010\EX1004_Indonesia\NODC\data\0-data\vessel\EX1004_Leg3\Ship_Navigation\CNAV\:

CNAV-GGA_20100722-004127.Raw

CNAV-GGA_20100722-073052.Raw

CNAV-GGA_20100722-101604.Raw

CNAV-GGA_20100723-000000.Raw

CNAV-GGA_20100724-000000.Raw

CNAV-GGA_20100725-000000.Raw

CNAV-GGA_20100726-000000.Raw

CNAV-GGA_20100727-000000.Raw

CNAV-GGA_20100728-000000.Raw

CNAV-GGA_20100729-000000.Raw

CNAV-GGA_20100730-000000.Raw

CNAV-GGA_20100731-000000.Raw

CNAV-GGA_20100801-000000.Raw

CNAV-GGA_20100802-000000.Raw

CNAV-GGA_20100803-000000.Raw

CNAV-GGA_20100804-000000.Raw

CNAV-GGA_20100805-000000.Raw

CNAV-GGA_20100806-000000.Raw

CNAV-GGA_20100806-150855.Raw

CNAV-GGA

NMEA

SCS Date(MM/DD/YYYY),SCS Time(hh:mm:ss.sss),Sentence Label(None),CNAV-TIME(hhmmss),CNAV-LAT(deg),CNAV-LAT Units,CNAV-LON(deg),

07/26/2010,00:00:01.471,$GPGGA,000001.00,0216.124127,N,12449.075605,E,2,09,1.1,22.604,M,65.744,M,10.0,0025*44

07/26/2010,00:00:02.471,$GPGGA,000002.00,0216.124154,N,12449.075612,E,2,09,1.1,22.566,M,65.744,M,10.0,0025*42

07/26/2010,00:00:03.471,$GPGGA,000003.00,0216.124176,N,12449.075607,E,2,09,1.1,22.682,M,65.744,M,9.0,0025*76

07/26/2010,00:00:04.472,$GPGGA,000004.00,0216.124197,N,12449.075601,E,2,09,1.1,22.797,M,65.744,M,10.0,0025*45

07/26/2010,00:00:05.472,$GPGGA,000005.00,0216.124185,N,12449.075604,E,2,09,1.1,22.801,M,65.744,M,10.0,0025*42

07/26/2010,00:00:06.472,$GPGGA,000006.00,0216.124119,N,12449.075601,E,2,09,1.1,22.772,M,65.744,M,10.0,0025*4A

07/26/2010,00:00:07.472,$GPGGA,000007.00,0216.124052,N,12449.075599,E,2,09,1.1,22.741,M,65.745,M,10.0,0025*46

07/26/2010,00:00:08.472,$GPGGA,000008.00,0216.124001,N,12449.075584,E,2,09,1.1,22.700,M,65.744,M,10.0,0025*47

07/26/2010,00:00:09.472,$GPGGA,000009.00,0216.124011,N,12449.075558,E,2,09,1.1,22.693,M,65.744,M,9.0,0025*75

07/26/2010,00:00:10.472,$GPGGA,000010.00,0216.124038,N,12449.075558,E,2,09,1.1,22.742,M,65.744,M,10.0,0025*43

07/26/2010,00:00:11.472,$GPGGA,000011.00,0216.124050,N,12449.075586,E,2,09,1.1,22.717,M,65.744,M,10.0,0025*4F

07/26/2010,00:00:12.456,$GPGGA,000012.00,0216.124051,N,12449.075614,E,2,09,1.1,22.669,M,65.744,M,10.0,0025*4D

07/26/2010,00:00:13.472,$GPGGA,000013.00,0216.124051,N,12449.075625,E,2,09,1.1,22.666,M,65.744,M,10.0,0025*41

SCS Date(MM/DD/YYYY),

SCS Time(hh:mm:ss.sss),

Sentence Label(None),

CNAV-TIME(hhmmss),

CNAV-LAT(deg),

CNAV-LAT Units,

CNAV-LON(deg),

CNAV-LON Units,

CNAV-Fix Quality(*NONE*),

CNAV-Sat(*NONE*),

CNAV-HDOP(*NONE*),

CNAV-Alt(Meters),

CNAV-Alt-M(*NONE*),

CNAV-Geoid(*NONE*),

CNAV-Geoid-M(*NONE*),

CNAV-?(*NONE*),

CNAV-GGA-Chksum(*NONE*)

thinshiptrack m
thinshiptrack.m
  • octave> [ipos,opos]=thinshiptrack(eps,dist,nsec);
  • Three step process
    • Save record every ‘nsec’ seconds
      • Save ‘ipos’ as ascii file
      • Save ipos as a workspace variable
    • Perform Douglas Peucker optimization
      • octave> list=douglaspeucker(x,y,points,eps,dist);
      • octave> opos=ipos(:,list);
      • Save ‘opos’ as ascii file
      • Save opos as a workspace variable
    • Convert to (and save) a .kml file
slide4

STEP 1 of thinshiptrack.m

  • Save record every ‘nsec’ seconds

For each file: if nsec=6 for example…

CNAV-GGA_20100722-004127.Raw

CNAV-GGA_20100722-073052.Raw DateString,Tag,Date#,Lon,N,Lat,E,,,,,,Elev,,,,

CNAV-GGA_20100722-101604.Raw ----------------------------------------------

CNAV-GGA_20100723-000000.Raw

CNAV-GGA_20100724-000000.Raw

CNAV-GGA_20100725-000000.Raw

CNAV-GGA_20100726-000000.Raw

CNAV-GGA_20100727-000000.Raw

CNAV-GGA_20100728-000000.Raw

CNAV-GGA_20100729-000000.Raw

CNAV-GGA_20100730-000000.Raw

CNAV-GGA_20100731-000000.Raw

CNAV-GGA_20100801-000000.Raw

CNAV-GGA_20100802-000000.Raw

CNAV-GGA_20100803-000000.Raw saves variable creates ascii file

CNAV-GGA_20100804-000000.Raw

CNAV-GGA_20100805-000000.Raw DateString Date# Lon Lat Elev

CNAV-GGA_20100806-000000.Raw ----------------------------------

CNAV-GGA_20100806-150855.Raw

ipos is a [4x100K] matrix in Octave/MATLAB workspace

ipos=[Date#;lon;lat;elev]

07/26/2010,00:00:01.471,$GPGGA,000001.00,0216.124127,N,12449.075605,E,2,09,1.1,22.604,M,65.744,M,10.0,0025*44

07/26/2010,00:00:02.471,$GPGGA,000002.00,0216.124154,N,12449.075612,E,2,09,1.1,22.566,M,65.744,M,10.0,0025*42

07/26/2010,00:00:03.471,$GPGGA,000003.00,0216.124176,N,12449.075607,E,2,09,1.1,22.682,M,65.744,M,9.0,0025*76

07/26/2010,00:00:04.472,$GPGGA,000004.00,0216.124197,N,12449.075601,E,2,09,1.1,22.797,M,65.744,M,10.0,0025*45

07/26/2010,00:00:05.472,$GPGGA,000005.00,0216.124185,N,12449.075604,E,2,09,1.1,22.801,M,65.744,M,10.0,0025*42

07/26/2010,00:00:06.472,$GPGGA,000006.00,0216.124119,N,12449.075601,E,2,09,1.1,22.772,M,65.744,M,10.0,0025*4A

07/26/2010,00:00:07.472,$GPGGA,000007.00,0216.124052,N,12449.075599,E,2,09,1.1,22.741,M,65.745,M,10.0,0025*46

07/26/2010,00:00:08.472,$GPGGA,000008.00,0216.124001,N,12449.075584,E,2,09,1.1,22.700,M,65.744,M,10.0,0025*47

07/26/2010,00:00:09.472,$GPGGA,000009.00,0216.124011,N,12449.075558,E,2,09,1.1,22.693,M,65.744,M,9.0,0025*75

07/26/2010,00:00:10.472,$GPGGA,000010.00,0216.124038,N,12449.075558,E,2,09,1.1,22.742,M,65.744,M,10.0,0025*43

07/26/2010,00:00:11.472,$GPGGA,000011.00,0216.124050,N,12449.075586,E,2,09,1.1,22.717,M,65.744,M,10.0,0025*4F

07/26/2010,00:00:12.456,$GPGGA,000012.00,0216.124051,N,12449.075614,E,2,09,1.1,22.669,M,65.744,M,10.0,0025*4D

07/26/2010,00:00:13.472,$GPGGA,000013.00,0216.124051,N,12449.075625,E,2,09,1.1,22.666,M,65.744,M,10.0,0025*41

07/26/2010,00:00:14.472,$GPGGA,000014.00,0216.124072,N,12449.075628,E,2,09,1.1,22.669,M,65.744,M,10.0,0025*45

07/26/2010,00:00:15.456,$GPGGA,000015.00,0216.124079,N,12449.075626,E,2,09,1.1,22.751,M,65.745,M,9.0,0025*72

07/26/2010,00:00:16.472,$GPGGA,000016.00,0216.124060,N,12449.075623,E,2,09,1.1,22.826,M,65.744,M,9.0,0025*72

07/26/2010,00:00:17.472,$GPGGA,000017.00,0216.124028,N,12449.075627,E,2,09,1.1,22.814,M,65.744,M,10.0,0025*42

07/26/2010,00:00:18.472,$GPGGA,000018.00,0216.124035,N,12449.075640,E,2,09,1.1,22.725,M,65.744,M,10.0,0025*4D

07/26/2010,00:00:19.472,$GPGGA,000019.00,0216.124065,N,12449.075641,E,2,09,1.1,22.693,M,65.744,M,10.0,0025*44

07/26/2010,00:00:06.472 3.971281 124.817927 2.268735 22.772

07/26/2010,00:00:12.456 3.971350 124.817927 2.268734 22.669

07/26/2010,00:00:18.472 3.971420 124.817927 2.268734 22.725

slide5

STEP 2 of thinshiptrack.m

  • Perform Douglas Peucker optimization

Simple lines of several points are reduced to a 2 point line.

n=6n=2

More complex paths are broken down to smaller lines...

n=13

...and each are reduced to a 2 point line.

n=4

This method is called “recursion.”

slide6

STEP 2 of thinshiptrack.m

  • Standard Douglas Peucker optimization
  • Epsilon: some small % of total distance

max perpendicular dist

epsilon * total dist

total distance

n=15

slide7

STEP 2 of thinshiptrack.m

  • Addition to Douglas Peucker optimization
  • BaseDistance: some small (1-1000m) distance

When total distance is smaller than BaseDistance, all points within the line are removed.

And we’re done!

n=7

slide9

thinshiptrack.m

  • Evaluation

In your “C:\Octave\student\” directory there is a file you will run in Octave called thinshiptrack.m (runs douglaspeucker.m)

open Octave

in Octave:

Octave>cd ../../student

octave>eps=0.01;dist=1;nsec=600;

octave>[ipos,opos]=thinshiptrack(eps,dist,nsec);

Octave>nsec=6;

octave>[ipos2,opos2]=thinshiptrack(eps,dist,nsec);

octave>whos

Details on ipos, ipos2, opos and opos2 come up on your screen.

Exploring your student directory, you should see two new *.kml file that you just created.

Open Google Earth and drag both of these into it. Change one shiptrack’s color to red. Repeat this method to help fill out the following table.

slide10

thinshiptrack.m

  • Evaluation
  • Otherwise use eps=1%, nsec=60, and dist=10m
ad