User Tools

Site Tools


standards:adf_file_format

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
standards:adf_file_format [2018/05/17 22:18]
mdransom
standards:adf_file_format [2018/06/11 23:38] (current)
mdransom [Layers (.json)]
Line 77: Line 77:
 Recover.bin ​                                  // A 1015 block Recover.bin ​                                  // A 1015 block
 CL.aln ​                                       // A 1023 block CL.aln ​                                       // A 1023 block
 +Layers.json ​                                  // An unnumbered file entry
 Airway.cm ​                                    // A 1014 block Airway.cm ​                                    // A 1014 block
 Airway/​Design.surf ​                           // A 1012 block Airway/​Design.surf ​                           // A 1012 block
Line 102: Line 103:
 Airway/​Design/​Anno/​freepoints.pia ​            // A 1004 block Airway/​Design/​Anno/​freepoints.pia ​            // A 1004 block
 Airway/​Design/​Anno/​Lines.lnia ​                // A 1006 block Airway/​Design/​Anno/​Lines.lnia ​                // A 1006 block
 +Airway/​Design/​Layers.json ​                    // An unnumbered file entry
  
 <​repeated for each surface name> <​repeated for each surface name>
Line 151: Line 153:
 . .
 <​repeated for each survey> <​repeated for each survey>
 +
 +Airway/​Pipes.pip ​                            // A 1025 block
 +Airway/​Pipes/​points.pts ​                     // A 1003 block
 +Airway/​Pipes/​freepoints.pia ​                 // A 1004 block
 +Airway/​Pipes/​lines.lnia ​                     // A 1005 block
 +Airway/​Pipes/​points.ptlbl ​                   // A 1017 block
 +Airway/​Pipes/​lines.lnlbl ​                    // A 1018 block
 +
 +Airway/​StakeList.stk ​                        // A 1024 block
 +Airway/​StakeList/​points.pts ​                 // A 1003 block
 +Airway/​StakeList/​points.ptlbl ​               // A 1017 block
 +Airway/​StakeList/​stakelist.dir ​              // A 1003 block (not actual point location but direction vector)
  
 </​code>​ </​code>​
Line 174: Line 188:
 Each binary file contains blocks of data.  Each block of data consists of an integer identifier and the block size.  The identifier tells you what is in the block and knowing the block size lets you skip the block if you want to.  The block identifiers are the following: Each binary file contains blocks of data.  Each block of data consists of an integer identifier and the block size.  The identifier tells you what is in the block and knowing the block size lets you skip the block if you want to.  The block identifiers are the following:
  
-^ Block Type   ​^ Identifier^ Extension ^ +^ Block Type                ^ Identifier ​      ​^ Extension ​                  ​
-| Settings ​          ​| 1001| bin  +| Settings ​                 | 1001             ​| bin                         ​
-| Benchmarks ​        ​| 1002| bin  +| Benchmarks ​               | 1002             ​| bin                         ​
-| Points ​            ​| 1003| pts |  +| Points ​                   | 1003             ​| pts                         ​
-| Directions ​        ​| 1003| dir |  +| Directions ​               | 1003             ​| dir                         ​
-| Point Index Array  | 1004| pia  |  +| Point Index Array         ​| 1004             ​| pia                         ​
-| Line Index Array   ​| 1005| lnia |  +| Line Index Array          | 1005             ​| lnia                        
-| Lineset ​           | 1006| lnset |  +| Lineset ​                  ​| 1006             ​| lnset                       ​
-| Triangle ​          ​| 1007| tri  +| Triangle ​                 | 1007             ​| tri                         ​
-| Mesh               ​| 1008| msh | +| Mesh                      | 1008             ​| msh                         ​
-| Region ​            ​| 1009| rgn  +| Region ​                   | 1009             ​| rgn                         ​
-| Island ​            ​| 1010| isl | +| Island ​                   | 1010             ​| isl                         ​
-| Image              | 1011| image | +| Image                     ​| 1011             ​| image                       ​
-| Surface ​           | 1012| surf  +| Surface ​                  ​| 1012             ​| surf                        
-| Annotation ​        ​| 1013| ann | +| Annotation ​               | 1013             ​| ann                         ​
-| Construction Model | 1014| cm   ​|  +| Construction Model        | 1014             ​| cm                          
-| <​del>​Recovery Info</​del> ​     | <​del>​1015</​del>​| <​del>​bin</​del> ​ deprecated| +| <​del>​Recovery Info</​del> ​ | <​del>​1015</​del> ​ | <​del>​bin</​del> ​ deprecated ​ 
-| Isopach ​           | 1016| iso  +| Isopach ​                  ​| 1016             ​| iso                         ​
-| Point labels ​      ​| 1017| ptlbl  +| Point labels ​             | 1017             ​| ptlbl                       ​
-| Line labels ​       | 1018| lnlbl  +| Line labels ​              ​| 1018             ​| lnlbl                       ​
-| Triangular Prism   ​| 1019| tpri   ​+| Triangular Prism          | 1019             ​| tpri                        
-| Recovery Info      | 1020| bin  +| Recovery Info             ​| 1020             ​| bin                         ​
-| Point Time/​Quality | 1021| tim  +| Point Time/​Quality ​       | 1021             ​| tim                         ​
-| TileSet ​           | 1022| tset | +| TileSet ​                  ​| 1022             ​| tset                        
-| Alignment ​         | 1023| aln | +| Alignment ​                ​| 1023             ​| aln                         ​
-| StakeList ​         | 1024| stk |+| StakeList ​                ​| 1024             ​| stk                         | 
 +| Pipes                     | 1025             | pip                         |
  
 The identifiers and block sizes are assumed for all binary files, so further explanations will omit these tags. The identifiers and block sizes are assumed for all binary files, so further explanations will omit these tags.
Line 853: Line 868:
   * Index of the point : Int32   * Index of the point : Int32
  
 +===== StakeList (.stk) =====
 +The Stakelist section is a simple section of files for points and point labels with an additional direction file if the Staking Rose for any point has a specific direction (or rotation). The STK file is as follows:
 +
 +Block Header:
 +  * Block Code 1024 : Int32
 +  * Block Size : Int32
 +  * Number of staking points : Int32
 +
 +===== Pipes (.pip) =====
 +The Pipes section is essentially an annotation "​surface"​ that contains information about pipes. ​ This data does not describe a surface but takes advantage of the surface data structure. ​ The PIP file is as follows:
 +
 +Block Header:
 +  * Block Code 1025 : Int32
 +  * Block Size : Int32
 +
 +===== Layers (.json) =====
 +The Layers file contains information on how certain layers of information should be displayed. ​ An example of such a file follows:
 +
 +<​code>​
 +{
 +  "​version":​ 1,
 +  "​layers":​
 +    [
 +      {
 +        "​name"​ : "data lines",​
 +        "​layertype":​ “DATALINES”,​
 +        "​visible"​ : false,
 +        "​selectable"​ : true,
 +        “color: “0x445566FF”
 +      },
 +      {
 +        "​name"​ :"​perimeters",​
 +        "​layertype":​ “PERIMETERS”,​
 +        "​visible"​ : false,
 +      },
 +      {
 +        "​name"​ : "​annotation",​
 +        "​layertype":​ “ANNOTATION”,​
 +        "​visible"​ : false,
 +        “color: “0x0”
 +      },
 +      {
 +        "​name"​ : "​report regions",​
 +        "​layertype":​ “REPORTS”,​
 +        "​visible"​ : false,
 +        “color: “0x882211FF”
 +      }
 +    ]
 +}
 +</​code>​
 +
 +A Layers.json found at the root level of the ADF is for benchmarks and potential other, to be determined, “global” information.
 +A Layers.json found within a surface folder is for the various layers that may be included with a surface, such as perimeters and report regions.
 +A Layers.json found within a construction model folder (i.e. as a peer to the surface folders) is for extra layers such as cut/fill lines and stakelist points.
 +
 +The information is presented in json format of key:value pairs. ​
 +
 +^ ^KEY^ ^VALUE (example)^ ^DESCRIPTION^DATATYPE^REQUIRED?​^VALUE (default)^COMMENTS^
 +|{| | | | | | | | | |
 +| |“version”|:​|1| |Version number of this json specification|Int32|YES| | |
 +| |“layers”|:​|[| |1 or more layers for the surface|Array|YES| | |
 +| | | | |{| | | | | |
 +| |“name”|:​|“Data Lines”|,​|Name of a layer|String|YES| | |
 +| |“layertype”|:​|“DESIGN”|,​|Type of layer|String|YES| | |
 +| |“visible”|:​|true|,​|Is layer to be visible|Boolean|YES| | |
 +| |“selectable”|:​|true|,​|Is layer to be selectable|Boolean|NO|true| |
 +| |“color”|:​|“0x445566FF”| |Color of lines in the layer, in RGBA|String|NO|0x0| |
 +| | | | |}| | | | | |
 +| | | |]| | | | | | |
 +|}| | | | | | | | | |
  
 +The following values are defined for the layertype:
  
 +^Layer Type^Description^
 +|DATALINES|Surface data|
 +|PERIMETERS|Perimeter(s)|
 +|ANNOTATION|Annotation(s)|
 +|ADJUSTMENT|Surface adjustment(s)|
 +|REPORTS|Surface region(s) used for reports|
 +| | |
 +|BENCHMARKS|Benchmark data|
 +|CUTFILL|Cut fill regions|
 +|BALANCE|Balance regions|
 +|ALIGNMENTS|Highway Alignments|
 +|CONTOURS|Renderable display contours.|
 +|SURVEY|High precision data taken during a survey|
 +|STAKEPOINTS|Stake point data|
 +|PIPES|Pipeline data|
 +| | |
 +|TRACK|Low precision tracks from SmartDirt or during a survey|
 +|PHOTOTRACK|Low precision track, Photos and Notes|
 +| | |
 +|OTHER|Layer for OTHER surfaces|
standards/adf_file_format.1526595484.txt.gz · Last modified: 2018/05/17 22:18 by mdransom