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