Routino SVN Repository Browser

Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino

ViewVC logotype

Contents of /trunk/doc/DATALIFE.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1611 - (show annotations) (download)
Tue Oct 21 09:59:27 2014 UTC (10 years, 4 months ago) by amb
File MIME type: text/plain
File size: 8486 byte(s)
Correct errors in wayx->id usage when compacting ways.

1 Planetsplitter Data Lifetime
2 ============================
3
4 Key (memory mapping):
5 nswr = Mapped into memory read-only
6 NSWR = Mapped into memory read/write
7
8 Key (structure parameter usage):
9 C = Created (allocated then written; write-only)
10 D = Destroyed (read then de-allocated; read-only)
11 U = Used (read; read-only)
12 W = Written (written; write-only)
13 M = Modified (read then written; read/write)
14 T = Temporary (written then read; read/write)
15 | = Preserved unmodified for later
16 * = In this loop the current iteration of (super-)segments are in uppercase, the next iteration are in lowercase.
17
18 .............................
19 : Nodes \
20 : |Segments | Mapped into
21 : ||Ways | memory
22 : |||Relations /
23 : |||| ...........................
24 : vvvv : nodesx->idata
25 : : | . nodesx->gdata
26 : : | . | . nodesx->pdata
27 : : | . | . | . nodesx->super
28 : : | . | . | . | . nodex->id
29 : : | . | . | . | . | ...................................
30 : : v . v . v . v . v : segmentsx->firstnode
31 : : . . . . : | . segmentsx->next1
32 : : . . . . : | . | . segmentsx->usedway
33 : : . . . . : | . | . | . segmentx->node1,2
34 : : . . . . : | . | . | . | . segmentx->next2
35 : : . . . . : | . | . | . | . | . segmentx->way
36 : : . . . . : | . | . | . | . | . | ..................
37 : : . . . . : v . v . v . v . v . v : waysx->idata
38 : : . . . . : . . . . . : | . waysx->cdata
39 : : . . . . : . . . . . : | . | . wayx->id
40 : : . . . . : . . . . . : | . | . | ...............
41 Function name (in order) : : . . . . : . . . . . : v . v . v : relationx->id
42 | : : . . . . : . . . . . : . . : | ...........
43 v : : . . . . : . . . . . : . . : v :
44 :......:...................:.......................:...........:...:
45 (Parse XML etc) : : . . . . W : . . . . . : . . W : W :
46 :......:...................:.......................:...........:...:
47 SortNodeList : : C . . . . U : . . . . . : . . | : | :
48 SortWayList : : | . . . . | : . . . . . : C . . | : | :
49 SortRelationList : : | . . . . | : . . . . . : | . . | : U :
50 RemoveNonHighwayNodes : : M . . . . U : . . . . . : | . . | : | :
51 SplitWays : : U . . . . : . . . W . . W : | . . U : | :
52 SortWayNames : W : | . . . . : . . . | . . | : | . . : | :
53 SortSegmentList : : | . . . . : . . . U . . | : | . . : | :
54 ProcessSegments : n : U . . . . : . . C . U . . U : U . . : | :
55 IndexSegments : S : | . . . . : C . . | . U . W . | : | . . : | :
56 ProcessRouteRelations : W : | . . . . : | . . | . | . | . | : U . . : U :
57 ProcessTurnRelations : Nsw : D . . . . : D . . | . U . U . | : D . . : U :
58 CompactWayList : : . . . . : . . D . | . . | : . C . T : :
59 IndexSegments : S : . . . . : C . . . U . W . M : . D . : :
60 :......:...................:.......................:...........:...:
61 StartPruning : : . . . . : | . C . . U . U . | : . . : : <---+
62 PruneStraightHighwayNodes : nSw : . . . . : U . U . . U . U . | : . . : : \ o |
63 PruneIsolatedRegions : nSw : . . . . : U . U . . U . U . | : . . : : | n |
64 PruneShortSegments : NSw : . . . . : U . U . . U . U . | : . . : : / e | L
65 FinishPruning : : . . . . : | . D . . | . . | : . . : : | o
66 RemovePrunedNodes : : . . C . . : D . . . | . . | : . . : : | o
67 RemovePrunedSegments : : . . | . . : . . C . U . . | : . . : : | p
68 CompactWayList : : . . | . . : . . D . | . . | : . C . T : : |
69 RemovePrunedTurnRelations : : . . U . . : . . . | . . | : . | . : : |
70 IndexSegments : S : . . D . . : C . . . M . W . | : . D . : : |
71 :......:...................:.......................:...........:...: ----+
72 ChooseSuperNodes : sw : . . . M . : U . . . | . U . | : . . : :
73 CreateSuperSegments : nsw : . . . U . : D . . .*Uw. U . | : . . : :
74 DeduplicateSuperSegments : w : . . . | . : . . .*Uu. . | : . . : :
75 :......:...................:.......................:...........:...:
76 IndexSegments : S : . . . | . : C . . . U . W . | : . . : : <-+
77 ChooseSuperNodes : sw : . . . M . : U . . . | . U . | : . . : : | L
78 CreateSuperSegments : nsw : . . . U . : D . . .*Uw. U . | : . . : : | o
79 DeduplicateSuperSegments : w : . . . | . : . . .*Uu. . | : . . : : | o
80 :......:...................:.......................:...........:...: --+ p
81 MergeSuperSegments : : . . . | . : . . . U . . | : . . : :
82 :......:...................:.......................:...........:...:
83 SortNodeListGeographically : : . C . . D . T : . . . | . . | : . . : :
84 SortSegmentListGeographically : : . U . . . : . . . M . . | : . . : :
85 IndexSegments : S : . | . . . : C . . . U . W . | : . . : :
86 SortTurnRelationListGeogra... : s : . D . . . : U . . . U . U . | : . . : :
87 :......:...................:.......................:...........:...:
88 SaveNodeList : : . . . . : D . . . | . | . | : . . : :
89 SaveSegmentList : : . . . . : . . . U . U . U : . . : :
90 SaveWayList : : . . . . : . . . . . : . . : :
91 SaveRelationList : : . . . . : . . . . . : . . : :
92 :......:...................:.......................:...........:...:
93 : m . m . m . m . m : m . m . m . m . m . m : m . m . m : m :
94 : a . a . a . a . m : a . a . a . m . m . m : a . a . m : m :
95 : l . l . l . l . a : l . l . l . a . a . a : l . l . a : a :
96 : l . l . l . l . p : l . l . l . p . p . p : l . l . p : p :
97 : o . o . o . o . : o . o . o . . . : o . o . : :
98 : c . c . c . c . : c . c . c . . . : c . c . : :
99
100
101 Note: waysx->odata, relationsx->rridata, relationsx->rrodata and relationsx->tridata are only used
102 by the error log creation functions which are optional (all use malloc and not mmap).