This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| access:journal-file-proposal [2018/06/21 17:07] mjallison [ADF JSON] | access:journal-file-proposal [2018/06/26 22:22] (current) mjallison [Area Block (.area)] | ||
|---|---|---|---|
| Line 54: | Line 54: | ||
| The JSON object for all entries will minimally look like: | The JSON object for all entries will minimally look like: | ||
| - | { | + | { | 
| - | latitude: number,  // LLA | + | "latitude": number,  // LLA | 
| - | longitude: number,  // LLA | + | "longitude": number,  // LLA | 
| - | altitude: number,  // LLA | + | "altitude": number,  // LLA | 
| - | note: string  // A comment about the entry. | + | "note": "string"  // A comment about the entry. | 
| - | } | + | } | 
| The location contained within the entry's JSON is referred to as the //reference point//. This point will be | The location contained within the entry's JSON is referred to as the //reference point//. This point will be | ||
| Line 77: | Line 77: | ||
| The path to the Journal entry's are as follows: | The path to the Journal entry's are as follows: | ||
| - | /CM/UserData/Photos/ | + | /CM/JournalData/Photos/ | 
| - | /CM/UserData/Areas/ | + | /CM/JournalData/Areas/ | 
| - | /CM/UserData/Note/ | + | /CM/JournalData/Note/ | 
| - | /CM/UserData/Tracks/ | + | /CM/JournalData/Tracks/ | 
| Each section has a JSON descriptor, with corresponding data files. For instance, Photos, might look like: | Each section has a JSON descriptor, with corresponding data files. For instance, Photos, might look like: | ||
| - | /CM/UserData/Photos/photos.json | + | /CM/JournalData/Photos/photos.json | 
| - | /CM/UserData/Photos/Photo1.jpg | + | /CM/JournalData/Photos/Photo1.jpg | 
| - | /CM/UserData/Photos/Photo2.jpg | + | /CM/JournalData/Photos/Photo2.jpg | 
| Because notes can be entirely contained in the JSON, the notes structure looks like: | Because notes can be entirely contained in the JSON, the notes structure looks like: | ||
| - | /CM/UserData/Photos/notes.json | + | /CM/JournalData/Photos/notes.json | 
| Tracks will look like | Tracks will look like | ||
| - | /CM/UserData/Tracks/tracks.json | + | /CM/JournalData/UserTracks/usertracks.json | 
| - | /CM/UserData/Tracks/track1.trk | + | /CM/JournalData/UserTracks/track1.track | 
| - | /CM/UserData/Tracks/tracl2.trk | + | /CM/JournalData/UserTracks/tracl2.track | 
| Areas will look like | Areas will look like | ||
| - | /CM/UserData/Areas/areas.json | + | /CM/JournalData/Areas/areas.json | 
| - | /CM/UserData/Areas/Measure1.trk | + | /CM/JournalData/Areas/Measure1.area | 
| - | /CM/UserData/Areas/Measure2.trk | + | /CM/JournalData/Areas/Measure2.area | 
| While the structure is defined to support multiple data instances, the server may only create single ADF file per entry.  | While the structure is defined to support multiple data instances, the server may only create single ADF file per entry.  | ||
| Line 199: | Line 199: | ||
| Photos and Notes have defined data storage types, but Tracks and Areas do not. This section details two new binary | Photos and Notes have defined data storage types, but Tracks and Areas do not. This section details two new binary | ||
| ADF block types.  | ADF block types.  | ||
| + | |||
| + | ===== User Track Block (.track) ===== | ||
| + | The Track block is a zipfile entry, which is a series of track points. A track is defined to have a | ||
| + | starting point (the very first point) and an end point (the very last point). | ||
| + | |||
| + | Block Header: | ||
| + | * Block Code 2001 : Int32 | ||
| + | * Block Size : Int32 = 40 for this definition | ||
| + | * Number of points : Int32 | ||
| + | |||
| + | The series of points are as follows: | ||
| + | * latitude  - Double 64 (degrees) | ||
| + | * longitude - Double 64 (degrees) | ||
| + | * altitude  - Double 64 (meters above MSL) | ||
| + | * time - Int64 (std mSec time) | ||
| + | * compass  - Double 64 (0..359.9999) | ||
| + | |||
| + | ===== Area Block (.area) ===== | ||
| + | The Area block is a zipfile entry, which is a series of points. A area is defined to be a closed | ||
| + | region, e.g. the last point connects to the first point. There is no duplicated points to "close"  | ||
| + | the area, and it is expected that applications perform whatever operations needed to represent it | ||
| + | as such. It is considered an error to close an area by duplicating a point for the first and last | ||
| + | in this block. | ||
| + | |||
| + | Block Header: | ||
| + | * Block Code 2002 : Int32 | ||
| + | * Block Size : Int32 = 24 bytes for this definition | ||
| + | * Number of points : Int32 | ||
| + | * | ||
| + | The series of points are as follows: | ||
| + | * latitude  - Double 64 (degrees) | ||
| + | * longitude - Double 64 (degrees) | ||
| + | * altitude  - Double 64 (meters above MSL) | ||
| + | |||
| + | |||