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) | ||
+ | |||
+ |