Routino SVN Repository Browser

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

ViewVC logotype

Annotation of /trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 585 - (hide annotations) (download)
Wed Dec 29 10:54:11 2010 UTC (14 years, 2 months ago) by amb
File size: 72081 byte(s)
Added the uncontrolled (not auto-generated) files from routino-1.5.

1 amb 585 2010-10-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2    
3     Version 1.5 released
4    
5     2010-10-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
6    
7     * doc/README.txt, doc/NEWS.txt: Updated for version 1.5.
8    
9     2010-10-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
10    
11     * src/profiles.c:
12     Use sqrt() function to reduce the effect of property preferences close to 50%.
13     Ensure that preferences cannot equal zero (error on division).
14    
15     * doc/ALGORITHM.txt, doc/INSTALL.txt, doc/USAGE.txt:
16     Updated with information about the new features.
17    
18     * doc/CONFIGURATION.txt, doc/TAGGING.txt:
19     Add in the footroute and bicycleroute configuration options and route relation
20     tag processing.
21    
22     2010-10-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
23    
24     * src/files.c: Fixed some comments for recent changes.
25    
26     2010-10-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
27    
28     * xml/routino-profiles.xml:
29     Add footroute and bicycleroute to the profiles.
30    
31     * src/files.c, src/files.h, src/relationsx.c:
32     The ReOpenFile() function cannot be read/write because it stops the router
33     running with read-only access to the database.
34    
35     * src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/superx.c:
36     Fix previous check-in on this set of files.
37    
38     * src/xmlparse.l: Ensure that comparisons are made with unsigned chars.
39    
40     2010-10-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
41    
42     * src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/superx.c:
43     Don't try mapping a file if it is zero length (e.g. no super-segments).
44    
45     * src/files.c, src/files.h, src/relationsx.c:
46     Add a function to map a file writeable and use it for updating the ways when
47     processing route relations.
48    
49     * src/relationsx.c:
50     Avoid self-recursion and adding route information to relations that already have
51     it.
52    
53     2010-09-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
54    
55     * src/osmparser.c, src/relationsx.c, src/relationsx.h, src/waysx.h:
56     Apply the route=bicycle or route=foot tags from the relation to all ways
57     contained in it and to all ways in all sub-relations of it (including recursion
58     to depth 5). This requires all relations to be stored even if not routes
59     because they might be included by another relation that is.
60    
61     * src/segmentsx.c: Don't sort the (super-)segments if there are none.
62    
63     * src/nodesx.c, src/functions.h, src/sorting.c:
64     Rename the heapsort() function to filesort_heapsort().
65    
66     2010-09-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
67    
68     * src/files.c, src/files.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
69     Change the names of the functions used to open files, change the ReOpen function
70     to open R/W.
71    
72     * src/relationsx.c: Remove the sorting of the route relations.
73    
74     2010-09-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
75    
76     * src/nodesx.c, src/segmentsx.c:
77     Zero the NodesFile and SegmentsFile data structures before writing them (zeros
78     unused bytes).
79    
80     * src/planetsplitter.c, src/waysx.c, src/waysx.h:
81     Split the sorting of waysx from the compacting so that the route relation
82     information can be included before compacting.
83    
84     * xml/routino-tagging.xml, src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
85     Parse relations and extract foot and bicycle routes to be added as properties to
86     the ways.
87    
88     * src/types.c, src/types.h: Add footroute and bicycleroute properties.
89    
90     * src/relationsx.c, src/relationsx.h: New file.
91    
92     * src/typesx.h, src/Makefile:
93     Add files and datatypes for processing relations.
94    
95     * xml/routino-tagging-nomodify.xml, xml/routino-tagging.xsd, src/tagging.c:
96     Process tags for relations.
97    
98     2010-09-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
99    
100     * src/waysx.c, src/segmentsx.c, src/nodesx.c:
101     Fix the comment for the Append...() function.
102    
103     2010-09-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
104    
105     * xml/routino-profiles.xml, xml/routino-tagging.xml, xml/routino-translations.xml,
106     src/output.c, src/translations.c, src/types.c, src/types.h:
107     Add routing on ferries.
108    
109     * src/filedumper.c, src/planetsplitter.c, src/router.c:
110     Bug fix for last change.
111    
112     * src/filedumper.c, src/planetsplitter.c, src/router.c:
113     Improve the usage information to tell which command line argument was in error.
114    
115     * src/profiles.c:
116     Fix --help-profile-perl option and make perl and JSON outputs more pretty.
117    
118     * src/router.c, src/planetsplitter.c:
119     Usage message has wrong option name.
120    
121     * src/xmlparse.l:
122     Fix last change to make UTF-8 parsing more strict, also added strict conversion
123     to XML-safe character references.
124    
125     * src/translations.c:
126     Convert translations read from file into XML-safe encodings before using them.
127    
128     * src/output.c: HTML file has UTF-8 meta-tag.
129    
130     * xml/routino-translations.xml:
131     Revert to UTF-8 multi-byte representations instead of character references.
132    
133     2010-09-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
134    
135     * src/xmlparse.l: Stricter checking on XML data (Unicode).
136    
137     2010-09-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
138    
139     * xml/Makefile, src/Makefile, doc/Makefile, Makefile:
140     Move all of the installation pathnames to the top level Makefile and include it
141     into the lower level makefiles.
142    
143     * src/planetsplitter.c, src/router.c, src/tagmodifier.c:
144     Use the installed tagging.xml, profiles.xml or translations.xml files as the
145     fallback option if no other given.
146    
147     2010-09-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
148    
149     * xml/routino-translations.xml:
150     Change German translations from named HTML character encodings to numeric ones
151     (works in GPX files as well as HTML).
152    
153     * xml/routino-translations.xml:
154     Added Dutch translations (from Jan Jansen).
155    
156     2010-08-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
157    
158     * xml/routino-translations.xml:
159     Change German translation to UTF-8, add comments indicating the origin of the
160     two translations.
161    
162     * xml/routino-tagging-nomodify.xml:
163     Relation rules are not allowed at all.
164    
165     * xml/Makefile, src/Makefile, doc/Makefile, Makefile:
166     Added 'install' to top level (and lower) Makefiles.
167    
168     * src/ways.h, src/output.c:
169     Change the names of the functions used to get the highway names.
170    
171     * src/filedumper.c:
172     Only print the way name in OSM output when the way has a name.
173     Change the names of the functions used to get the highway names.
174    
175     * src/profiles.c: Fix bug with writing out JSON profile information.
176    
177     2010-08-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
178    
179     * src/ways.h, src/output.c:
180     Change the names of the functions used to get the highway names.
181    
182     * src/filedumper.c:
183     Only print the way name in OSM output when the way has a name.
184     Change the names of the functions used to get the highway names.
185    
186     * src/profiles.c: Fix bug with writing out JSON profile information.
187    
188     2010-08-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
189    
190     * src/output.c, src/segmentsx.c, src/types.h, src/fakes.c, src/functions.h, src/nodesx.c,
191     src/optimiser.c:
192     Change the way that fake nodes and segments are recognised (allows nearly 4G
193     nodes to be stored instead of 2G nodes).
194    
195     2010-08-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
196    
197     * src/filedumper.c, src/nodes.h, src/nodesx.c, src/optimiser.c, src/types.h:
198     Rename the variables that hold the node allowed transports and flags.
199    
200     2010-08-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
201    
202     * xml/routino-tagging-nomodify.xml, xml/routino-tagging.xml, xml/routino-tagging.xsd,
203     src/filedumper.c, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c,
204     src/superx.c, src/tagging.c, src/types.h:
205     Understand node traffic type restrictions.
206    
207     2010-07-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
208    
209     * src/profiles.h, src/types.c, src/types.h, src/ways.h, src/waysx.c:
210     Rename the wayallow_t type to allow_t (since it applies to nodes as well now).
211    
212     * src/filedumper.c, src/nodes.h, src/nodesx.c, src/segmentsx.c, src/types.h:
213     Add extra information to a node to store turn restrictions and properties.
214     (Move the super-node bit from the first segment to here.)
215    
216     * src/nodesx.c, src/segmentsx.c, src/waysx.c:
217     Assert if the number of nodes, segments or ways exceeds the legal range of the
218     index counters.
219    
220     * src/nodes.h, src/nodesx.h, src/segments.h, src/segmentsx.h, src/ways.h, src/waysx.h:
221     Change the data types to index_t where they are counting nodes/segments/ways.
222    
223     * src/nodes.h, src/nodesx.h, src/segments.h, src/segmentsx.h, src/ways.h, src/waysx.c,
224     src/waysx.h:
225     Ensure that seeking within a file uses a 64-bit offset.
226    
227     * src/nodesx.c, src/segmentsx.c, src/superx.c, src/waysx.c:
228     Remove the assert statements that check the order of calling the functions.
229    
230     2010-07-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
231    
232     * src/filedumper.c, src/nodes.c, src/nodes.h, src/visualiser.c:
233     Final part of slim mode for the router (node offsets).
234    
235     2010-07-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
236    
237     * src/nodesx.c, src/segmentsx.c, src/waysx.c:
238     Some tidying up of the writing of the file headers.
239    
240     * src/ways.c, src/ways.h, src/waysx.c, src/filedumper.c, src/nodes.c, src/optimiser.c,
241     src/output.c, src/profiles.c, src/visualiser.c:
242     Finished slim mode for the router by adding ways.
243    
244     2010-07-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
245    
246     * src/filedumper.c, src/nodes.c, src/nodes.h, src/output.c, src/segments.c, src/segments.h,
247     src/segmentsx.c:
248     Added slim mode to the router for segments.
249    
250     * src/Makefile: Add the fakes.c file.
251    
252     * src/optimiser.c, src/results.c, src/results.h:
253     Change the results structure to hold the index of the segment instead of a
254     pointer to it.
255    
256     * src/types.h, src/router.c, src/functions.h:
257     Move the fake nodes and segments to a new file.
258    
259     * src/fakes.c: New file.
260    
261     2010-07-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
262    
263     * xml/routino-profiles.xml:
264     Reduce the "multilane" preference for motor vehicles. Gives too much bias with
265     previous setting.
266    
267     2010-07-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
268    
269     * src/Makefile, src/filedumper.c, src/nodes.c, src/nodes.h, src/nodesx.c, src/visualiser.c:
270     Added a slim mode to the router (just for nodes to start with).
271    
272     2010-07-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
273    
274     * src/segmentsx.h, src/superx.c, src/waysx.c, src/waysx.h, src/Makefile, src/nodesx.c,
275     src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
276     Replaced the runtime selection of slim mode / non-slim mode with compile time
277     selection that gives no runtime overhead but gives two executables.
278    
279     2010-07-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
280    
281     * src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/segmentsx.h, src/waysx.c, src/waysx.h:
282     Move the functions for slim mode out into the header file and make it inline.
283    
284     2010-07-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
285    
286     * src/files.h: New file.
287    
288     * src/segmentsx.h, src/sorting.c, src/superx.c, src/tagging.c, src/tagmodifier.c,
289     src/translations.c, src/ways.c, src/waysx.c, src/waysx.h, src/filedumper.c, src/files.c,
290     src/functions.h, src/nodes.c, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/output.c,
291     src/planetsplitter.c, src/profiles.c, src/router.c, src/segments.c, src/segmentsx.c:
292     Create a files.h header and put some of the most heavily used files.c functions
293     into it and make them inline.
294    
295     2010-07-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
296    
297     * src/segmentsx.c, src/segmentsx.h, src/files.c, src/nodesx.c, src/nodesx.h:
298     Made the planetsplitter slim mode handle the output node and segment data in a
299     slim way as well as in the input data.
300    
301     * src/nodesx.c, src/segmentsx.c, src/waysx.c:
302     Change the names of the temporary files.
303    
304 amb 584 2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
305    
306     Version 1.4.1 released
307    
308     2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
309    
310     * doc/NEWS.txt: Update NEWS for release.
311    
312     * doc/ALGORITHM.txt:
313     Update documentation for slight modification to algorithm, also add more
314     information about how preferences etc are handled.
315    
316     2010-07-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
317    
318     * src/Makefile:
319     Default compilation flags include optimisation and not debugging symbols.
320    
321     2010-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
322    
323     * src/nodes.c:
324     Fix error with finding closest segment to the specified point.
325    
326     * src/optimiser.c:
327     Bug fix for not crashing when finding the middle part of the route.
328    
329     2010-07-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
330    
331     * src/results.c, src/optimiser.c:
332     Changed the amount of memory allocated for intermediate results => routes much
333     faster.
334    
335     * src/output.c: Remove compilation warning.
336    
337     * src/Makefile:
338     Copy files to web directory like done in other Makefiles.
339    
340     * doc/Makefile:
341     Change location of HTML files in web directory and clean up web directory on distclean.
342    
343     * src/xml/Makefile: Stop message being printed when make runs.
344    
345     * xml/Makefile:
346     Fix error from last checkin and clean up web directory on distclean.
347    
348     2010-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
349    
350     * src/optimiser.c:
351     Don't crash if the middle part of the route can't be found but exit cleanly.
352    
353     2010-07-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
354    
355     * src/superx.c: Change the algorithm used to determine supernodes.
356    
357     2010-07-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
358    
359     * xml/routino-translations.xml:
360     Added German translation [patch from Christoph Eckert].
361    
362     * src/translations.c:
363     Don't crash if more than one language is in translations.xml but --language
364     option is not used.
365    
366     2010-06-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
367    
368     * src/router.c: Don't crash if start and finish are the same point.
369    
370     2010-06-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
371    
372     * doc/DATA.txt: New file.
373    
374     * doc/ALGORITHM.txt, doc/CONFIGURATION.txt, doc/INSTALL.txt, doc/OUTPUT.txt, doc/README.txt,
375     doc/TAGGING.txt, doc/USAGE.txt:
376     Updated documentation to match new web site.
377    
378     * doc/Makefile: New file.
379    
380     * xml/Makefile: Add some new variables.
381    
382     2010-06-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
383    
384     * xml/routino-profiles.xml, xml/routino-tagging-nomodify.xml, xml/routino-tagging.xml,
385     xml/routino-translations.xml, src/translations.c:
386     Changed URLs to http://www.routino.org/
387    
388     * doc/README.txt: *** empty log message ***
389    
390     * doc/OUTPUT.txt: Changed URLs to http://www.routino.org/
391    
392 amb 577 2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
393    
394     Version 1.4 released
395    
396     2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
397    
398     * doc/INSTALL.txt, doc/NEWS.txt, doc/README.txt:
399     Update for version 1.4.
400    
401     * src/xml/Makefile: Make sure that distclean really cleans up.
402    
403     * Makefile: Make sure that xml sub-directory is made.
404    
405     * src/router.c:
406     Fix the code that should stop routing if no segment is found.
407    
408     2010-05-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
409    
410     * doc/USAGE.txt:
411     Add the planetsplitter tagging rules option (and remove the unnecessary options
412     that it replaces), add the filedumper OSM dump option and add the tagmodifier
413     program.
414    
415     * doc/TAGGING.txt: Describe the new tagging rules.
416    
417     * doc/OUTPUT.txt: Note that the HTML and GPX outputs are translated.
418    
419     * doc/CONFIGURATION.txt: Add the tagging rules configuration file.
420    
421     * doc/ALGORITHM.txt: An update to the current size of the UK database.
422    
423     * xml/routino-tagging-nomodify.xml: New file.
424    
425     * src/tagmodifier.c:
426     A tagging XML file must be read (just like planetsplitter).
427    
428     * src/filedumper.c:
429     Add the option to dump a region rather than all and to not output super
430     segments.
431    
432     * src/optimiser.c: Fix printing the number of super-segments tried.
433    
434     2010-05-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
435    
436     * xml/routino-translations.xml, xml/routino-translations.xsd, src/ways.h, src/filedumper.c,
437     src/osmparser.c, src/output.c, src/translations.c, src/translations.h:
438     Translate the names given to unnamed roads (the highway type).
439    
440     * src/profiles.c, src/profiles.h, src/router.c:
441     Stricter check on specified profile before routing.
442    
443     * src/router.c: Ensure that if no segment is found the routing stops.
444    
445     * src/nodes.c:
446     When finding a closest segment one of the nodes must be within the search
447     distance.
448    
449     2010-05-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
450    
451     * src/router.c: Make sure that some profiles are loaded.
452    
453     2010-05-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
454    
455     * src/optimiser.c, src/profiles.c:
456     Fix bug with profile preferences (used incorrectly in route optimisation).
457    
458     * src/Makefile, src/filedumper.c, src/types.c, src/types.h:
459     Add an option to filedumper to dump an OSM format file.
460    
461     2010-05-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
462    
463     * src/xmlparse.l: Fix bug with encoding XML strings.
464    
465     2010-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
466    
467     * xml/Makefile:
468     Make sure that modified files are copied to web directory.
469    
470     * src/tagmodifier.c:
471     Fix bug when filename is specified on command line.
472    
473     * src/tagging.c, src/tagging.h, src/tagmodifier.c, src/xmlparse.l, src/osmparser.c:
474     Fix some memory leaks.
475    
476     * src/tagmodifier.c, xml/osm.xsd, xml/routino-osm.xsd, src/osmparser.c:
477     Add the 'bound' element to the XML parser.
478    
479     2010-05-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
480    
481     * src/functionsx.h, src/osmparser.c, src/planetsplitter.c, src/ways.h, src/waysx.c,
482     src/waysx.h:
483     Remove the --transport=<transport>, --not-highway=<highway> and
484     --not-property=<property> options from planetsplitter because they can be done
485     by the tagging.xml file now.
486    
487     2010-05-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
488    
489     * src/Makefile: Add tagmodifier program.
490    
491     * src/xmlparse.l: Handle floating point numbers in scientific notation.
492    
493     * src/planetsplitter.c:
494     Read in the tag transformation rules before calling the OSM parser.
495    
496     * src/functionsx.h, src/osmparser.c:
497     Almost completely re-written OSM parser using tagging transformations.
498    
499     * src/tagmodifier.c, src/tagging.h, src/tagging.c: New file.
500    
501     * xml/Makefile: Copy the tagging rules to the web directory.
502    
503     * xml/routino-tagging.xml, xml/routino-tagging.xsd, xml/routino-osm.xsd:
504     New file.
505    
506     * xml/osm.xsd: Small fix for OSM schema.
507    
508     2010-05-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
509    
510     * src/types.c: Remove highway type aliases from HighwayType() function.
511    
512     * src/xmlparse.h, src/xmlparse.l: Allow empty strings to be returned.
513    
514     2010-05-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
515    
516     * src/xmlparse.h, src/xmlparse.l:
517     The line number is now a long integer.
518    
519     * src/xml/Makefile: Running 'make test' now compiles everything first.
520    
521     2010-04-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
522    
523     * src/xml/Makefile: Delete zero length file if xsd-to-xmlparser fails.
524    
525     * src/nodes.c, src/nodesx.c, src/segments.c, src/segmentsx.c, src/ways.c, src/waysx.c:
526     Change file format to allow 64-bit off_t type with 32 bit void* type.
527    
528     * src/Makefile, src/filedumper.c, src/xml/Makefile:
529     Compile with _FILE_OFFSET_BITS=64 to get 64-bit fopen() and stat().
530    
531     2010-04-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
532    
533     * src/output.c: Fix mistake of writing GPX information to wrong file.
534    
535     * doc/OUTPUT.txt, doc/CONFIGURATION.txt: New file.
536    
537     * doc/TAGGING.txt, doc/USAGE.txt, doc/ALGORITHM.txt, doc/INSTALL.txt, doc/NEWS.txt,
538     doc/README.txt:
539     Interim checkin of updated documentation.
540    
541     2010-04-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
542    
543     * src/router.c:
544     Merged the three functions to output the head/body/tail of the results back into
545     a single function. Added the '--output-none' option.
546    
547     * src/functions.h, src/output.c:
548     Merged the three functions to output the head/body/tail of the results back into
549     a single function.
550    
551     * xml/routino-translations.xml, xml/routino-translations.xsd, src/output.c,
552     src/translations.c, src/translations.h:
553     Added translations for the HTML output.
554    
555     * src/xmlparse.h, src/xmlparse.l: Changed functions from const.
556    
557     * src/output.c:
558     Add the copyright information into the translations.xml file instead of the
559     separate copyright.txt file. Add the translated copyright strings into the
560     outputs.
561    
562     * src/functions.h, src/router.c, src/translations.c, src/translations.h:
563     Add the copyright information into the translations.xml file instead of the
564     separate copyright.txt file.
565    
566     * src/xmlparse.h, src/xmlparse.l:
567     Add an option to not convert the XML strings into decoded representations (saves
568     converting them back later for the translated strings).
569    
570     2010-04-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
571    
572     * src/xml/xsd-to-xmlparser.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
573     src/profiles.c:
574     Pass the tag name to the tag function.
575    
576     2010-04-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
577    
578     * Makefile: Fix bug in makefile.
579    
580     * xml/Makefile: Move the translations into the web directory.
581    
582     * xml/routino-translations.xml, xml/routino-translations.xsd: New file.
583    
584     * src/output.c: Changed HTML output to be useful in web pages.
585    
586     * src/xmlparse.l:
587     Restart properly so that a different file can be read.
588    
589     2010-04-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
590    
591     * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c:
592     Name the tag variables and functions after the XSD data type and not the tag
593     name that uses it.
594    
595     2010-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
596    
597     * src/profiles.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
598     src/xml/xsd-to-xmlparser.c, src/xml/Makefile:
599     Change the last parameter to the ParseXML function to be general options.
600    
601     * src/Makefile, src/types.h, src/ways.c, src/ways.h:
602     Move the type checking/printing functions from way.c to type.c.
603    
604     * src/types.c: New file.
605    
606     2010-04-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
607    
608     * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c, src/xmlparse.h,
609     src/xmlparse.l:
610     Added helper functions for parsing strings into numbers.
611     Added macros to perform common error checking.
612     Change XML parser callback functions to return an error status.
613    
614     2010-04-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
615    
616     * src/router.c: Fix usage information.
617    
618     * src/translations.h, src/translations.c: New file.
619    
620     * src/output.c: Added translations for GPX and turn/heading.
621    
622     * src/Makefile, src/router.c:
623     Added file of translations and language selection.
624    
625     2010-04-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
626    
627     * src/functions.h, src/planetsplitter.c, src/sorting.c:
628     Add an option '--sort-ram-size' to specify the RAM to use for sorting - defaults
629     to 256MB if not using slim mode.
630    
631     2010-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
632    
633     * src/xml/Makefile: Fix test program generation and running.
634    
635     * src/xmlparse.h, src/xmlparse.l:
636     Make the strings const and add the number of attributes to the xmltag structure.
637     Add functions to convert character entities and character references.
638    
639     * src/profiles.c, src/xml/xsd-to-xmlparser.c:
640     Make the strings const and add the number of attributes to the xmltag structure.
641    
642     2010-04-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
643    
644     * xml/Makefile: New file.
645    
646     2010-04-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
647    
648     * src/Makefile:
649     Remove special lex/flex flags. Remove profiles.o from planetsplitter.
650    
651     * src/xml/xsd-to-xmlparser.c:
652     Don't print anything for attributes that are not set.
653    
654     * src/xmlparse.l:
655     Change error message for bad character in a quoted string.
656     Make sure attribute values are cleared before calling tag function (for
657     end-tags).
658    
659     2010-04-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
660    
661     * src/xml/Makefile: Add some XML parsing test cases.
662    
663     * src/xml/xsd-to-xmlparser.c: Rename the XML handling function.
664    
665     * src/xmlparse.h, src/xmlparse.l, src/profiles.c: Added error checking.
666    
667     2010-04-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
668    
669     * src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
670     Rename the old ParseXML() function as ParseOSM().
671    
672     2010-04-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
673    
674     * src/output.c: Wrap GPX descriptions in CDATA.
675    
676     2010-03-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
677    
678     * xml/routino-profiles.xml: New file.
679    
680     * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/xmlparse.h, src/xmlparse.l:
681     Call the XML tag functions for the end tags as well as the start tags.
682    
683     2010-03-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
684    
685     * src/profiles.c, src/profiles.h:
686     Change the name of the --profile-json and --profile-perl options.
687    
688     * src/filedumper.c, src/planetsplitter.c, src/router.c:
689     Improve the program help messages.
690    
691     2010-03-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
692    
693     * src/files.c, src/functions.h, src/profiles.c, src/profiles.h, src/router.c:
694     Added command line option to specify a file containing profiles.
695     Added command line option to select profile by name from loaded set.
696     Use XML parser to read in the profiles.
697    
698     * src/Makefile: Better handling of the xml sub-directory.
699    
700     * src/xml/xsd-to-xmlparser.c:
701     Add the option to ignore unknown attributes.
702     Print out the skeleton file using static functions and variables.
703    
704     * src/xml/Makefile: Keep the intermediate files.
705    
706     * src/xmlparse.h, src/xmlparse.l:
707     Add the option to ignore unknown attributes.
708    
709     2010-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
710    
711     * src/profiles.h, src/router.c, src/profiles.c:
712     Add an option to print out the profiles as XML format.
713    
714     * src/xmlparse.h, xml/xsd.xsd, xml/osm.xsd, src/xml/xsd-to-xmlparser.c:
715     New file.
716    
717     * src/Makefile: Added the XML subdirectory and xmlparser.c.
718    
719     * src/xmlparse.l, src/xml/Makefile: New file.
720    
721     2010-03-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
722    
723     * src/output.c: Add descriptions to each point in the GPX route file.
724    
725     * src/files.c, src/functions.h, src/nodesx.c, src/output.c, src/segmentsx.c, src/waysx.c:
726     Move the stat() calls to find a file size into a helper function in files.c.
727    
728     * src/files.c, src/output.c, src/planetsplitter.c:
729     Improve the error messages by adding strerror() to them.
730    
731     * src/filedumper.c, src/router.c:
732     Don't check the return value of the functions to load the nodes, segments and
733     ways because those functions will exit in case of an error.
734    
735     * src/nodes.c, src/segments.c, src/ways.c:
736     Don't check the return value of MapFile() because it will exit in case of an
737     error.
738    
739     * src/planetsplitter.c:
740     Allow filenames on the planetsplitter command line.
741    
742     2010-03-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
743    
744     * src/waysx.h, src/filedumper.c, src/files.c, src/functions.h, src/nodesx.c, src/nodesx.h,
745     src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c, src/waysx.c:
746     Allow planetsplitter to be run with a --parse-only or --process-only option and
747     append to existing file or read from existing file.
748    
749     2010-03-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
750    
751     * src/router.c: Fix usage message error and shuffle order.
752    
753     * src/output.c, src/router.c:
754     Allow selection of which outputs are to be created.
755    
756     2010-03-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
757    
758     * src/output.c: Re-order the code for HTML.
759    
760     2010-03-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
761    
762     * src/output.c: Create a simple HTML output.
763    
764     2010-03-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
765    
766     * src/router.c, src/nodes.c:
767     Speed up start/via/stop point search algorithm.
768    
769     2010-03-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
770    
771     * src/profiles.c:
772     Change the format of the output for the --help-profile-{pl|js} options.
773    
774 amb 574 2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
775    
776     Version 1.3 released
777    
778     2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
779    
780     * doc/NEWS.txt: Update to latest news.
781    
782     2010-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
783    
784     * doc/USAGE.txt, doc/TAGGING.txt, doc/INSTALL.txt:
785     Updated documentation.
786    
787     2010-01-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
788    
789     * src/router.c, src/functions.h:
790     Change the test output formats to add turn, node type and bearing information.
791    
792     2010-01-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
793    
794     * src/output.c:
795     Change the test output formats to add turn, node type and bearing information.
796    
797     2009-12-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
798    
799     * src/router.c:
800     Added an option to use only nodes and not interpolate a point into a segment.
801    
802     2009-12-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
803    
804     * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
805     Added wheelchair as type of transport.
806    
807     2009-12-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
808    
809     * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
810     Add bridge and tunnel to highway properties.
811    
812     2009-12-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
813    
814     * src/Makefile:
815     Ignore the error if executables cannot be copied after compiling.
816    
817     * src/functions.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
818     Add some FILESORT_* #defines and use them.
819    
820     2009-12-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
821    
822     * src/functions.h, src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c,
823     src/waysx.c, src/waysx.h:
824     Added a new function to sort variable length data - simplifies the compacting of
825     ways, reduces memory usage potentially required for it and simplifies the code.
826    
827     2009-12-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
828    
829     * src/waysx.c:
830     Write out the list of ways without memory mapping anything.
831    
832     2009-11-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
833    
834     * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
835     Add in "multilane" as a new highway property.
836    
837     2009-11-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
838    
839     * src/filedumper.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/profiles.h,
840     src/router.c, src/ways.h, src/waysx.c, src/waysx.h:
841     Store the selected options when parsing (planetsplitter) and display them in the
842     statistics (filedumper) and check them when routing (router).
843    
844     2009-11-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
845    
846     * src/osmparser.c, src/output.c, src/profiles.c, src/types.h, src/ways.c:
847     Add in "steps" as a new highway type.
848    
849     2009-11-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
850    
851     * src/optimiser.c, src/router.c:
852     Made the verbose output consistent between different places.
853    
854     2009-11-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
855    
856     * src/router.c: Fix bug with previous segment-splitting routing.
857    
858     2009-11-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
859    
860     * src/optimiser.c, src/output.c, src/router.c, src/segments.h, src/functions.h, src/nodes.c,
861     src/nodes.h:
862     If a selected waypoint is not very close to an existing node then insert a fake
863     node in the segment that comes closest and use that instead.
864    
865     2009-11-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
866    
867     * src/optimiser.c, src/osmparser.c, src/queue.c, src/results.c, src/results.h, src/types.h:
868     Added in some more constants with the value ~0.
869    
870     2009-11-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
871    
872     * src/filedumper.c:
873     Check the values for the --node=, --segment= and --way= options.
874    
875     2009-11-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
876    
877     * src/output.c, src/planetsplitter.c, src/profiles.c, src/profiles.h, src/router.c,
878     src/types.h, src/ways.c:
879     Rename Way_Unknown to Way_Count to make more sense and match the properties.
880    
881     2009-11-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
882    
883     * src/osmparser.c: Allow the tag "paved" as well as "surface=paved".
884    
885     * src/filedumper.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/profiles.c,
886     src/profiles.h, src/router.c, src/types.h, src/ways.c, src/ways.h:
887     Added the ability to set routing preferences using highway properties.
888     Initially the only choice is either paved or unpaved but the code has been
889     updated to allow any number of properties to be added.
890    
891     2009-10-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
892    
893     * src/osmparser.c:
894     Handle the "designation=..." tag for bridleway, byway and footpath. (Also
895     change to using a macro for testing if access is allowed and now allow
896     "destination").
897    
898     * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c, src/ways.h:
899     Added Moped to the list of transports (and incidentally increased the transport
900     data type to 16 bits and re-ordered the Way data-type in response).
901    
902     2009-10-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
903    
904     * src/profiles.c:
905     Ensure that horses and bicycles have a default speed on trunk even though they
906     have a default preference not to use it.
907    
908     * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
909     Re-ordered the types so that Horse comes before Bicycle.
910    
911     * src/osmparser.c, src/output.c, src/profiles.c, src/types.h, src/ways.c:
912     Remove the Bridleway and Footway highway types and use the Path type instead
913     (also re-ordered the types so that Cycleway comes before Path).
914    
915     * src/profiles.c: Remove unneeded spaces at the end of the output.
916    
917     2009-10-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
918    
919     * src/output.c:
920     Fix bug in code that determines waypoints for abbreviated output.
921    
922     2009-10-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
923    
924     * src/functions.h, src/optimiser.c, src/router.c:
925     Fix missing segments in output if start and finish points are found by the start
926     search.
927    
928     2009-10-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
929    
930     * src/files.c, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/superx.c, src/waysx.c:
931     Added some missing comments and corrected some existing ones.
932    
933     2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
934    
935     Version 1.2 released
936    
937     2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
938    
939     * doc/README.txt, doc/USAGE.txt, doc/NEWS.txt: Updated for version 1.2.
940    
941 amb 572 2009-10-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
942    
943     * src/Makefile: Add sorting.o to the Makefile.
944    
945     2009-10-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
946    
947     * src/waysx.c: When sorting we cannot have NULL pointers now.
948    
949     * src/nodesx.c, src/segmentsx.c, src/waysx.c:
950     Re-order the functions in the file into a more logical order.
951     No functional changes.
952    
953     * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
954     Rename the tmpdirname variable.
955    
956     2009-10-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
957    
958     * src/nodesx.c, src/osmparser.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
959     Corrections after running with valgrind.
960    
961     * src/planetsplitter.c: Fix early termination test.
962    
963     * src/nodesx.c, src/nodesx.h, src/segmentsx.c:
964     Remove the nodesx->gdata index.
965    
966     2009-10-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
967    
968     * src/nodesx.c, src/segmentsx.c, src/typesx.h, src/waysx.c, src/waysx.h:
969     Free the nodesx->super array and the segmentsx->firstnode array when finished
970     with them. Remove wayx->cid and overwrite wayx->id instead. Overwrite
971     nodex[i]->id=i for later geographically sorted use.
972    
973     2009-10-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
974    
975     * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
976     Replace node, segment and way indexes with a single index for a set of segments
977     containing the location of the first segment for each node.
978    
979     * src/nodesx.h: Fix comment.
980    
981     2009-10-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
982    
983     * src/osmparser.c, src/segmentsx.c, src/superx.c:
984     AppendSegment adds a single segment and not a pair.
985    
986     * src/waysx.c: Use heapsort() instead of qsort().
987    
988     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
989     src/superx.c, src/waysx.c:
990     Go back to the version 1.1 method of having each segment listed twice. This
991     simplifies the lookup of first/next segments at no in-RAM index cost and now
992     that slim mode has sorting of file contents the balance has tipped back.
993    
994     2009-10-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
995    
996     * src/functions.h, src/sorting.c:
997     Change the sort function to allow the indexing callback to veto the write.
998    
999     * src/nodesx.c: Remove the duplicates when sorting.
1000    
1001     * src/waysx.c:
1002     Sort the ways using the same method as the nodes. Also remove the duplicates.
1003    
1004     * src/nodesx.c:
1005     Use the new sort functions to allow sorting the data in the file without needing
1006     to read (or mmap) the whole file into RAM at the same time.
1007    
1008     * src/functions.h: Add some functions to perform sorting.
1009    
1010     * src/sorting.c: New file.
1011    
1012     * src/queue.c: Fix bug with binary heap sort.
1013    
1014     2009-09-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1015    
1016     * src/queue.c: Add comments describing the algorithm used.
1017    
1018     2009-09-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1019    
1020     * src/nodesx.c, src/waysx.c:
1021     Simplify the de-duplication when sorting and update some comments.
1022    
1023     2009-09-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1024    
1025     * src/nodesx.c, src/nodesx.h:
1026     Remove a leftover from the last change on these files.
1027    
1028     * src/segmentsx.c: Improve the super-segment de-duplication.
1029    
1030     2009-09-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1031    
1032     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c:
1033     Remove the non-highway nodes without re-sorting the whole list again.
1034    
1035     2009-09-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1036    
1037     * src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/superx.c, src/waysx.c,
1038     src/waysx.h:
1039     Added the slim mode to Ways as well.
1040    
1041     * src/ways.h: Add padding to Ways structure to allow it to be zeroed.
1042    
1043     * src/nodesx.c: Add some comments when closing and re-opening files.
1044    
1045     * src/files.c, src/functions.h:
1046     The WriteFile function now has a const parameter.
1047    
1048     2009-09-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1049    
1050     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
1051     Some bug fixes and some missing unmap function calls.
1052    
1053     2009-09-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1054    
1055     * src/segmentsx.h, src/superx.c, src/nodesx.c, src/nodesx.h, src/segmentsx.c:
1056     Fixed slim mode for segments and nodes (slim now means mapping only one file
1057     into RAM at a time and none when creating the final output).
1058    
1059     2009-09-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1060    
1061     * src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c,
1062     src/superx.h, src/nodesx.c:
1063     Slim version of segments code (still very slow and only works on simple cases).
1064    
1065     * src/files.c, src/functions.h:
1066     Remove the delete option from UnmapFile() and make it return NULL.
1067    
1068     * src/filedumper.c: Allow dumping all nodes, segments or ways.
1069    
1070     2009-09-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1071    
1072     * src/nodesx.c: Don't re-sort unnecessarily.
1073    
1074     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/superx.c:
1075     Improve slim mode for nodes so that no data is not loaded into RAM at all.
1076    
1077     * src/files.c, src/functions.h: Add some more file functions.
1078    
1079     2009-09-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1080    
1081     * src/nodesx.c, src/files.c, src/functions.h:
1082     Remove extra argument from MapFile function.
1083    
1084     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/superx.c:
1085     Added slim mode (--slim) to planetsplitter for nodes only.
1086    
1087     * src/files.c, src/functions.h:
1088     Changes to mapping and unmapping files for slim mode.
1089    
1090     2009-08-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1091    
1092     * src/planetsplitter.c: Revert the order that the functions are called.
1093    
1094     * src/nodesx.c: Fix for assert statement.
1095    
1096     * src/files.c: Bug fix for mmap().
1097    
1098     2009-08-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1099    
1100     * src/osmparser.c: Fix bug with memory allocation.
1101    
1102     2009-08-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1103    
1104     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1105     src/superx.c, src/waysx.c, src/waysx.h:
1106     Remove "sorted" parameter in data structure and change assert statements.
1107    
1108     2009-08-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1109    
1110     * src/router.c:
1111     Increase to 99 the number of waypoints that can be specified.
1112    
1113     2009-08-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1114    
1115     * src/queue.c: Fix comment.
1116    
1117     * src/Makefile:
1118     Tidy the compilation options to make it easier to turn them on and off.
1119    
1120     * src/router.c:
1121     Remove the --all, --super and --no-output command line options.
1122     Handle the renamed routing functions.
1123    
1124     * src/functions.h, src/optimiser.c:
1125     Rename the routing functions and make FindRoute only find routes with no
1126     super-nodes in them.
1127    
1128     * src/queue.c:
1129     When popping from queue make sure that place in queue is cleared.
1130    
1131     * src/optimiser.c, src/queue.c, src/results.c, src/results.h, src/superx.c:
1132     Optimise the priority queue used for routing.
1133    
1134     * src/filedumper.c: Fix dumping nodes when they are super-nodes.
1135    
1136     2009-07-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1137    
1138     * src/Makefile, src/optimiser.c, src/results.c, src/results.h, src/superx.c:
1139     Split off queue functions into a separate file.
1140    
1141     * src/queue.c: New file.
1142    
1143     2009-07-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1144    
1145     * src/nodesx.c, src/segments.h, src/segmentsx.c, src/ways.h, src/waysx.c, src/filedumper.c,
1146     src/nodes.h:
1147     Include the number of super-nodes, super-segments etc in the database as useful
1148     information to put in the statistics output.
1149    
1150     * src/superx.c: Fix incorrect progress indicator message.
1151    
1152     * src/waysx.c: Fix problem with memory reallocation.
1153    
1154     * src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1155     src/superx.c:
1156     Store only one copy of each segment but index once for each direction.
1157    
1158     2009-07-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1159    
1160     * src/functionsx.h, src/nodesx.c, src/nodesx.h, src/osmparser.c, src/output.c,
1161     src/planetsplitter.c, src/profiles.c, src/results.c, src/segments.c, src/segmentsx.c,
1162     src/segmentsx.h, src/superx.c, src/superx.h, src/ways.h, src/waysx.c, src/waysx.h:
1163     Tidy up and fix comments and include files.
1164    
1165     * src/osmparser.c, src/planetsplitter.c, src/router.c, src/segmentsx.c, src/superx.c,
1166     src/waysx.c, src/filedumper.c, src/nodesx.c, src/optimiser.c:
1167     Check all print statements and made them more consistent and/or accurate.
1168    
1169     2009-07-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1170    
1171     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/waysx.c,
1172     src/waysx.h:
1173     Free memory at the end of planetsplitter (to aid finding potential leaks
1174     earlier).
1175    
1176     2009-07-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1177    
1178     * src/segmentsx.c: Free memory correctly (really).
1179    
1180     * src/planetsplitter.c, src/waysx.c, src/waysx.h:
1181     Separate the sorting of Ways from compacting of Ways.
1182    
1183     * src/nodes.h, src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/visualiser.c,
1184     src/filedumper.c, src/nodes.c:
1185     Rename structure members after recent changes.
1186    
1187     * src/segmentsx.c: Free memory correctly.
1188    
1189     * src/types.h, src/segmentsx.c: Fix duplicate checking.
1190    
1191     * src/planetsplitter.c: Ensure that variable is reset before using it.
1192    
1193     * src/types.h, src/visualiser.c, src/visualiser.h, src/filedumper.c, src/nodes.c,
1194     src/nodes.h, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c, src/output.c,
1195     src/router.c, src/segments.c, src/segments.h, src/segmentsx.c:
1196     Change from float to double for latitude and longitude.
1197     Store latitude and longitude as an integer type rather than float (higher precision).
1198    
1199     2009-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1200    
1201     * src/superx.c: Ensure that variable is reset before using it.
1202    
1203     2009-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1204    
1205     * src/visualiser.c:
1206     Print all super-segments within and crossing the border.
1207     Don't display speed limits for tracks and paths unless set.
1208    
1209     2009-07-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1210    
1211     * src/segmentsx.h, src/superx.c, src/waysx.c, src/waysx.h:
1212     Change data structure to avoid calling realloc() each time to allocate more
1213     memory.
1214    
1215     2009-07-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1216    
1217     * src/types.h, src/waysx.c, src/waysx.h:
1218     Handle duplicate ways.
1219    
1220     * src/nodes.c, src/nodesx.c, src/planetsplitter.c, src/profiles.c, src/results.c,
1221     src/segments.c, src/segmentsx.c, src/superx.c, src/superx.h, src/types.h, src/ways.c,
1222     src/waysx.c:
1223     Fix some gcc pedantic warnings.
1224    
1225     * src/files.c, src/nodesx.c, src/osmparser.c, src/results.c, src/router.c, src/segments.c,
1226     src/segmentsx.c, src/superx.c, src/ways.c, src/waysx.c:
1227     Removed unused header files, change assert statements, tidy some code.
1228    
1229     2009-07-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1230    
1231     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
1232     Remove the Node structure from the NodeX structure to save memory.
1233    
1234     * src/filedumper.c:
1235     Print latitude and longitude in degrees.
1236    
1237     2009-06-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1238    
1239     * src/segmentsx.h:
1240     Re-order the data in the structure.
1241    
1242     * src/nodesx.c, src/nodesx.h, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c,
1243     src/segmentsx.h, src/superx.c, src/waysx.h:
1244     Remove the Segment structure from the SegmentX structure to save memory.
1245    
1246     2009-06-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1247    
1248     * src/filedumper.c, src/nodes.h, src/nodesx.c, src/segments.c, src/segments.h,
1249     src/segmentsx.c, src/superx.c, src/types.h:
1250     Move the super-segment and normal-segment flags from the nodes to the distance.
1251     Remove the NODE() macro and rename SUPER_FLAG to NODE_SUPER.
1252    
1253     * src/waysx.c: Replace memmove with structure copy.
1254    
1255     * src/nodesx.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
1256     Rename SegmentsX sdata to ndata.
1257    
1258     2009-06-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1259    
1260     * src/waysx.c, src/waysx.h: Rename part of the structure.
1261    
1262     * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1263     src/superx.c, src/waysx.h:
1264     Undo part of the previous change - only update the Segment way index at the end.
1265    
1266     * src/waysx.h, src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c,
1267     src/segmentsx.h, src/superx.c, src/superx.h, src/typesx.h, src/waysx.c:
1268     Reduce the number of ways in the output by compacting them (sharing the same
1269     information between identical ways).
1270    
1271     2009-06-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1272    
1273     * src/filedumper.c, src/nodes.h:
1274     Allow dumping out of nodes, segments and ways.
1275    
1276     2009-06-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1277    
1278     * src/segmentsx.c, src/superx.c, src/visualiser.c, src/ways.c, src/ways.h:
1279     Rename WaysSame() with WaysCompare() and reverse the sense of the output.
1280    
1281     * src/functionsx.h, src/typesx.h: New file.
1282    
1283     * src/functions.h, src/nodesx.h, src/osmparser.c, src/planetsplitter.c, src/segmentsx.h,
1284     src/superx.h, src/types.h, src/waysx.h:
1285     Put some of types.h into typesx.h (for extended data types).
1286     Put some of functions.h into functionsx.h (for OSM parser).
1287     Change included files to match.
1288    
1289     * src/filedumper.c, src/osmparser.c, src/output.c, src/router.c, src/types.h, src/visualiser.c:
1290     Add a macro for converting degrees to radians and radians to degrees.
1291    
1292     * src/optimiser.c:
1293     Fix weight, height, width, length restriction routing.
1294    
1295     * doc/TAGGING.txt, src/osmparser.c:
1296     Recognise tags "vehicle" and "motor_vehicle".
1297    
1298 amb 570 2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1299    
1300     Version 1.1 released
1301    
1302     2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1303    
1304     * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h:
1305     Handle nodes that are missing from the .osm file (ignore the segment).
1306    
1307     * src/nodesx.c:
1308     Revert the last change (Print an error message and exit if a node cannot be found).
1309    
1310     * doc/NEWS.txt: New file.
1311    
1312     * src/Makefile:
1313     Delete the executables from the web directory for 'distclean'.
1314    
1315     2009-06-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1316    
1317     * doc/USAGE.txt, doc/INSTALL.txt, doc/README.txt:
1318     Update the documentation.
1319    
1320     * src/Makefile: Copy the executables into the web directory.
1321    
1322     2009-06-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1323    
1324     * src/filedumper.c: Change help text.
1325    
1326     * src/visualiser.c:
1327     Change format of super-node/segment visualiser output.
1328    
1329     2009-06-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1330    
1331     * doc/TAGGING.txt: Updated with imperial to metric conversions.
1332    
1333     * src/Makefile: Added visualiser.c.
1334    
1335     * src/filedumper.c: Now used for data visualisation and statistics.
1336    
1337     * src/visualiser.h, src/visualiser.c: New file.
1338    
1339     2009-06-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1340    
1341     * src/osmparser.c:
1342     Improve parsing of imperial units (mph, feet & inches).
1343    
1344     2009-06-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1345    
1346     * src/nodesx.c:
1347     Print an error message and exit if a node cannot be found.
1348    
1349     2009-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1350    
1351     * src/ways.c, src/ways.h, src/waysx.c, src/waysx.h:
1352     Move function from waysx.c to ways.c.
1353    
1354     2009-05-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1355    
1356     * doc/USAGE.txt:
1357     Update usage information with new options and copyright.txt usage.
1358    
1359     * src/nodes.c, src/nodes.h, src/router.c:
1360     Make sure that the chosen "nearest point" is a highway that the profile allows.
1361    
1362     2009-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1363    
1364     * src/profiles.c:
1365     Change the default profile; horses are slower, bicycles may be allowed on
1366     footways (and similar).
1367    
1368     2009-05-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1369    
1370     * src/files.c, src/output.c:
1371     Error checking on opening files (to read/write data and to write output).
1372    
1373     2009-05-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1374    
1375     * src/output.c, src/results.c, src/router.c, src/segments.c, src/segmentsx.c, src/superx.c,
1376     src/types.h, src/nodes.c, src/nodesx.c, src/optimiser.c:
1377     Replace ~0 or 0 with NO_NODE value for "no node" condition.
1378    
1379     2009-05-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1380    
1381     * src/output.c:
1382     Remove one more NODE macro and fix an output formatting error.
1383    
1384     * src/nodes.c, src/nodes.h, src/optimiser.c, src/output.c, src/router.c:
1385     Remove some node macros, change some node function arguments.
1386    
1387     * src/optimiser.c, src/profiles.c, src/profiles.h:
1388     Move some common code into the profile.
1389    
1390     * src/superx.c: Remove distance and duration from Result structure.
1391    
1392     * src/output.c: Better junction detection.
1393    
1394     * src/optimiser.c, src/results.c, src/results.h:
1395     Remove distance and duration from Result structure.
1396    
1397     2009-05-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1398    
1399     * src/output.c:
1400     Add better junction detection for deciding on route waypoints.
1401    
1402     2009-05-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1403    
1404     * src/optimiser.c, src/profiles.c, src/profiles.h, src/types.h:
1405     Route using preferences for each highway.
1406    
1407     * src/router.c: Print out longitude then latitude.
1408    
1409     2009-04-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1410    
1411     * src/results.h, src/router.c, src/superx.c, src/types.h, src/optimiser.c, src/osmparser.c,
1412     src/planetsplitter.c, src/profiles.c, src/profiles.h, src/results.c:
1413     First attempt at preferences for highways - uses integer arithmetic and doesn't
1414     work well.
1415    
1416     2009-04-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1417    
1418     * src/functions.h, src/optimiser.c, src/output.c, src/results.c, src/results.h, src/router.c:
1419     Allow generating a route with intermediate waypoints.
1420    
1421     2009-04-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1422    
1423     * src/functions.h, src/output.c, src/router.c:
1424     Split the output functions into separate head/body/tail.
1425     Read in an optional copyright.txt file and include contents in output.
1426    
1427     2009-04-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1428    
1429     * src/profiles.c: Improve Javascript and perl print out.
1430    
1431     * src/filedumper.c, src/files.c, src/functions.h, src/planetsplitter.c, src/router.c:
1432     Move the filename generation to a new function.
1433    
1434     2009-04-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1435    
1436     * src/Makefile, src/functions.h, src/optimiser.c:
1437     Split the function to print the output into a new file.
1438    
1439     * src/output.c: New file.
1440    
1441     2009-04-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1442    
1443     * src/osmparser.c:
1444     Fix for parsing nodes from XML (no effect on results).
1445    
1446     2009-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1447    
1448     * doc/USAGE.txt, src/optimiser.c:
1449     Create a GPX route as well as a track.
1450    
1451     * src/ways.c: Changed the license to Affero GPLv3.
1452    
1453     2009-04-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1454    
1455     * src/optimiser.c:
1456     Add a waypoint to the GPX file for the start and finish points.
1457    
1458     * doc/USAGE.txt:
1459     Include more information about the output file formats.
1460    
1461 amb 568 2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1462    
1463     Version 1.0 released
1464    
1465     2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1466    
1467     * Makefile: New file.
1468    
1469     * src/Makefile: Fix dependency file generation.
1470    
1471     * doc/USAGE.txt, doc/TAGGING.txt, doc/README.txt, doc/INSTALL.txt, doc/ALGORITHM.txt:
1472     New file.
1473    
1474     * src/Makefile, src/filedumper.c, src/files.c, src/functions.h, src/nodes.c, src/nodes.h,
1475     src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c,
1476     src/profiles.c, src/profiles.h, src/results.c, src/results.h, src/router.c, src/segments.c,
1477     src/segments.h, src/segmentsx.c, src/segmentsx.h, src/superx.c, src/superx.h, src/types.h,
1478     src/ways.h, src/waysx.c, src/waysx.h:
1479     Changed the license to Affero GPLv3.
1480    
1481     2009-04-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1482    
1483     * src/planetsplitter.c: Remove the --help-profile command line option.
1484    
1485     2009-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1486    
1487     * src/optimiser.c:
1488     Fix file headers (again) and fix segment distance/duration for abbreviated text
1489     output.
1490    
1491     2009-03-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1492    
1493     * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
1494     Added highway=path; defaults to foot=yes but also is defaulted for bicycle and
1495     horse transport.
1496    
1497     2009-03-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1498    
1499     * src/optimiser.c: Fixed the header in the output text files.
1500    
1501     * src/osmparser.c:
1502     Add parsing for *=designated allowing passage along a highway.
1503    
1504     * src/profiles.h, src/router.c, src/profiles.c:
1505     Add a function to output default profiles as perl data structures.
1506    
1507     2009-03-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1508    
1509     * src/nodesx.c:
1510     Handle duplicated nodes (e.g. from concatenated input files).
1511    
1512     * src/optimiser.c: Add a header to the output text files.
1513    
1514     2009-03-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1515    
1516     * src/optimiser.c:
1517     Renamed the *.txt output to *-all.txt and added a new shorted *.txt output.
1518    
1519     * src/router.c: Renamed the --no-print option to --no-output.
1520    
1521     2009-03-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1522    
1523     * src/nodes.c: Fix bug with finding nearest node.
1524    
1525     2009-03-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1526    
1527     * src/superx.c: Fix the merging of super-segments.
1528    
1529     2009-03-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1530    
1531     * src/profiles.c, src/profiles.h:
1532     Added more limits (weight, height, width, length).
1533    
1534     * src/segments.c: Use the lower speed from the profile and the way.
1535    
1536     * src/osmparser.c: Added more limits (weight, height, width, length).
1537     Added highway=living_street and highway=services.
1538    
1539     * src/ways.c, src/ways.h, src/optimiser.c, src/router.c, src/segmentsx.c, src/superx.c,
1540     src/types.h:
1541     Added more limits (weight, height, width, length).
1542    
1543     * src/waysx.c, src/waysx.h:
1544     Added a function to test if two ways are the same.
1545    
1546     2009-02-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1547    
1548     * src/nodesx.c:
1549     Round the node location to avoid if falling into the wrong bin.
1550    
1551     * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/waysx.c:
1552     Move print statements from planetsplitter into individual functions.
1553    
1554     * src/Makefile: Compile with optimisation and no profiling.
1555    
1556     * src/profiles.c, src/router.c:
1557     Add new command line options to make it more CGI friendly.
1558    
1559     2009-02-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1560    
1561     * src/profiles.c, src/profiles.h, src/router.c:
1562     Print out Javascript code containing the profiles.
1563    
1564     2009-02-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1565    
1566     * src/segmentsx.h, src/superx.c, src/nodesx.c, src/segments.c, src/segments.h,
1567     src/segmentsx.c:
1568     Remove segment->next1 since it always points at the next segment or nowhere.
1569    
1570     * src/profiles.c: Remove track from valid types for most transports.
1571    
1572     2009-02-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1573    
1574     * src/functions.h, src/optimiser.c, src/router.c:
1575     Change some function names.
1576    
1577     * src/osmparser.c: Add in tests for motorcar=1 etc.
1578    
1579     * src/nodes.c, src/nodes.h, src/router.c:
1580     The search to find a node given the lat/long now searches harder.
1581    
1582     * src/optimiser.c: Better test for failing to find a route.
1583    
1584     * src/router.c: Change --only-super to --super.
1585    
1586     * src/nodesx.c, src/optimiser.c, src/osmparser.c, src/router.c, src/segments.c,
1587     src/segmentsx.c, src/types.h, src/nodes.c:
1588     Store radians rather than degrees.
1589    
1590     * src/segments.c, src/segmentsx.c:
1591     Change to sinf(), cosf(), sqrtf(), asinf() functions.
1592    
1593     * src/optimiser.c:
1594     Set the sortby parameter to the minimum distance/duration consistent with the
1595     travelled distance/duration and the remaining straight line distance with the
1596     fastest possible speed.
1597    
1598     * src/filedumper.c, src/nodes.c, src/nodes.h, src/nodesx.c, src/types.h:
1599     Add macros for handling lat/long to bin conversions.
1600    
1601     * src/osmparser.c: Handle oneway=1 and oneway=-1.
1602    
1603     2009-02-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1604    
1605     * src/results.c, src/results.h:
1606     Added a new 'sortby' entry to the Result.
1607     Changed node_t to index_t.
1608    
1609     * src/router.c: Changed node_t to index_t.
1610    
1611     * src/nodes.c, src/segments.c, src/segments.h:
1612     Change the Distance() function to return distance_t.
1613    
1614     2009-02-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1615    
1616     * src/optimiser.c, src/results.c, src/results.h, src/router.c, src/superx.c:
1617     Calculate quickest or shortest, not both.
1618    
1619     * src/optimiser.c, src/profiles.c, src/router.c:
1620     Give appropriate error messages if start or end of route are not possible.
1621    
1622     2009-02-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1623    
1624     * src/results.c:
1625     Slight speedup by doing a linear search when looking up results and not storing
1626     in sorted order.
1627    
1628     * src/superx.h, src/superx.c, src/waysx.h, src/waysx.c, src/segmentsx.h, src/segmentsx.c,
1629     src/nodesx.h, src/nodesx.c:
1630     New file.
1631    
1632     * src/ways.h, src/Makefile, src/filedumper.c, src/functions.h, src/nodes.c, src/nodes.h,
1633     src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c, src/segments.c,
1634     src/segments.h, src/types.h, src/ways.c:
1635     Split the extended data types from the normal data types.
1636    
1637     * src/nodes.c: Return NULL if the node cannot be found.
1638    
1639     * src/Makefile, src/filedumper.c, src/optimiser.c, src/router.c:
1640     Add new command line options.
1641    
1642     * src/supersegments.c: Fix some status messages.
1643    
1644     * src/optimiser.c, src/types.h: Routing works with super-nodes now.
1645    
1646     2009-02-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1647    
1648     * src/ways.c, src/segments.c, src/segments.h, src/supersegments.c, src/types.h, src/nodes.c,
1649     src/nodes.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/functions.h:
1650     Segments now not duplicated in database.
1651     Routing with all nodes works, not with super-nodes.
1652    
1653     2009-02-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1654    
1655     * src/router.c: Fix usage output.
1656    
1657     * src/ways.c, src/ways.h: Only sort once, don't store the index.
1658    
1659     * src/planetsplitter.c, src/router.c:
1660     Use '--*' command line arguments, not '-*'.
1661    
1662     * src/nodes.c, src/router.c, src/segments.c, src/ways.c:
1663     Make sure that nodes, segments and ways could be loaded.
1664    
1665     * src/nodes.h, src/optimiser.c, src/router.c, src/segments.c, src/segments.h,
1666     src/supersegments.c, src/types.h, src/filedumper.c, src/nodes.c:
1667     Sort the nodes geographically and take coordinates as command line arguments.
1668    
1669     2009-02-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1670    
1671     * src/ways.c, src/ways.h, src/nodes.c, src/nodes.h, src/osmparser.c, src/segments.c,
1672     src/segments.h, src/supersegments.c, src/types.h:
1673     More variable and function name changes.
1674    
1675     2009-02-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1676    
1677     * src/profiles.c, src/router.c, src/segments.c, src/segments.h, src/supersegments.c,
1678     src/ways.c, src/ways.h, src/files.c, src/functions.h, src/nodes.c, src/nodes.h,
1679     src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/filedumper.c:
1680     Rename some variable types.
1681    
1682     2009-01-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1683    
1684     * src/segments.c, src/segments.h, src/supersegments.c, src/types.h, src/ways.c, src/ways.h,
1685     src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/planetsplitter.c,
1686     src/profiles.h, src/router.c:
1687     Intermediate version during code cleanup.
1688    
1689     * src/optimiser.c, src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h,
1690     src/functions.h, src/nodes.h:
1691     Intermediate checkin, routing now working.
1692    
1693     * src/Makefile:
1694     Don't print out anything when creating the dependencies directory.
1695    
1696     * src/planetsplitter.c, src/router.c:
1697     Add command line options to specify the directory and filename prefix.
1698    
1699     2009-01-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1700    
1701     * src/results.c, src/planetsplitter.c: Remove gcc warning.
1702    
1703     * src/Makefile: Move dependencies to subdir.
1704    
1705     * src/osmparser.c: Remove gcc warning.
1706    
1707     2009-01-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1708    
1709     * src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/planetsplitter.c,
1710     src/router.c, src/segments.c, src/segments.h, src/supersegments.c:
1711     Intermediate version while transitioning data format for nodes and segments.
1712    
1713     2009-01-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1714    
1715     * src/Makefile, src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/osmparser.c,
1716     src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.c,
1717     src/ways.h:
1718     Intermediate version while transitioning data format for nodes and segments.
1719    
1720     2009-01-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1721    
1722     * src/Makefile, src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c,
1723     src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h, src/supersegments.c,
1724     src/ways.c, src/ways.h:
1725     Intermediate version while transitioning data format for nodes and segments.
1726    
1727     2009-01-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1728    
1729     * src/osmparser.c, src/planetsplitter.c, src/segments.c, src/segments.h,
1730     src/supersegments.c, src/ways.c, src/ways.h, src/filedumper.c, src/files.c, src/functions.h,
1731     src/optimiser.c:
1732     Change Segment to contain index of way not its real ID.
1733     Don't store the real way ID to save space.
1734    
1735     2009-01-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1736    
1737     * src/segments.c, src/segments.h:
1738     Slightly speed up the Duration calculation by changing the macro.
1739    
1740     * src/osmparser.c, src/profiles.c, src/ways.c, src/ways.h:
1741     Fix misspelling of Unclassified.
1742    
1743     * src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.h,
1744     src/optimiser.c:
1745     Change the segment->way so that it contains the index of the way, not the id.
1746    
1747     * src/profiles.c, src/profiles.h: New file.
1748    
1749     * src/ways.c, src/ways.h, src/Makefile, src/functions.h, src/optimiser.c, src/osmparser.c,
1750     src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h:
1751     Added profiles to define speed and allowed highways.
1752     Added new options to planetsplitter and router to use the profiles.
1753    
1754     2009-01-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1755    
1756     * src/optimiser.c: Changed some variable names for clarity.
1757    
1758     * src/planetsplitter.c: Print more information about progress.
1759     Don't quit until 99.9% unchanged.
1760    
1761     * src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
1762     Change the Results structure so that the real data doesn't need to be realloc().
1763     Add functions to access the first and subsequent elements of the Results structure.
1764    
1765     2009-01-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1766    
1767     * src/osmparser.c, src/planetsplitter.c:
1768     Fix bug with not specifying a method of transport.
1769    
1770     * src/optimiser.c, src/router.c: Proper check that it was unroutable.
1771    
1772     * src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
1773     Remove "iteration" as function argument.
1774    
1775     * src/functions.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c,
1776     src/ways.c, src/ways.h:
1777     Add command line options to planetsplitter and router.
1778     Select transport type (must be allowed on way for parsing).
1779     Select highway types (ignore when parsing or routing).
1780    
1781     * src/ways.h, src/functions.h, src/optimiser.c, src/osmparser.c, src/router.c,
1782     src/segments.c, src/segments.h, src/ways.c:
1783     Add enumerated type Transport.
1784     Replace variables of AllowType with Transport where more appropriate.
1785     Replace AllowType with Allowed.
1786     Replace WayType with Highway.
1787    
1788     * src/osmparser.c: Only include ways that are not Way_Unknown type.
1789    
1790     * src/osmparser.c: Include permissive access.
1791    
1792     * src/functions.h, src/optimiser.c, src/results.c, src/results.h, src/router.c:
1793     Create a large or small results structure depending on how many nodes are
1794     expected.
1795    
1796     2009-01-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1797    
1798     * src/results.h: Increase the number of bins to 64k.
1799    
1800     * src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
1801     Remove INVALID_DISTANCE and INVALID_DURATION.
1802    
1803     * src/optimiser.c, src/osmparser.c, src/supersegments.c, src/ways.c, src/ways.h:
1804     Removed the Way_TYPE() macro.
1805    
1806     * src/results.c, src/results.h, src/optimiser.c:
1807     Move queue functions into results.c.
1808    
1809     * src/filedumper.c, src/nodes.c, src/nodes.h, src/planetsplitter.c, src/router.c:
1810     Nodes, Segments, Ways - Nodes, Segments, Ways.
1811    
1812     * src/filedumper.c, src/nodes.c, src/nodes.h, src/segments.c, src/segments.h, src/ways.c,
1813     src/ways.h:
1814     Remove the choice of indexed or non-indexed data structures.
1815    
1816     2009-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1817    
1818     * src/optimiser.c:
1819     Various small speed-ups including not-reversing direction.
1820    
1821     * src/functions.h, src/optimiser.c, src/osmparser.c, src/router.c, src/segments.c,
1822     src/segments.h, src/supersegments.c, src/ways.c, src/ways.h:
1823     Calculate way speeds at routing time.
1824    
1825     * src/supersegments.c:
1826     Add reverse-oneway segments when creating supernodes.
1827     Check incoming oneway streets as well as outgoing ones.
1828    
1829     * src/osmparser.c: Don't change speed on roundabouts.
1830    
1831     2009-01-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1832    
1833     * src/planetsplitter.c:
1834     Add command line options for skipping parsing and iteration limit.
1835    
1836     * src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
1837     Remove duration from segment, calculate duration depending on speed.
1838    
1839     2009-01-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1840    
1841     * src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
1842     Iteratively calculate the super-segments.
1843    
1844     * src/ways.h: Redefine Way_TYPE() to include one-way status.
1845    
1846     2009-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1847    
1848     * src/optimiser.c, src/supersegments.c:
1849     Fix problems with way-type matching and duplicated/missing super-segments.
1850    
1851     * src/functions.h, src/optimiser.c, src/router.c: Print out a GPX file.
1852    
1853     * src/optimiser.c, src/filedumper.c, src/functions.h, src/planetsplitter.c, src/router.c,
1854     src/segments.c, src/segments.h, src/supersegments.c, src/ways.c, src/ways.h:
1855     Added Super-Ways and allow user to select method of transport.
1856    
1857     * src/segments.c: Fix for changes made to ways.
1858    
1859     * src/supersegments.c:
1860     Ensure that supernodes are inserted wherever the way type changes.
1861    
1862     * src/osmparser.c: Fill in the extra way information.
1863    
1864     * src/ways.h:
1865     Store more information about a way (allowed modes of transport).
1866    
1867     * src/filedumper.c: Fix output printing.
1868    
1869     * src/router.c: Print an error if no route can be found.
1870    
1871     * src/optimiser.c:
1872     Fix bugs when start and/or finish nodes are supernodes.
1873    
1874     2009-01-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1875    
1876     * src/Makefile: Add the option to create assembler output files.
1877    
1878     * src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
1879     Change the contents of the results data structure.
1880    
1881     * src/router.c: Added an option to not print the result.
1882    
1883     2009-01-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1884    
1885     * src/optimiser.c, src/results.h, src/router.c:
1886     Speed optimisation by changing the contents of the Results structure.
1887    
1888     * src/optimiser.c:
1889     Don't bother calculating the distance to go, it takes too long.
1890    
1891     2009-01-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1892    
1893     * src/planetsplitter.c: Remove bad segments and non-way nodes.
1894    
1895     * src/nodes.c, src/nodes.h: Remove nodes which are not in highways.
1896     Fix the sorting and create indexes after sorting, not before saving.
1897    
1898     * src/segments.c, src/segments.h:
1899     Remove bad segments (repeated consecutive nodes and duplicate segments).
1900     Fix the sorting and create indexes after sorting, not before saving.
1901    
1902     * src/supersegments.c: Use invalid distances properly.
1903    
1904     * src/ways.c:
1905     Fix the sort algorithm and update the indexes after sorting, not before saving.
1906    
1907     * src/optimiser.c: Fix the bug with merging the results.
1908     Fix the bug with not clearing the results structure properly.
1909    
1910     * src/osmparser.c:
1911     Add segments that correspond to the wrong way along one-way routes with an
1912     invalid distance.
1913    
1914     2009-01-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1915    
1916     * src/functions.h, src/optimiser.c, src/router.c:
1917     Routes correctly using super-nodes (not Lands End to John O'Groats though).
1918    
1919     * src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c, src/router.c,
1920     src/segments.h, src/supersegments.c:
1921     Replace Junction with SuperNode.
1922    
1923     * src/nodes.c, src/nodes.h, src/segments.h, src/ways.c, src/ways.h:
1924     Some small changes to the nodes, segments and ways functions.
1925    
1926     * src/Makefile, src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c,
1927     src/results.h, src/router.c, src/segments.c, src/segments.h, src/supersegments.c:
1928     Working version with supersegments and junctions.
1929    
1930     2009-01-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1931    
1932     * src/ways.c, src/ways.h, src/osmparser.c, src/segments.c:
1933     Store more information about ways.
1934    
1935     * src/results.h, src/results.c: New file.
1936    
1937     * src/Makefile, src/optimiser.c:
1938     Move the results data type into new files.
1939    
1940     * src/nodes.h, src/segments.h, src/ways.h:
1941     Increase the increment for the indexed array case.
1942    
1943     * src/ways.h, src/Makefile, src/filedumper.c, src/functions.h, src/nodes.c, src/nodes.h,
1944     src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c, src/segments.c,
1945     src/segments.h, src/supersegments.c, src/ways.c:
1946     About to add the super-segment functionality using Segments data type to hold
1947     them.
1948    
1949     * src/functions.h, src/types.h:
1950     Changed after nodes, ways and segment changes.
1951    
1952     2009-01-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1953    
1954     * src/segments.h: New file.
1955    
1956     * src/segments.c:
1957     Changed the format of the segments data type to match the nodes.
1958    
1959     * src/nodes.h: Enable indexed arrays.
1960    
1961     * src/ways.h: New file.
1962    
1963     * src/ways.c:
1964     Changed the format of the ways data type to match the nodes.
1965    
1966     * src/nodes.c, src/nodes.h:
1967     Changed the format of the nodes data type again.
1968    
1969     2009-01-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1970    
1971     * src/nodes.h: New file.
1972    
1973     * src/nodes.c: Lots of modifications:
1974     Two data structures - in memory (pointers) and in file (array).
1975     Data is hashed into multiple bins.
1976     Each function takes a nodes structure as an argument.
1977    
1978     2009-01-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1979    
1980     * src/supersegments.c: New file.
1981    
1982     * src/Makefile, src/filedumper.c, src/functions.h, src/planetsplitter.c, src/types.h:
1983     Added SuperSegments data type, but it does nothing yet.
1984    
1985     * src/optimiser.c:
1986     Tried to optimise the Queue data type. It was slower than the original.
1987    
1988     2009-01-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1989    
1990     * src/filedumper.c: Print out the longest segment.
1991    
1992     * src/optimiser.c:
1993     Some optimisations. Increase the number of result bins and change
1994     find_insert_result() into insert_result().
1995    
1996     2009-01-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1997    
1998     * src/optimiser.c: Introduced some new data types to simplify the code.
1999    
2000     * src/filedumper.c: Print more useful information.
2001    
2002     * src/segments.c, src/types.h, src/ways.c, src/filedumper.c, src/functions.h, src/nodes.c,
2003     src/optimiser.c, src/osmparser.c, src/planetsplitter.c:
2004     Changed the node, way and segment functions and data types.
2005     Removed 'alloced', shortened the prototype array.
2006     Remove the automatic sorting of the data.
2007     Added assert statements.
2008    
2009     2009-01-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2010    
2011     * src/ways.c: New file.
2012    
2013     * src/router.c, src/types.h, src/Makefile, src/filedumper.c, src/functions.h,
2014     src/optimiser.c, src/osmparser.c, src/planetsplitter.c:
2015     Added the ways to the output.
2016    
2017     2009-01-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2018    
2019     * src/optimiser.c, src/osmparser.c, src/segments.c, src/types.h:
2020     Added macros to convert between distance/km and duration/hours/minutes.
2021     Shortened the Segment data type with shorter distances and durations.
2022    
2023     2009-01-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2024    
2025     * src/functions.h, src/nodes.c, src/planetsplitter.c, src/segments.c, src/types.h:
2026     Remove the functions to initialise the node and segment arrays.
2027    
2028     * src/optimiser.c, src/router.c, src/Makefile: Print out the results.
2029    
2030     2008-12-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2031    
2032     * src/types.h, src/segments.c, src/router.c, src/planetsplitter.c, src/osmparser.c,
2033     src/optimiser.c, src/nodes.c, src/functions.h, src/files.c, src/filedumper.c, src/Makefile:
2034     New file.
2035