OSMbin (file format)/version 0.9
This is version 0.9 of the OSMbin(file format)
The format consists of multiple files:
attrnames.txt
This file consists of all attribute-keys in UTF8-encoding, delimited by "\n". The first key gets the ID Short.MIN_VALUE + 1 = -32767.
extattr/[nwr](id).txt
These are flat-files containing one attribute-value that is longer then 64 characters each. extattr/n{NODEID}.txt for nodes, w for ways and r for relations.
This is going to change in future versions of this file-format since each file usually allocates between 512byte and 8Kb depending on the settings of the file-system.
nodes.obm
This file stores fixed-size records of nodes.
Java-code of a reference-implementation
Layout of a record:
- nodeID [4 byte signed long]
- latitude [4 byte signed long as used in OSM]
- longitude [4 byte signed long as used in OSM]
- attrID1 [2 byte short integer]
- attrValue1 [32 character string in 16-bit Unicode big-endian (64 bytes), padded to 32 characters with appended spaces ' ']
- wayID1 [4 byte signed long]
- wayID2 [4 byte signed long]
- wayID3 [4 byte signed long]
- the nodeID Integer.MIN_VALUE (0x80000000) is used to denote an unused record
- this nodeID is authorative. If there is disagreement with the .idx or .id2 -files, then the .idx or .id2 -files are incorrect and need to be re-generated.
- if attrValue starts with a '\n' the following 4 bytes store a binary-offset into a file nodes.atr
- attrID == 0 is reserved for an empty tag-slot.
- the wayID Integer.MIN_VALUE marks an unused entry
- the sort-order of attributes and ways is application-dependend. No assumptions are to be made. However it is advised to store important attributes like 'highway' first.
- if the record has not enough size for all attributes or ways, the next record is used (this is marked by the next record having the same nodeID).
- if this situation arised while updating the node and the next record is not free, the node is moved to a new location in this file.
- if there is a discrepancy between wayIDs here and the nodeIDs in the ways-file. The ways-file is authorative and this entry must be corrected.
nodes.idx
This file stores an index of node-ID to record-number in nodes.obm.
We use an unbalanced tree of order 16. The record-format is as follows:
middle-node:
- recordNumber[32bit] of (current value>>4)
- recordNumber[32bit] of (current value>>4+1)
...
- recordNumber[32bit] of (current value>>4+15)
leaf:
- record-number of indexed OSM-Object 1 [32bit]
- record-number of indexed OSM-Object 2 [32bit]
...
- record-number of indexed OSM-Object 16 [32bit]
Notes:
- for the empty recordNumner the value Integer.MIN_VALUE is used.
- a record consisting of only Integer.MIN_VALUE marks the empty record
- A record is a leaf if and only if it has the depth of 32/4+1.
- The root-node has the recordNumber of 0 and is thus stored at the beginning of the file.
nodes.id2
- We use a KD-Tree as an AB-Tree here.
- Each tree-node stores one node like in a KD-Tree
- Each tree-node with an even depth (root=depth 0=even) stores children with the same or lower latitude as a left child an with a larger latitude as a right child.
- Each tree-node with an odd depth stores children with the same or lower longitude as a left child an with a larger longitude as a right child.
- If the tree is empty, it has not even a root-node.
- There is no separation of inner nodes vs. leaf-nodes.
- We have fixed-size records
- Latitude and Longitude of Long.MIN_VALUE denote an empty record.
Record-format:
- 4 byte latitude of the center
- 4 byte longitude of the center
- 2 byte - recordNumber in nodex.osm stored in this tree-node
- 2 byte - recordNumber in nodex.id2 of left child or Integer.MIN_VALUE
- 2 byte - recordNumber in nodex.id2 of right child or Integer.MIN_VALUE
ways.obm
This file stores fixed-size records of ways.
Layout of a record:
- wayID [4 byte signed long]
- minLatitude [4 byte signed long as used in OSM]
- minLongitude [4 byte signed long as used in OSM]
- maxLatitude [4 byte signed long as used in OSM]
- maxLongitude [4 byte signed long as used in OSM]
- attrID1 [2 byte short integer]
- attrValue1 [32 character string in 16-bit Unicode big-endian (64 bytes)]
- attrID12[2 byte short integer]
- attrValue2 [32 character string in 16-bit Unicode big-endian (64 bytes)]
- attrID3 [2 byte short integer]
- attrValue3 [32 character string in 16-bit Unicode big-endian (64 bytes)]
- attrID4 [2 byte short integer]
- attrValue4 [32 character string in 16-bit Unicode big-endian (64 bytes)]
- attrID5 [2 byte short integer]
- attrValue5 [32 character string in 16-bit Unicode big-endian (64 bytes)]
- attrID6 [2 byte short integer]
- attrValue6 [32 character string in 16-bit Unicode big-endian (64 bytes)]
- nodeID1 [4 byte signed long]
- nodeID2 [4 byte signed long]
- nodeID3 [4 byte signed long]
- nodeID4 [4 byte signed long]
- nodeID5 [4 byte signed long]
- nodeID6 [4 byte signed long]
- nodeID7 [4 byte signed long]
- nodeID8 [4 byte signed long]
- the wayID Long.MIN_VALUE is used to denote an unused record
- this wayID is authorative. If there is disagreement with the .idx or .id2 -files, then the .idx or .id2 -files are incorrect and need to be re-generated.
- if attrValue starts with a '\n' the following 4 bytes are a binary-offset into ways.atr
- the nodeID Long.MIN_VALUE marks an unused entry
- the sort-order of attributes and ways is application-dependend. No assumptions are to be made. However it is advised to store important attributes like 'highway' first.
- if the record has not enough size for all attributes or ways, the next record is used (this is marked by the next record having the same wayID).
- if this situation arised while updating the node and the next record is not free, the node is moved to a new location in this file.
- if there is a discrepancy between nodeIDs here and the wayID in the nodes-file. The this file is authorative and this entry of the node must be corrected.
ways.atr
This file stores attribute-values too long to fit into record.
It consists of variable-size records with the following format:
- [2 byte] length of the value-field n
- [2 byte] wayID of Integer.MIN_VALUE for an empty record
- [n bytes] value - String as UTF8
ways.idx
This file stores an index of way-ID to record-number in ways.obm.
The structure is analog to nodes.idx .
relations.obm
This file stores fixed-size records of relations.
Layout of a record:
- relationID [4 byte signed long]
- minLatitude [4 byte signed long as used in OSM]
- minLongitude [4 byte signed long as used in OSM]
- maxLatitude [4 byte signed long as used in OSM]
- maxLongitude [4 byte signed long as used in OSM]
- attrID1 [2 byte short integer]
- attrValue1 [32 character string in 16-bit Unicode big-endian (64 bytes)]
- elementID1 [4 byte signed long]
- elementType1 [4 byte signed long] (orginal of the v0.5-EntityType -enum)
- roleID1 [4 byte signed long] (stored like an attribute-name in attrnames.txt)
- elementID2 [4 byte signed long]
- elementType2 [4 byte signed long]
- roleID2 [4 byte signed long] (stored like an attribute-name in attrnames.txt)
- elementID3 [4 byte signed long]
- elementType3 [4 byte signed long]
- roleID3 [4 byte signed long] (stored like an attribute-name in attrnames.txt)
- elementID4 [4 byte signed long]
- elementType4 [4 byte signed long]
- roleID4 [4 byte signed long] (stored like an attribute-name in attrnames.txt)
notes:
- the relationID Long.MIN_VALUE marks an unused entry
- the elementID Long.MIN_VALUE is used to denote an unused record
- this relationID is authorative. If there is disagreement with the .idx or .id2 -files, then the .idx -file is incorrect and need to be re-generated.
- if attrValue starts with a '\n' is denotes a file-name in extattr/ to be reat. e.g. "\n02384" is "./extattr/02384.txt"
- the sort-order of attributes and ways is application-dependend. No assumptions are to be made. However it is advised to store important attributes like 'highway' first.
- if the record has not enough size for all attributes or ways, the next record is used (this is marked by the next record having the same relationID ).
- if this situation arised while updating the node and the next record is not free, the node is moved to a new location in this file.
relations.idx
This file stores an index of relation-ID to record-number in ways.obm.
The structure is analog to nodes.idx .
statistics (state of Baden Würtemberg)
The following statistics where taken using an extract of the state of Baden Wuertemberg
nodes.obm
Number of records in obm-file: 2820069 = 163564002 bytes Lengt of each record in obm-file: 58 Slots for tags per record: 1 Slots for ways per record: 3 Number of free records: 51904 =3010432 byte blocks of 0 empty records: 0 (last count includes all larger blocks) blocks of 1 empty recUnformatierten Text hier einfügenords: 0 (last count includes all larger blocks) blocks of 2 empty records: 0 (last count includes all larger blocks) blocks of 3 or more empty records: 0 (last count includes all larger blocks) nodes using 0 records: 0 nodes using 1 records: 2521253 nodes using 2 records: 47114 nodes using 3 records: 20865 nodes using 4 records: 9311 nodes using 5 records: 2927 nodes using 6 records: 495 nodes using 7 records: 222 nodes using 8 records: 149 nodes using 9 records: 248 nodes using 10 records: 140 nodes using 11 records: 913 nodes using 12 records: 10 nodes using 13 records: 2 nodes using 14 records: 2 nodes using 15 records: 6 nodes using 16 records: 39 nodes using 17 or more records: 1234 nodes with 0 tags: 1603585 nodes with 1 tags: 926640 nodes with 2 tags: 38268 nodes with 3 tags: 20766 nodes with 4 tags: 9303 nodes with 5 tags: 2917 nodes with 6 tags: 487 nodes with 7 tags: 222 nodes with 8 tags: 149 nodes with 9 tags: 248 nodes with 10 tags: 140 nodes with 11 tags: 913 nodes with 12 tags: 10 nodes with 13 tags: 2 nodes with 14 tags: 2 nodes with 15 tags: 6 nodes with 16 tags: 39 nodes with 17 tags: 55 nodes with 18 tags: 28 nodes with 19 tags: 22 nodes with 20 tags: 156 nodes with 21 tags: 659 nodes with 22 tags: 284 nodes with 23 or more tags: 30 nodes with 0 ways: 194280 nodes with 1 ways: 2003608 nodes with 2 ways: 344125 nodes with 3 ways: 53417 nodes with 4 ways: 8106 nodes with 5 ways: 1045 nodes with 6 ways: 224 nodes with 7 or more ways: 126 records with 0 empty slots for tags: 1163262 records with 1 empty slots for tags: 1604903 records with 0 empty slots for ways: 63332 records with 1 empty slots for ways: 345191 records with 2 empty slots for ways: 2011807 records with 3 empty slots for ways: 347835 tag-values of 0 characters: 5720 of 1163262 tag-values total tag-values of 1 characters: 6167 of 1163262 tag-values total tag-values of 2 characters: 8438 of 1163262 tag-values total tag-values of 3 characters: 11952 of 1163262 tag-values total tag-values of 4 characters: 897800 of 1163262 tag-values total tag-values of 5 characters: 20412 of 1163262 tag-values total tag-values of 6 characters: 9350 of 1163262 tag-values total tag-values of 7 characters: 15630 of 1163262 tag-values total tag-values of 8 characters: 19207 of 1163262 tag-values total tag-values of 9 characters: 17109 of 1163262 tag-values total tag-values of 10 characters: 14518 of 1163262 tag-values total tag-values of 11 characters: 8971 of 1163262 tag-values total tag-values of 12 characters: 7525 of 1163262 tag-values total tag-values of 13 characters: 14576 of 1163262 tag-values total tag-values of 14 characters: 12643 of 1163262 tag-values total tag-values of 15 characters: 62523 of 1163262 tag-values total tag-values of more then 16 characters stored externaly: 30721
ways.obm
Number of records in obm-file: 1040156 = 114417160 bytes Lengt of each record in obm-file: 110 Slots for tags per record: 1 Slots for nodes per record: 14 Number of free records: 3318 =364980 byte blocks of 0 empty records: 0 (last count includes all larger blocks) blocks of 1 empty records: 0 (last count includes all larger blocks) blocks of 2 empty records: 0 (last count includes all larger blocks) blocks of 3 or more empty records: 0 (last count includes all larger blocks) ways using 0 records: 0 ways using 1 records: 27303 ways using 2 records: 99561 ways using 3 records: 113948 ways using 4 records: 52777 ways using 5 records: 23176 ways using 6 records: 9174 ways using 7 records: 5064 ways using 8 records: 1862 ways using 9 records: 1061 ways using 10 records: 568 ways using 11 records: 260 ways using 12 records: 171 ways using 13 records: 88 ways using 14 records: 77 ways using 15 records: 50 ways using 16 records: 39 ways using 17 or more records: 333 ways with 0 tags: 1228 ways with 1 tags: 28795 ways with 2 tags: 102272 ways with 3 tags: 114284 ways with 4 tags: 51199 ways with 5 tags: 21945 ways with 6 tags: 8327 ways with 7 tags: 4505 ways with 8 tags: 1505 ways with 9 tags: 821 ways with 10 tags: 395 ways with 11 tags: 130 ways with 12 tags: 59 ways with 13 tags: 17 ways with 14 tags: 21 ways with 15 tags: 2 ways with 16 tags: 8 ways with 17 tags: 0 ways with 18 tags: 0 ways with 19 tags: 0 ways with 20 tags: 0 ways with 21 tags: 0 ways with 22 tags: 0 ways with 23 or more tags: 0 ways with 0 nodes: 1 ways with 1 nodes: 312 ways with 2 nodes: 80950 ways with 3 nodes: 39950 ways with 4 nodes: 30174 ways with 5 nodes: 36665 ways with 6 nodes: 20506 ways with 7 nodes: 17795 ways with 8 nodes: 13726 ways with 9 nodes: 12372 ways with 10 nodes: 9739 ways with 11 nodes: 8449 ways with 12 nodes: 6981 ways with 13 nodes: 6187 ways with 14 nodes: 5078 ways with 15 nodes: 4477 ways with 16 nodes: 3701 ways with 17 nodes: 3321 ways with 18 nodes: 2935 ways with 19 nodes: 2472 ways with 20 nodes: 2260 ways with 21 nodes: 2035 ways with 22 nodes: 1807 ways with 23 nodes: 1619 ways with 24 nodes: 1433 ways with 25 nodes: 1316 ways with 26 nodes: 1179 ways with 27 nodes: 1115 ways with 28 nodes: 1023 ways with 29 nodes: 906 ways with 30 nodes: 832 ways with 31 nodes: 758 ways with 32 nodes: 701 ways with 33 nodes: 650 ways with 34 nodes: 565 ways with 35 nodes: 572 ways with 36 nodes: 507 ways with 37 nodes: 518 ways with 38 nodes: 453 ways with 39 nodes: 427 ways with 40 nodes: 358 ways with 41 nodes: 336 ways with 42 nodes: 335 ways with 43 nodes: 347 ways with 44 nodes: 304 ways with 45 nodes: 288 ways with 46 nodes: 261 ways with 47 nodes: 241 ways with 48 nodes: 230 ways with 49 nodes: 217 ways with 50 nodes: 231 ways with 51 nodes: 221 ways with 52 nodes: 197 ways with 53 nodes: 185 ways with 54 nodes: 198 ways with 55 nodes: 173 ways with 56 nodes: 156 ways with 57 nodes: 140 ways with 58 nodes: 140 ways with 59 nodes: 150 ways with 60 nodes: 137 ways with 61 nodes: 137 ways with 62 nodes: 113 ways with 63 nodes: 134 ways with 64 nodes: 116 ways with 65 nodes: 103 ways with 66 nodes: 102 ways with 67 nodes: 103 ways with 68 nodes: 90 ways with 69 nodes: 122 ways with 70 nodes: 89 ways with 71 nodes: 88 ways with 72 nodes: 92 ways with 73 nodes: 93 ways with 74 nodes: 73 ways with 75 nodes: 67 ways with 76 nodes: 83 ways with 77 nodes: 61 ways with 78 nodes: 73 ways with 79 nodes: 50 ways with 80 nodes: 53 ways with 81 nodes: 61 ways with 82 nodes: 46 ways with 83 nodes: 56 ways with 84 nodes: 50 ways with 85 nodes: 52 ways with 86 nodes: 47 ways with 87 nodes: 32 ways with 88 nodes: 42 ways with 89 nodes: 41 ways with 90 nodes: 45 ways with 91 nodes: 47 ways with 92 nodes: 47 ways with 93 nodes: 48 ways with 94 nodes: 39 ways with 95 nodes: 35 ways with 96 nodes: 47 ways with 97 nodes: 35 ways with 98 nodes: 27 ways with 99 nodes: 28 ways with 100 nodes: 30 ways with 101 nodes: 36 ways with 102 nodes: 32 ways with 103 nodes: 30 ways with 104 nodes: 26 ways with 105 nodes: 32 ways with 106 nodes: 14 ways with 107 nodes: 27 ways with 108 nodes: 24 ways with 109 nodes: 23 ways with 110 nodes: 20 ways with 111 nodes: 19 ways with 112 nodes: 21 ways with 113 nodes: 22 ways with 114 nodes: 22 ways with 115 nodes: 14 ways with 116 nodes: 19 ways with 117 nodes: 13 ways with 118 nodes: 12 ways with 119 nodes: 18 ways with 120 nodes: 19 ways with 121 nodes: 24 ways with 122 nodes: 17 ways with 123 nodes: 15 ways with 124 nodes: 19 ways with 125 nodes: 18 ways with 126 nodes: 13 ways with 127 or more nodes: 955 records with 0 empty slots for tags: 998399 records with 1 empty slots for tags: 38439 records with 0 empty slots for nodes: 101497 records with 1 empty slots for nodes: 8122 records with 2 empty slots for nodes: 9011 records with 3 empty slots for nodes: 10671 records with 4 empty slots for nodes: 12128 records with 5 empty slots for nodes: 15046 records with 6 empty slots for nodes: 16597 records with 7 empty slots for nodes: 20984 records with 8 empty slots for nodes: 23910 records with 9 empty slots for nodes: 40383 records with 10 empty slots for nodes: 34440 records with 11 empty slots for nodes: 44707 records with 12 empty slots for nodes: 86204 records with 13 empty slots for nodes: 6459 records with 14 empty slots for nodes: 606679 tag-values of 0 characters: 4 of 998399 tag-values total tag-values of 1 characters: 28209 of 998399 tag-values total tag-values of 2 characters: 54670 of 998399 tag-values total tag-values of 3 characters: 76044 of 998399 tag-values total tag-values of 4 characters: 124071 of 998399 tag-values total tag-values of 5 characters: 100687 of 998399 tag-values total tag-values of 6 characters: 79114 of 998399 tag-values total tag-values of 7 characters: 75381 of 998399 tag-values total tag-values of 8 characters: 29081 of 998399 tag-values total tag-values of 9 characters: 27482 of 998399 tag-values total tag-values of 10 characters: 26972 of 998399 tag-values total tag-values of 11 characters: 125281 of 998399 tag-values total tag-values of 12 characters: 40871 of 998399 tag-values total tag-values of 13 characters: 75431 of 998399 tag-values total tag-values of 14 characters: 67937 of 998399 tag-values total tag-values of 15 characters: 21392 of 998399 tag-values total tag-values of 16 characters: 0 of 998399 tag-values total tag-values of more then 16 characters stored externaly: 45772
statistics (city of hamburg)
The following statistics where taken using an extract of the city of hamburg.
nodes.obm
They indicate an optimum of:
- 1 tag-slot per record
- 3 way-slots per record
under the assumption of
- 66 byte per tag-record
- 4 byte per way-slot
- 6 byte of header-data
Number of records in obm-file: 220011 = 64243212 bytes Lengt of each record in obm-file: 292 Slots for tags per record: 4 Slots for ways per record: 4 Number of free records: 10463 =3055196 byte blocks of 0 empty records: 0 (last count includes all larger blocks) blocks of 1 empty records: 0 (last count includes all larger blocks) blocks of 2 empty records: 0 (last count includes all larger blocks) blocks of 3 or more empty records: 0 (last count includes all larger blocks) nodes using 0 records: 0 nodes using 1 records: 207490 nodes using 2 records: 690 nodes using 3 records: 105 nodes using 4 records: 63 nodes using 5 records: 41 nodes using 6 records: 3 nodes using 7 records: 1 nodes using 8 records: 0 nodes using 9 records: 0 nodes using 10 records: 0 nodes using 11 records: 0 nodes using 12 records: 0 nodes using 13 records: 0 nodes using 14 records: 0 nodes using 15 records: 0 nodes using 16 records: 0 nodes using 17 or more records: 0 nodes with 0 tags: 129092 nodes with 1 tags: 70971 nodes with 2 tags: 3865 nodes with 3 tags: 2152 nodes with 4 tags: 1532 nodes with 5 tags: 367 nodes with 6 tags: 133 nodes with 7 tags: 46 nodes with 8 tags: 23 nodes with 9 tags: 9 nodes with 10 tags: 2 nodes with 11 tags: 94 nodes with 12 tags: 0 nodes with 13 tags: 0 nodes with 14 tags: 0 nodes with 15 tags: 3 nodes with 16 tags: 60 nodes with 17 tags: 37 nodes with 18 tags: 1 nodes with 19 tags: 1 nodes with 20 tags: 2 nodes with 21 tags: 3 nodes with 22 tags: 0 nodes with 23 or more tags: 1 nodes with 0 ways: 6383 nodes with 1 ways: 154951 nodes with 2 ways: 40240 nodes with 3 ways: 5743 nodes with 4 ways: 956 nodes with 5 ways: 107 nodes with 6 ways: 12 nodes with 7 or more ways: 2 records with 0 empty slots for tags: 2770 records with 1 empty slots for tags: 2296 records with 2 empty slots for tags: 4001 records with 3 empty slots for tags: 71388 records with 4 empty slots for tags: 129093 records with 0 empty slots for ways: 1077 records with 1 empty slots for ways: 5745 records with 2 empty slots for ways: 40252 records with 3 empty slots for ways: 155058 records with 4 empty slots for ways: 7416 tag-values of 0 characters: 84 of 97358 tag-values total tag-values of 1 characters: 523 of 97358 tag-values total tag-values of 2 characters: 1057 of 97358 tag-values total tag-values of 3 characters: 1393 of 97358 tag-values total tag-values of 4 characters: 69934 of 97358 tag-values total tag-values of 5 characters: 2903 of 97358 tag-values total tag-values of 6 characters: 716 of 97358 tag-values total tag-values of 7 characters: 1807 of 97358 tag-values total tag-values of 8 characters: 2134 of 97358 tag-values total tag-values of 9 characters: 1532 of 97358 tag-values total tag-values of 10 characters: 1001 of 97358 tag-values total tag-values of 11 characters: 786 of 97358 tag-values total tag-values of 12 characters: 461 of 97358 tag-values total tag-values of 13 characters: 1882 of 97358 tag-values total tag-values of 14 characters: 2471 of 97358 tag-values total tag-values of 15 characters: 4021 of 97358 tag-values total tag-values of 16 characters: 590 of 97358 tag-values total tag-values of 17 characters: 1072 of 97358 tag-values total tag-values of 18 characters: 244 of 97358 tag-values total tag-values of 19 characters: 1165 of 97358 tag-values total tag-values of 20 characters: 373 of 97358 tag-values total tag-values of 21 characters: 86 of 97358 tag-values total tag-values of 22 characters: 133 of 97358 tag-values total tag-values of 23 characters: 75 of 97358 tag-values total tag-values of 24 characters: 63 of 97358 tag-values total tag-values of 25 characters: 74 of 97358 tag-values total tag-values of 26 characters: 37 of 97358 tag-values total tag-values of 27 characters: 93 of 97358 tag-values total tag-values of 28 characters: 26 of 97358 tag-values total tag-values of 29 characters: 51 of 97358 tag-values total tag-values of 30 characters: 21 of 97358 tag-values total tag-values of 31 characters: 22 of 97358 tag-values total tag-values of more then 32 characters stored externaly: 528
ways.obm
They indicate an optimum of:
- 1 tag-slot per record
- 14 node-slots per record
under the assumption of
- 66 byte per tag-record
- 4 byte per node-slot
- 20 byte of header-data
Number of records in obm-file: 60006 = 26882688 bytes Lengt of each record in obm-file: 448 Slots for tags per record: 6 Slots for nodes per record: 8 Number of free records: 3951 =1770048 byte blocks of 0 empty records: 0 (last count includes all larger blocks) blocks of 1 empty records: 0 (last count includes all larger blocks) blocks of 2 empty records: 0 (last count includes all larger blocks) blocks of 3 or more empty records: 0 (last count includes all larger blocks) ways using 0 records: 0 ways using 1 records: 31503 ways using 2 records: 7033 ways using 3 records: 1534 ways using 4 records: 521 ways using 5 records: 215 ways using 6 records: 107 ways using 7 records: 67 ways using 8 records: 26 ways using 9 records: 31 ways using 10 records: 16 ways using 11 records: 12 ways using 12 records: 10 ways using 13 records: 10 ways using 14 records: 3 ways using 15 records: 2 ways using 16 records: 3 ways using 17 or more records: 16 ways with 0 tags: 41 ways with 1 tags: 2237 ways with 2 tags: 13571 ways with 3 tags: 7666 ways with 4 tags: 9614 ways with 5 tags: 4749 ways with 6 tags: 1938 ways with 7 tags: 815 ways with 8 tags: 269 ways with 9 tags: 110 ways with 10 tags: 44 ways with 11 tags: 22 ways with 12 tags: 12 ways with 13 tags: 8 ways with 14 tags: 3 ways with 15 tags: 5 ways with 16 tags: 5 ways with 17 tags: 0 ways with 18 tags: 1 ways with 19 tags: 0 ways with 20 tags: 0 ways with 21 tags: 0 ways with 22 tags: 0 ways with 23 or more tags: 0 ways with 0 nodes: 1 ways with 1 nodes: 124 ways with 2 nodes: 11584 ways with 3 nodes: 5064 ways with 4 nodes: 3603 ways with 5 nodes: 6126 ways with 6 nodes: 2374 ways with 7 nodes: 2228 ways with 8 nodes: 1491 ways with 9 nodes: 1608 ways with 10 nodes: 957 ways with 11 nodes: 884 ways with 12 nodes: 682 ways with 13 nodes: 645 ways with 14 nodes: 446 ways with 15 or more nodes: 3293 records with 0 empty slots for tags: 3267 records with 1 empty slots for tags: 4771 records with 2 empty slots for tags: 9663 records with 3 empty slots for tags: 7781 records with 4 empty slots for tags: 13843 records with 5 empty slots for tags: 3060 records with 6 empty slots for tags: 13670 records with 0 empty slots for nodes: 15837 records with 1 empty slots for nodes: 2902 records with 2 empty slots for nodes: 3077 records with 3 empty slots for nodes: 7070 records with 4 empty slots for nodes: 4585 records with 5 empty slots for nodes: 6336 records with 6 empty slots for nodes: 12929 records with 7 empty slots for nodes: 2206 records with 8 empty slots for nodes: 1113 tag-values of 0 characters: 0 of 136198 tag-values total tag-values of 1 characters: 2889 of 136198 tag-values total tag-values of 2 characters: 5539 of 136198 tag-values total tag-values of 3 characters: 14733 of 136198 tag-values total tag-values of 4 characters: 14469 of 136198 tag-values total tag-values of 5 characters: 17411 of 136198 tag-values total tag-values of 6 characters: 3002 of 136198 tag-values total tag-values of 7 characters: 14631 of 136198 tag-values total tag-values of 8 characters: 2653 of 136198 tag-values total tag-values of 9 characters: 3502 of 136198 tag-values total tag-values of 10 characters: 3900 of 136198 tag-values total tag-values of 11 characters: 12401 of 136198 tag-values total tag-values of 12 characters: 5357 of 136198 tag-values total tag-values of 13 characters: 14228 of 136198 tag-values total tag-values of 14 characters: 13196 of 136198 tag-values total tag-values of 15 characters: 2224 of 136198 tag-values total tag-values of 16 characters: 1101 of 136198 tag-values total tag-values of 17 characters: 937 of 136198 tag-values total tag-values of 18 characters: 818 of 136198 tag-values total tag-values of 19 characters: 665 of 136198 tag-values total tag-values of 20 characters: 448 of 136198 tag-values total tag-values of 21 characters: 430 of 136198 tag-values total tag-values of 22 characters: 393 of 136198 tag-values total tag-values of 23 characters: 221 of 136198 tag-values total tag-values of 24 characters: 168 of 136198 tag-values total tag-values of 25 characters: 118 of 136198 tag-values total tag-values of 26 characters: 80 of 136198 tag-values total tag-values of 27 characters: 75 of 136198 tag-values total tag-values of 28 characters: 49 of 136198 tag-values total tag-values of 29 characters: 43 of 136198 tag-values total tag-values of 30 characters: 39 of 136198 tag-values total tag-values of 31 characters: 15 of 136198 tag-values total tag-values of 32 characters: 0 of 136198 tag-values total tag-values of more then 32 characters stored externaly: 463