1 2010-11-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
5 2010-11-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
7 * doc/NEWS.txt, doc/README.txt: Updated for version 1.5.1.
9 * doc/USAGE.txt: Update program usage for new logging option.
11 * xml/routino-translations.xml:
12 Add translation for ferry into German (patch from Michael Günnewig).
14 * src/relationsx.c: Fix bug with relation processing.
16 * src/logging.h: Add GCC attributes for the logging functions.
18 * src/logging.h, src/logging.c: New file.
20 * src/Makefile, src/nodesx.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c,
21 src/relationsx.c, src/router.c, src/segmentsx.c, src/superx.c, src/tagmodifier.c,
23 Add an option to make the output more suitable for a log file.
25 2010-10-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
28 Ensure that enough memory gets allocated in FileName() function.
30 2010-10-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
34 2010-10-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
36 * doc/README.txt, doc/NEWS.txt: Updated for version 1.5.
38 2010-10-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
41 Use sqrt() function to reduce the effect of property preferences close to 50%.
42 Ensure that preferences cannot equal zero (error on division).
44 * doc/ALGORITHM.txt, doc/INSTALL.txt, doc/USAGE.txt:
45 Updated with information about the new features.
47 * doc/CONFIGURATION.txt, doc/TAGGING.txt:
48 Add in the footroute and bicycleroute configuration options and route relation
51 2010-10-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
53 * src/files.c: Fixed some comments for recent changes.
55 2010-10-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
57 * xml/routino-profiles.xml:
58 Add footroute and bicycleroute to the profiles.
60 * src/files.c, src/files.h, src/relationsx.c:
61 The ReOpenFile() function cannot be read/write because it stops the router
62 running with read-only access to the database.
64 * src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/superx.c:
65 Fix previous check-in on this set of files.
67 * src/xmlparse.l: Ensure that comparisons are made with unsigned chars.
69 2010-10-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
71 * src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/superx.c:
72 Don't try mapping a file if it is zero length (e.g. no super-segments).
74 * src/files.c, src/files.h, src/relationsx.c:
75 Add a function to map a file writeable and use it for updating the ways when
76 processing route relations.
79 Avoid self-recursion and adding route information to relations that already have
82 2010-09-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
84 * src/osmparser.c, src/relationsx.c, src/relationsx.h, src/waysx.h:
85 Apply the route=bicycle or route=foot tags from the relation to all ways
86 contained in it and to all ways in all sub-relations of it (including recursion
87 to depth 5). This requires all relations to be stored even if not routes
88 because they might be included by another relation that is.
90 * src/segmentsx.c: Don't sort the (super-)segments if there are none.
92 * src/nodesx.c, src/functions.h, src/sorting.c:
93 Rename the heapsort() function to filesort_heapsort().
95 2010-09-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
97 * src/files.c, src/files.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
98 Change the names of the functions used to open files, change the ReOpen function
101 * src/relationsx.c: Remove the sorting of the route relations.
103 2010-09-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
105 * src/nodesx.c, src/segmentsx.c:
106 Zero the NodesFile and SegmentsFile data structures before writing them (zeros
109 * src/planetsplitter.c, src/waysx.c, src/waysx.h:
110 Split the sorting of waysx from the compacting so that the route relation
111 information can be included before compacting.
113 * xml/routino-tagging.xml, src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
114 Parse relations and extract foot and bicycle routes to be added as properties to
117 * src/types.c, src/types.h: Add footroute and bicycleroute properties.
119 * src/relationsx.c, src/relationsx.h: New file.
121 * src/typesx.h, src/Makefile:
122 Add files and datatypes for processing relations.
124 * xml/routino-tagging-nomodify.xml, xml/routino-tagging.xsd, src/tagging.c:
125 Process tags for relations.
127 2010-09-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
129 * src/waysx.c, src/segmentsx.c, src/nodesx.c:
130 Fix the comment for the Append...() function.
132 2010-09-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
134 * xml/routino-profiles.xml, xml/routino-tagging.xml, xml/routino-translations.xml,
135 src/output.c, src/translations.c, src/types.c, src/types.h:
136 Add routing on ferries.
138 * src/filedumper.c, src/planetsplitter.c, src/router.c:
139 Bug fix for last change.
141 * src/filedumper.c, src/planetsplitter.c, src/router.c:
142 Improve the usage information to tell which command line argument was in error.
145 Fix --help-profile-perl option and make perl and JSON outputs more pretty.
147 * src/router.c, src/planetsplitter.c:
148 Usage message has wrong option name.
151 Fix last change to make UTF-8 parsing more strict, also added strict conversion
152 to XML-safe character references.
154 * src/translations.c:
155 Convert translations read from file into XML-safe encodings before using them.
157 * src/output.c: HTML file has UTF-8 meta-tag.
159 * xml/routino-translations.xml:
160 Revert to UTF-8 multi-byte representations instead of character references.
162 2010-09-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
164 * src/xmlparse.l: Stricter checking on XML data (Unicode).
166 2010-09-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
168 * xml/Makefile, src/Makefile, doc/Makefile, Makefile:
169 Move all of the installation pathnames to the top level Makefile and include it
170 into the lower level makefiles.
172 * src/planetsplitter.c, src/router.c, src/tagmodifier.c:
173 Use the installed tagging.xml, profiles.xml or translations.xml files as the
174 fallback option if no other given.
176 2010-09-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
178 * xml/routino-translations.xml:
179 Change German translations from named HTML character encodings to numeric ones
180 (works in GPX files as well as HTML).
182 * xml/routino-translations.xml:
183 Added Dutch translations (from Jan Jansen).
185 2010-08-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
187 * xml/routino-translations.xml:
188 Change German translation to UTF-8, add comments indicating the origin of the
191 * xml/routino-tagging-nomodify.xml:
192 Relation rules are not allowed at all.
194 * xml/Makefile, src/Makefile, doc/Makefile, Makefile:
195 Added 'install' to top level (and lower) Makefiles.
197 * src/ways.h, src/output.c:
198 Change the names of the functions used to get the highway names.
201 Only print the way name in OSM output when the way has a name.
202 Change the names of the functions used to get the highway names.
204 * src/profiles.c: Fix bug with writing out JSON profile information.
206 2010-08-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
208 * src/ways.h, src/output.c:
209 Change the names of the functions used to get the highway names.
212 Only print the way name in OSM output when the way has a name.
213 Change the names of the functions used to get the highway names.
215 * src/profiles.c: Fix bug with writing out JSON profile information.
217 2010-08-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
219 * src/output.c, src/segmentsx.c, src/types.h, src/fakes.c, src/functions.h, src/nodesx.c,
221 Change the way that fake nodes and segments are recognised (allows nearly 4G
222 nodes to be stored instead of 2G nodes).
224 2010-08-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
226 * src/filedumper.c, src/nodes.h, src/nodesx.c, src/optimiser.c, src/types.h:
227 Rename the variables that hold the node allowed transports and flags.
229 2010-08-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
231 * xml/routino-tagging-nomodify.xml, xml/routino-tagging.xml, xml/routino-tagging.xsd,
232 src/filedumper.c, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c,
233 src/superx.c, src/tagging.c, src/types.h:
234 Understand node traffic type restrictions.
236 2010-07-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
238 * src/profiles.h, src/types.c, src/types.h, src/ways.h, src/waysx.c:
239 Rename the wayallow_t type to allow_t (since it applies to nodes as well now).
241 * src/filedumper.c, src/nodes.h, src/nodesx.c, src/segmentsx.c, src/types.h:
242 Add extra information to a node to store turn restrictions and properties.
243 (Move the super-node bit from the first segment to here.)
245 * src/nodesx.c, src/segmentsx.c, src/waysx.c:
246 Assert if the number of nodes, segments or ways exceeds the legal range of the
249 * src/nodes.h, src/nodesx.h, src/segments.h, src/segmentsx.h, src/ways.h, src/waysx.h:
250 Change the data types to index_t where they are counting nodes/segments/ways.
252 * src/nodes.h, src/nodesx.h, src/segments.h, src/segmentsx.h, src/ways.h, src/waysx.c,
254 Ensure that seeking within a file uses a 64-bit offset.
256 * src/nodesx.c, src/segmentsx.c, src/superx.c, src/waysx.c:
257 Remove the assert statements that check the order of calling the functions.
259 2010-07-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
261 * src/filedumper.c, src/nodes.c, src/nodes.h, src/visualiser.c:
262 Final part of slim mode for the router (node offsets).
264 2010-07-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
266 * src/nodesx.c, src/segmentsx.c, src/waysx.c:
267 Some tidying up of the writing of the file headers.
269 * src/ways.c, src/ways.h, src/waysx.c, src/filedumper.c, src/nodes.c, src/optimiser.c,
270 src/output.c, src/profiles.c, src/visualiser.c:
271 Finished slim mode for the router by adding ways.
273 2010-07-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
275 * src/filedumper.c, src/nodes.c, src/nodes.h, src/output.c, src/segments.c, src/segments.h,
277 Added slim mode to the router for segments.
279 * src/Makefile: Add the fakes.c file.
281 * src/optimiser.c, src/results.c, src/results.h:
282 Change the results structure to hold the index of the segment instead of a
285 * src/types.h, src/router.c, src/functions.h:
286 Move the fake nodes and segments to a new file.
288 * src/fakes.c: New file.
290 2010-07-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
292 * xml/routino-profiles.xml:
293 Reduce the "multilane" preference for motor vehicles. Gives too much bias with
296 2010-07-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
298 * src/Makefile, src/filedumper.c, src/nodes.c, src/nodes.h, src/nodesx.c, src/visualiser.c:
299 Added a slim mode to the router (just for nodes to start with).
301 2010-07-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
303 * src/segmentsx.h, src/superx.c, src/waysx.c, src/waysx.h, src/Makefile, src/nodesx.c,
304 src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
305 Replaced the runtime selection of slim mode / non-slim mode with compile time
306 selection that gives no runtime overhead but gives two executables.
308 2010-07-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
310 * src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/segmentsx.h, src/waysx.c, src/waysx.h:
311 Move the functions for slim mode out into the header file and make it inline.
313 2010-07-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
315 * src/files.h: New file.
317 * src/segmentsx.h, src/sorting.c, src/superx.c, src/tagging.c, src/tagmodifier.c,
318 src/translations.c, src/ways.c, src/waysx.c, src/waysx.h, src/filedumper.c, src/files.c,
319 src/functions.h, src/nodes.c, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/output.c,
320 src/planetsplitter.c, src/profiles.c, src/router.c, src/segments.c, src/segmentsx.c:
321 Create a files.h header and put some of the most heavily used files.c functions
322 into it and make them inline.
324 2010-07-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
326 * src/segmentsx.c, src/segmentsx.h, src/files.c, src/nodesx.c, src/nodesx.h:
327 Made the planetsplitter slim mode handle the output node and segment data in a
328 slim way as well as in the input data.
330 * src/nodesx.c, src/segmentsx.c, src/waysx.c:
331 Change the names of the temporary files.
333 2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
335 Version 1.4.1 released
337 2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
339 * doc/NEWS.txt: Update NEWS for release.
342 Update documentation for slight modification to algorithm, also add more
343 information about how preferences etc are handled.
345 2010-07-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
348 Default compilation flags include optimisation and not debugging symbols.
350 2010-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
353 Fix error with finding closest segment to the specified point.
356 Bug fix for not crashing when finding the middle part of the route.
358 2010-07-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
360 * src/results.c, src/optimiser.c:
361 Changed the amount of memory allocated for intermediate results => routes much
364 * src/output.c: Remove compilation warning.
367 Copy files to web directory like done in other Makefiles.
370 Change location of HTML files in web directory and clean up web directory on distclean.
372 * src/xml/Makefile: Stop message being printed when make runs.
375 Fix error from last checkin and clean up web directory on distclean.
377 2010-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
380 Don't crash if the middle part of the route can't be found but exit cleanly.
382 2010-07-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
384 * src/superx.c: Change the algorithm used to determine supernodes.
386 2010-07-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
388 * xml/routino-translations.xml:
389 Added German translation [patch from Christoph Eckert].
391 * src/translations.c:
392 Don't crash if more than one language is in translations.xml but --language
395 2010-06-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
397 * src/router.c: Don't crash if start and finish are the same point.
399 2010-06-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
401 * doc/DATA.txt: New file.
403 * doc/ALGORITHM.txt, doc/CONFIGURATION.txt, doc/INSTALL.txt, doc/OUTPUT.txt, doc/README.txt,
404 doc/TAGGING.txt, doc/USAGE.txt:
405 Updated documentation to match new web site.
407 * doc/Makefile: New file.
409 * xml/Makefile: Add some new variables.
411 2010-06-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
413 * xml/routino-profiles.xml, xml/routino-tagging-nomodify.xml, xml/routino-tagging.xml,
414 xml/routino-translations.xml, src/translations.c:
415 Changed URLs to http://www.routino.org/
417 * doc/README.txt: *** empty log message ***
419 * doc/OUTPUT.txt: Changed URLs to http://www.routino.org/
421 2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
425 2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
427 * doc/INSTALL.txt, doc/NEWS.txt, doc/README.txt:
428 Update for version 1.4.
430 * src/xml/Makefile: Make sure that distclean really cleans up.
432 * Makefile: Make sure that xml sub-directory is made.
435 Fix the code that should stop routing if no segment is found.
437 2010-05-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
440 Add the planetsplitter tagging rules option (and remove the unnecessary options
441 that it replaces), add the filedumper OSM dump option and add the tagmodifier
444 * doc/TAGGING.txt: Describe the new tagging rules.
446 * doc/OUTPUT.txt: Note that the HTML and GPX outputs are translated.
448 * doc/CONFIGURATION.txt: Add the tagging rules configuration file.
450 * doc/ALGORITHM.txt: An update to the current size of the UK database.
452 * xml/routino-tagging-nomodify.xml: New file.
455 A tagging XML file must be read (just like planetsplitter).
458 Add the option to dump a region rather than all and to not output super
461 * src/optimiser.c: Fix printing the number of super-segments tried.
463 2010-05-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
465 * xml/routino-translations.xml, xml/routino-translations.xsd, src/ways.h, src/filedumper.c,
466 src/osmparser.c, src/output.c, src/translations.c, src/translations.h:
467 Translate the names given to unnamed roads (the highway type).
469 * src/profiles.c, src/profiles.h, src/router.c:
470 Stricter check on specified profile before routing.
472 * src/router.c: Ensure that if no segment is found the routing stops.
475 When finding a closest segment one of the nodes must be within the search
478 2010-05-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
480 * src/router.c: Make sure that some profiles are loaded.
482 2010-05-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
484 * src/optimiser.c, src/profiles.c:
485 Fix bug with profile preferences (used incorrectly in route optimisation).
487 * src/Makefile, src/filedumper.c, src/types.c, src/types.h:
488 Add an option to filedumper to dump an OSM format file.
490 2010-05-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
492 * src/xmlparse.l: Fix bug with encoding XML strings.
494 2010-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
497 Make sure that modified files are copied to web directory.
500 Fix bug when filename is specified on command line.
502 * src/tagging.c, src/tagging.h, src/tagmodifier.c, src/xmlparse.l, src/osmparser.c:
503 Fix some memory leaks.
505 * src/tagmodifier.c, xml/osm.xsd, xml/routino-osm.xsd, src/osmparser.c:
506 Add the 'bound' element to the XML parser.
508 2010-05-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
510 * src/functionsx.h, src/osmparser.c, src/planetsplitter.c, src/ways.h, src/waysx.c,
512 Remove the --transport=<transport>, --not-highway=<highway> and
513 --not-property=<property> options from planetsplitter because they can be done
514 by the tagging.xml file now.
516 2010-05-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
518 * src/Makefile: Add tagmodifier program.
520 * src/xmlparse.l: Handle floating point numbers in scientific notation.
522 * src/planetsplitter.c:
523 Read in the tag transformation rules before calling the OSM parser.
525 * src/functionsx.h, src/osmparser.c:
526 Almost completely re-written OSM parser using tagging transformations.
528 * src/tagmodifier.c, src/tagging.h, src/tagging.c: New file.
530 * xml/Makefile: Copy the tagging rules to the web directory.
532 * xml/routino-tagging.xml, xml/routino-tagging.xsd, xml/routino-osm.xsd:
535 * xml/osm.xsd: Small fix for OSM schema.
537 2010-05-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
539 * src/types.c: Remove highway type aliases from HighwayType() function.
541 * src/xmlparse.h, src/xmlparse.l: Allow empty strings to be returned.
543 2010-05-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
545 * src/xmlparse.h, src/xmlparse.l:
546 The line number is now a long integer.
548 * src/xml/Makefile: Running 'make test' now compiles everything first.
550 2010-04-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
552 * src/xml/Makefile: Delete zero length file if xsd-to-xmlparser fails.
554 * src/nodes.c, src/nodesx.c, src/segments.c, src/segmentsx.c, src/ways.c, src/waysx.c:
555 Change file format to allow 64-bit off_t type with 32 bit void* type.
557 * src/Makefile, src/filedumper.c, src/xml/Makefile:
558 Compile with _FILE_OFFSET_BITS=64 to get 64-bit fopen() and stat().
560 2010-04-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
562 * src/output.c: Fix mistake of writing GPX information to wrong file.
564 * doc/OUTPUT.txt, doc/CONFIGURATION.txt: New file.
566 * doc/TAGGING.txt, doc/USAGE.txt, doc/ALGORITHM.txt, doc/INSTALL.txt, doc/NEWS.txt,
568 Interim checkin of updated documentation.
570 2010-04-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
573 Merged the three functions to output the head/body/tail of the results back into
574 a single function. Added the '--output-none' option.
576 * src/functions.h, src/output.c:
577 Merged the three functions to output the head/body/tail of the results back into
580 * xml/routino-translations.xml, xml/routino-translations.xsd, src/output.c,
581 src/translations.c, src/translations.h:
582 Added translations for the HTML output.
584 * src/xmlparse.h, src/xmlparse.l: Changed functions from const.
587 Add the copyright information into the translations.xml file instead of the
588 separate copyright.txt file. Add the translated copyright strings into the
591 * src/functions.h, src/router.c, src/translations.c, src/translations.h:
592 Add the copyright information into the translations.xml file instead of the
593 separate copyright.txt file.
595 * src/xmlparse.h, src/xmlparse.l:
596 Add an option to not convert the XML strings into decoded representations (saves
597 converting them back later for the translated strings).
599 2010-04-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
601 * src/xml/xsd-to-xmlparser.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
603 Pass the tag name to the tag function.
605 2010-04-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
607 * Makefile: Fix bug in makefile.
609 * xml/Makefile: Move the translations into the web directory.
611 * xml/routino-translations.xml, xml/routino-translations.xsd: New file.
613 * src/output.c: Changed HTML output to be useful in web pages.
616 Restart properly so that a different file can be read.
618 2010-04-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
620 * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c:
621 Name the tag variables and functions after the XSD data type and not the tag
624 2010-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
626 * src/profiles.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
627 src/xml/xsd-to-xmlparser.c, src/xml/Makefile:
628 Change the last parameter to the ParseXML function to be general options.
630 * src/Makefile, src/types.h, src/ways.c, src/ways.h:
631 Move the type checking/printing functions from way.c to type.c.
633 * src/types.c: New file.
635 2010-04-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
637 * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c, src/xmlparse.h,
639 Added helper functions for parsing strings into numbers.
640 Added macros to perform common error checking.
641 Change XML parser callback functions to return an error status.
643 2010-04-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
645 * src/router.c: Fix usage information.
647 * src/translations.h, src/translations.c: New file.
649 * src/output.c: Added translations for GPX and turn/heading.
651 * src/Makefile, src/router.c:
652 Added file of translations and language selection.
654 2010-04-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
656 * src/functions.h, src/planetsplitter.c, src/sorting.c:
657 Add an option '--sort-ram-size' to specify the RAM to use for sorting - defaults
658 to 256MB if not using slim mode.
660 2010-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
662 * src/xml/Makefile: Fix test program generation and running.
664 * src/xmlparse.h, src/xmlparse.l:
665 Make the strings const and add the number of attributes to the xmltag structure.
666 Add functions to convert character entities and character references.
668 * src/profiles.c, src/xml/xsd-to-xmlparser.c:
669 Make the strings const and add the number of attributes to the xmltag structure.
671 2010-04-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
673 * xml/Makefile: New file.
675 2010-04-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
678 Remove special lex/flex flags. Remove profiles.o from planetsplitter.
680 * src/xml/xsd-to-xmlparser.c:
681 Don't print anything for attributes that are not set.
684 Change error message for bad character in a quoted string.
685 Make sure attribute values are cleared before calling tag function (for
688 2010-04-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
690 * src/xml/Makefile: Add some XML parsing test cases.
692 * src/xml/xsd-to-xmlparser.c: Rename the XML handling function.
694 * src/xmlparse.h, src/xmlparse.l, src/profiles.c: Added error checking.
696 2010-04-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
698 * src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
699 Rename the old ParseXML() function as ParseOSM().
701 2010-04-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
703 * src/output.c: Wrap GPX descriptions in CDATA.
705 2010-03-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
707 * xml/routino-profiles.xml: New file.
709 * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/xmlparse.h, src/xmlparse.l:
710 Call the XML tag functions for the end tags as well as the start tags.
712 2010-03-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
714 * src/profiles.c, src/profiles.h:
715 Change the name of the --profile-json and --profile-perl options.
717 * src/filedumper.c, src/planetsplitter.c, src/router.c:
718 Improve the program help messages.
720 2010-03-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
722 * src/files.c, src/functions.h, src/profiles.c, src/profiles.h, src/router.c:
723 Added command line option to specify a file containing profiles.
724 Added command line option to select profile by name from loaded set.
725 Use XML parser to read in the profiles.
727 * src/Makefile: Better handling of the xml sub-directory.
729 * src/xml/xsd-to-xmlparser.c:
730 Add the option to ignore unknown attributes.
731 Print out the skeleton file using static functions and variables.
733 * src/xml/Makefile: Keep the intermediate files.
735 * src/xmlparse.h, src/xmlparse.l:
736 Add the option to ignore unknown attributes.
738 2010-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
740 * src/profiles.h, src/router.c, src/profiles.c:
741 Add an option to print out the profiles as XML format.
743 * src/xmlparse.h, xml/xsd.xsd, xml/osm.xsd, src/xml/xsd-to-xmlparser.c:
746 * src/Makefile: Added the XML subdirectory and xmlparser.c.
748 * src/xmlparse.l, src/xml/Makefile: New file.
750 2010-03-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
752 * src/output.c: Add descriptions to each point in the GPX route file.
754 * src/files.c, src/functions.h, src/nodesx.c, src/output.c, src/segmentsx.c, src/waysx.c:
755 Move the stat() calls to find a file size into a helper function in files.c.
757 * src/files.c, src/output.c, src/planetsplitter.c:
758 Improve the error messages by adding strerror() to them.
760 * src/filedumper.c, src/router.c:
761 Don't check the return value of the functions to load the nodes, segments and
762 ways because those functions will exit in case of an error.
764 * src/nodes.c, src/segments.c, src/ways.c:
765 Don't check the return value of MapFile() because it will exit in case of an
768 * src/planetsplitter.c:
769 Allow filenames on the planetsplitter command line.
771 2010-03-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
773 * src/waysx.h, src/filedumper.c, src/files.c, src/functions.h, src/nodesx.c, src/nodesx.h,
774 src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c, src/waysx.c:
775 Allow planetsplitter to be run with a --parse-only or --process-only option and
776 append to existing file or read from existing file.
778 2010-03-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
780 * src/router.c: Fix usage message error and shuffle order.
782 * src/output.c, src/router.c:
783 Allow selection of which outputs are to be created.
785 2010-03-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
787 * src/output.c: Re-order the code for HTML.
789 2010-03-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
791 * src/output.c: Create a simple HTML output.
793 2010-03-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
795 * src/router.c, src/nodes.c:
796 Speed up start/via/stop point search algorithm.
798 2010-03-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
801 Change the format of the output for the --help-profile-{pl|js} options.
803 2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
807 2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
809 * doc/NEWS.txt: Update to latest news.
811 2010-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
813 * doc/USAGE.txt, doc/TAGGING.txt, doc/INSTALL.txt:
814 Updated documentation.
816 2010-01-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
818 * src/router.c, src/functions.h:
819 Change the test output formats to add turn, node type and bearing information.
821 2010-01-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
824 Change the test output formats to add turn, node type and bearing information.
826 2009-12-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
829 Added an option to use only nodes and not interpolate a point into a segment.
831 2009-12-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
833 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
834 Added wheelchair as type of transport.
836 2009-12-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
838 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
839 Add bridge and tunnel to highway properties.
841 2009-12-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
844 Ignore the error if executables cannot be copied after compiling.
846 * src/functions.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
847 Add some FILESORT_* #defines and use them.
849 2009-12-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
851 * src/functions.h, src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c,
852 src/waysx.c, src/waysx.h:
853 Added a new function to sort variable length data - simplifies the compacting of
854 ways, reduces memory usage potentially required for it and simplifies the code.
856 2009-12-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
859 Write out the list of ways without memory mapping anything.
861 2009-11-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
863 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
864 Add in "multilane" as a new highway property.
866 2009-11-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
868 * src/filedumper.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/profiles.h,
869 src/router.c, src/ways.h, src/waysx.c, src/waysx.h:
870 Store the selected options when parsing (planetsplitter) and display them in the
871 statistics (filedumper) and check them when routing (router).
873 2009-11-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
875 * src/osmparser.c, src/output.c, src/profiles.c, src/types.h, src/ways.c:
876 Add in "steps" as a new highway type.
878 2009-11-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
880 * src/optimiser.c, src/router.c:
881 Made the verbose output consistent between different places.
883 2009-11-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
885 * src/router.c: Fix bug with previous segment-splitting routing.
887 2009-11-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
889 * src/optimiser.c, src/output.c, src/router.c, src/segments.h, src/functions.h, src/nodes.c,
891 If a selected waypoint is not very close to an existing node then insert a fake
892 node in the segment that comes closest and use that instead.
894 2009-11-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
896 * src/optimiser.c, src/osmparser.c, src/queue.c, src/results.c, src/results.h, src/types.h:
897 Added in some more constants with the value ~0.
899 2009-11-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
902 Check the values for the --node=, --segment= and --way= options.
904 2009-11-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
906 * src/output.c, src/planetsplitter.c, src/profiles.c, src/profiles.h, src/router.c,
907 src/types.h, src/ways.c:
908 Rename Way_Unknown to Way_Count to make more sense and match the properties.
910 2009-11-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
912 * src/osmparser.c: Allow the tag "paved" as well as "surface=paved".
914 * src/filedumper.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/profiles.c,
915 src/profiles.h, src/router.c, src/types.h, src/ways.c, src/ways.h:
916 Added the ability to set routing preferences using highway properties.
917 Initially the only choice is either paved or unpaved but the code has been
918 updated to allow any number of properties to be added.
920 2009-10-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
923 Handle the "designation=..." tag for bridleway, byway and footpath. (Also
924 change to using a macro for testing if access is allowed and now allow
927 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c, src/ways.h:
928 Added Moped to the list of transports (and incidentally increased the transport
929 data type to 16 bits and re-ordered the Way data-type in response).
931 2009-10-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
934 Ensure that horses and bicycles have a default speed on trunk even though they
935 have a default preference not to use it.
937 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
938 Re-ordered the types so that Horse comes before Bicycle.
940 * src/osmparser.c, src/output.c, src/profiles.c, src/types.h, src/ways.c:
941 Remove the Bridleway and Footway highway types and use the Path type instead
942 (also re-ordered the types so that Cycleway comes before Path).
944 * src/profiles.c: Remove unneeded spaces at the end of the output.
946 2009-10-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
949 Fix bug in code that determines waypoints for abbreviated output.
951 2009-10-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
953 * src/functions.h, src/optimiser.c, src/router.c:
954 Fix missing segments in output if start and finish points are found by the start
957 2009-10-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
959 * src/files.c, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/superx.c, src/waysx.c:
960 Added some missing comments and corrected some existing ones.
962 2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
966 2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
968 * doc/README.txt, doc/USAGE.txt, doc/NEWS.txt: Updated for version 1.2.
970 2009-10-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
972 * src/Makefile: Add sorting.o to the Makefile.
974 2009-10-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
976 * src/waysx.c: When sorting we cannot have NULL pointers now.
978 * src/nodesx.c, src/segmentsx.c, src/waysx.c:
979 Re-order the functions in the file into a more logical order.
980 No functional changes.
982 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
983 Rename the tmpdirname variable.
985 2009-10-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
987 * src/nodesx.c, src/osmparser.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
988 Corrections after running with valgrind.
990 * src/planetsplitter.c: Fix early termination test.
992 * src/nodesx.c, src/nodesx.h, src/segmentsx.c:
993 Remove the nodesx->gdata index.
995 2009-10-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
997 * src/nodesx.c, src/segmentsx.c, src/typesx.h, src/waysx.c, src/waysx.h:
998 Free the nodesx->super array and the segmentsx->firstnode array when finished
999 with them. Remove wayx->cid and overwrite wayx->id instead. Overwrite
1000 nodex[i]->id=i for later geographically sorted use.
1002 2009-10-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1004 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
1005 Replace node, segment and way indexes with a single index for a set of segments
1006 containing the location of the first segment for each node.
1008 * src/nodesx.h: Fix comment.
1010 2009-10-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1012 * src/osmparser.c, src/segmentsx.c, src/superx.c:
1013 AppendSegment adds a single segment and not a pair.
1015 * src/waysx.c: Use heapsort() instead of qsort().
1017 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1018 src/superx.c, src/waysx.c:
1019 Go back to the version 1.1 method of having each segment listed twice. This
1020 simplifies the lookup of first/next segments at no in-RAM index cost and now
1021 that slim mode has sorting of file contents the balance has tipped back.
1023 2009-10-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1025 * src/functions.h, src/sorting.c:
1026 Change the sort function to allow the indexing callback to veto the write.
1028 * src/nodesx.c: Remove the duplicates when sorting.
1031 Sort the ways using the same method as the nodes. Also remove the duplicates.
1034 Use the new sort functions to allow sorting the data in the file without needing
1035 to read (or mmap) the whole file into RAM at the same time.
1037 * src/functions.h: Add some functions to perform sorting.
1039 * src/sorting.c: New file.
1041 * src/queue.c: Fix bug with binary heap sort.
1043 2009-09-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1045 * src/queue.c: Add comments describing the algorithm used.
1047 2009-09-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1049 * src/nodesx.c, src/waysx.c:
1050 Simplify the de-duplication when sorting and update some comments.
1052 2009-09-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1054 * src/nodesx.c, src/nodesx.h:
1055 Remove a leftover from the last change on these files.
1057 * src/segmentsx.c: Improve the super-segment de-duplication.
1059 2009-09-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1061 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c:
1062 Remove the non-highway nodes without re-sorting the whole list again.
1064 2009-09-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1066 * src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/superx.c, src/waysx.c,
1068 Added the slim mode to Ways as well.
1070 * src/ways.h: Add padding to Ways structure to allow it to be zeroed.
1072 * src/nodesx.c: Add some comments when closing and re-opening files.
1074 * src/files.c, src/functions.h:
1075 The WriteFile function now has a const parameter.
1077 2009-09-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1079 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
1080 Some bug fixes and some missing unmap function calls.
1082 2009-09-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1084 * src/segmentsx.h, src/superx.c, src/nodesx.c, src/nodesx.h, src/segmentsx.c:
1085 Fixed slim mode for segments and nodes (slim now means mapping only one file
1086 into RAM at a time and none when creating the final output).
1088 2009-09-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1090 * src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c,
1091 src/superx.h, src/nodesx.c:
1092 Slim version of segments code (still very slow and only works on simple cases).
1094 * src/files.c, src/functions.h:
1095 Remove the delete option from UnmapFile() and make it return NULL.
1097 * src/filedumper.c: Allow dumping all nodes, segments or ways.
1099 2009-09-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1101 * src/nodesx.c: Don't re-sort unnecessarily.
1103 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/superx.c:
1104 Improve slim mode for nodes so that no data is not loaded into RAM at all.
1106 * src/files.c, src/functions.h: Add some more file functions.
1108 2009-09-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1110 * src/nodesx.c, src/files.c, src/functions.h:
1111 Remove extra argument from MapFile function.
1113 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/superx.c:
1114 Added slim mode (--slim) to planetsplitter for nodes only.
1116 * src/files.c, src/functions.h:
1117 Changes to mapping and unmapping files for slim mode.
1119 2009-08-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1121 * src/planetsplitter.c: Revert the order that the functions are called.
1123 * src/nodesx.c: Fix for assert statement.
1125 * src/files.c: Bug fix for mmap().
1127 2009-08-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1129 * src/osmparser.c: Fix bug with memory allocation.
1131 2009-08-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1133 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1134 src/superx.c, src/waysx.c, src/waysx.h:
1135 Remove "sorted" parameter in data structure and change assert statements.
1137 2009-08-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1140 Increase to 99 the number of waypoints that can be specified.
1142 2009-08-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1144 * src/queue.c: Fix comment.
1147 Tidy the compilation options to make it easier to turn them on and off.
1150 Remove the --all, --super and --no-output command line options.
1151 Handle the renamed routing functions.
1153 * src/functions.h, src/optimiser.c:
1154 Rename the routing functions and make FindRoute only find routes with no
1155 super-nodes in them.
1158 When popping from queue make sure that place in queue is cleared.
1160 * src/optimiser.c, src/queue.c, src/results.c, src/results.h, src/superx.c:
1161 Optimise the priority queue used for routing.
1163 * src/filedumper.c: Fix dumping nodes when they are super-nodes.
1165 2009-07-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1167 * src/Makefile, src/optimiser.c, src/results.c, src/results.h, src/superx.c:
1168 Split off queue functions into a separate file.
1170 * src/queue.c: New file.
1172 2009-07-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1174 * src/nodesx.c, src/segments.h, src/segmentsx.c, src/ways.h, src/waysx.c, src/filedumper.c,
1176 Include the number of super-nodes, super-segments etc in the database as useful
1177 information to put in the statistics output.
1179 * src/superx.c: Fix incorrect progress indicator message.
1181 * src/waysx.c: Fix problem with memory reallocation.
1183 * src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1185 Store only one copy of each segment but index once for each direction.
1187 2009-07-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1189 * src/functionsx.h, src/nodesx.c, src/nodesx.h, src/osmparser.c, src/output.c,
1190 src/planetsplitter.c, src/profiles.c, src/results.c, src/segments.c, src/segmentsx.c,
1191 src/segmentsx.h, src/superx.c, src/superx.h, src/ways.h, src/waysx.c, src/waysx.h:
1192 Tidy up and fix comments and include files.
1194 * src/osmparser.c, src/planetsplitter.c, src/router.c, src/segmentsx.c, src/superx.c,
1195 src/waysx.c, src/filedumper.c, src/nodesx.c, src/optimiser.c:
1196 Check all print statements and made them more consistent and/or accurate.
1198 2009-07-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1200 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/waysx.c,
1202 Free memory at the end of planetsplitter (to aid finding potential leaks
1205 2009-07-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1207 * src/segmentsx.c: Free memory correctly (really).
1209 * src/planetsplitter.c, src/waysx.c, src/waysx.h:
1210 Separate the sorting of Ways from compacting of Ways.
1212 * src/nodes.h, src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/visualiser.c,
1213 src/filedumper.c, src/nodes.c:
1214 Rename structure members after recent changes.
1216 * src/segmentsx.c: Free memory correctly.
1218 * src/types.h, src/segmentsx.c: Fix duplicate checking.
1220 * src/planetsplitter.c: Ensure that variable is reset before using it.
1222 * src/types.h, src/visualiser.c, src/visualiser.h, src/filedumper.c, src/nodes.c,
1223 src/nodes.h, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c, src/output.c,
1224 src/router.c, src/segments.c, src/segments.h, src/segmentsx.c:
1225 Change from float to double for latitude and longitude.
1226 Store latitude and longitude as an integer type rather than float (higher precision).
1228 2009-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1230 * src/superx.c: Ensure that variable is reset before using it.
1232 2009-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1235 Print all super-segments within and crossing the border.
1236 Don't display speed limits for tracks and paths unless set.
1238 2009-07-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1240 * src/segmentsx.h, src/superx.c, src/waysx.c, src/waysx.h:
1241 Change data structure to avoid calling realloc() each time to allocate more
1244 2009-07-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1246 * src/types.h, src/waysx.c, src/waysx.h:
1247 Handle duplicate ways.
1249 * src/nodes.c, src/nodesx.c, src/planetsplitter.c, src/profiles.c, src/results.c,
1250 src/segments.c, src/segmentsx.c, src/superx.c, src/superx.h, src/types.h, src/ways.c,
1252 Fix some gcc pedantic warnings.
1254 * src/files.c, src/nodesx.c, src/osmparser.c, src/results.c, src/router.c, src/segments.c,
1255 src/segmentsx.c, src/superx.c, src/ways.c, src/waysx.c:
1256 Removed unused header files, change assert statements, tidy some code.
1258 2009-07-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1260 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
1261 Remove the Node structure from the NodeX structure to save memory.
1264 Print latitude and longitude in degrees.
1266 2009-06-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1269 Re-order the data in the structure.
1271 * src/nodesx.c, src/nodesx.h, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c,
1272 src/segmentsx.h, src/superx.c, src/waysx.h:
1273 Remove the Segment structure from the SegmentX structure to save memory.
1275 2009-06-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1277 * src/filedumper.c, src/nodes.h, src/nodesx.c, src/segments.c, src/segments.h,
1278 src/segmentsx.c, src/superx.c, src/types.h:
1279 Move the super-segment and normal-segment flags from the nodes to the distance.
1280 Remove the NODE() macro and rename SUPER_FLAG to NODE_SUPER.
1282 * src/waysx.c: Replace memmove with structure copy.
1284 * src/nodesx.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
1285 Rename SegmentsX sdata to ndata.
1287 2009-06-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1289 * src/waysx.c, src/waysx.h: Rename part of the structure.
1291 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1292 src/superx.c, src/waysx.h:
1293 Undo part of the previous change - only update the Segment way index at the end.
1295 * src/waysx.h, src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c,
1296 src/segmentsx.h, src/superx.c, src/superx.h, src/typesx.h, src/waysx.c:
1297 Reduce the number of ways in the output by compacting them (sharing the same
1298 information between identical ways).
1300 2009-06-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1302 * src/filedumper.c, src/nodes.h:
1303 Allow dumping out of nodes, segments and ways.
1305 2009-06-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1307 * src/segmentsx.c, src/superx.c, src/visualiser.c, src/ways.c, src/ways.h:
1308 Rename WaysSame() with WaysCompare() and reverse the sense of the output.
1310 * src/functionsx.h, src/typesx.h: New file.
1312 * src/functions.h, src/nodesx.h, src/osmparser.c, src/planetsplitter.c, src/segmentsx.h,
1313 src/superx.h, src/types.h, src/waysx.h:
1314 Put some of types.h into typesx.h (for extended data types).
1315 Put some of functions.h into functionsx.h (for OSM parser).
1316 Change included files to match.
1318 * src/filedumper.c, src/osmparser.c, src/output.c, src/router.c, src/types.h, src/visualiser.c:
1319 Add a macro for converting degrees to radians and radians to degrees.
1322 Fix weight, height, width, length restriction routing.
1324 * doc/TAGGING.txt, src/osmparser.c:
1325 Recognise tags "vehicle" and "motor_vehicle".
1327 2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1329 Version 1.1 released
1331 2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1333 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h:
1334 Handle nodes that are missing from the .osm file (ignore the segment).
1337 Revert the last change (Print an error message and exit if a node cannot be found).
1339 * doc/NEWS.txt: New file.
1342 Delete the executables from the web directory for 'distclean'.
1344 2009-06-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1346 * doc/USAGE.txt, doc/INSTALL.txt, doc/README.txt:
1347 Update the documentation.
1349 * src/Makefile: Copy the executables into the web directory.
1351 2009-06-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1353 * src/filedumper.c: Change help text.
1356 Change format of super-node/segment visualiser output.
1358 2009-06-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1360 * doc/TAGGING.txt: Updated with imperial to metric conversions.
1362 * src/Makefile: Added visualiser.c.
1364 * src/filedumper.c: Now used for data visualisation and statistics.
1366 * src/visualiser.h, src/visualiser.c: New file.
1368 2009-06-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1371 Improve parsing of imperial units (mph, feet & inches).
1373 2009-06-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1376 Print an error message and exit if a node cannot be found.
1378 2009-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1380 * src/ways.c, src/ways.h, src/waysx.c, src/waysx.h:
1381 Move function from waysx.c to ways.c.
1383 2009-05-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1386 Update usage information with new options and copyright.txt usage.
1388 * src/nodes.c, src/nodes.h, src/router.c:
1389 Make sure that the chosen "nearest point" is a highway that the profile allows.
1391 2009-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1394 Change the default profile; horses are slower, bicycles may be allowed on
1395 footways (and similar).
1397 2009-05-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1399 * src/files.c, src/output.c:
1400 Error checking on opening files (to read/write data and to write output).
1402 2009-05-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1404 * src/output.c, src/results.c, src/router.c, src/segments.c, src/segmentsx.c, src/superx.c,
1405 src/types.h, src/nodes.c, src/nodesx.c, src/optimiser.c:
1406 Replace ~0 or 0 with NO_NODE value for "no node" condition.
1408 2009-05-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1411 Remove one more NODE macro and fix an output formatting error.
1413 * src/nodes.c, src/nodes.h, src/optimiser.c, src/output.c, src/router.c:
1414 Remove some node macros, change some node function arguments.
1416 * src/optimiser.c, src/profiles.c, src/profiles.h:
1417 Move some common code into the profile.
1419 * src/superx.c: Remove distance and duration from Result structure.
1421 * src/output.c: Better junction detection.
1423 * src/optimiser.c, src/results.c, src/results.h:
1424 Remove distance and duration from Result structure.
1426 2009-05-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1429 Add better junction detection for deciding on route waypoints.
1431 2009-05-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1433 * src/optimiser.c, src/profiles.c, src/profiles.h, src/types.h:
1434 Route using preferences for each highway.
1436 * src/router.c: Print out longitude then latitude.
1438 2009-04-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1440 * src/results.h, src/router.c, src/superx.c, src/types.h, src/optimiser.c, src/osmparser.c,
1441 src/planetsplitter.c, src/profiles.c, src/profiles.h, src/results.c:
1442 First attempt at preferences for highways - uses integer arithmetic and doesn't
1445 2009-04-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1447 * src/functions.h, src/optimiser.c, src/output.c, src/results.c, src/results.h, src/router.c:
1448 Allow generating a route with intermediate waypoints.
1450 2009-04-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1452 * src/functions.h, src/output.c, src/router.c:
1453 Split the output functions into separate head/body/tail.
1454 Read in an optional copyright.txt file and include contents in output.
1456 2009-04-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1458 * src/profiles.c: Improve Javascript and perl print out.
1460 * src/filedumper.c, src/files.c, src/functions.h, src/planetsplitter.c, src/router.c:
1461 Move the filename generation to a new function.
1463 2009-04-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1465 * src/Makefile, src/functions.h, src/optimiser.c:
1466 Split the function to print the output into a new file.
1468 * src/output.c: New file.
1470 2009-04-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1473 Fix for parsing nodes from XML (no effect on results).
1475 2009-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1477 * doc/USAGE.txt, src/optimiser.c:
1478 Create a GPX route as well as a track.
1480 * src/ways.c: Changed the license to Affero GPLv3.
1482 2009-04-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1485 Add a waypoint to the GPX file for the start and finish points.
1488 Include more information about the output file formats.
1490 2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1492 Version 1.0 released
1494 2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1496 * Makefile: New file.
1498 * src/Makefile: Fix dependency file generation.
1500 * doc/USAGE.txt, doc/TAGGING.txt, doc/README.txt, doc/INSTALL.txt, doc/ALGORITHM.txt:
1503 * src/Makefile, src/filedumper.c, src/files.c, src/functions.h, src/nodes.c, src/nodes.h,
1504 src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c,
1505 src/profiles.c, src/profiles.h, src/results.c, src/results.h, src/router.c, src/segments.c,
1506 src/segments.h, src/segmentsx.c, src/segmentsx.h, src/superx.c, src/superx.h, src/types.h,
1507 src/ways.h, src/waysx.c, src/waysx.h:
1508 Changed the license to Affero GPLv3.
1510 2009-04-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1512 * src/planetsplitter.c: Remove the --help-profile command line option.
1514 2009-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1517 Fix file headers (again) and fix segment distance/duration for abbreviated text
1520 2009-03-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1522 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
1523 Added highway=path; defaults to foot=yes but also is defaulted for bicycle and
1526 2009-03-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1528 * src/optimiser.c: Fixed the header in the output text files.
1531 Add parsing for *=designated allowing passage along a highway.
1533 * src/profiles.h, src/router.c, src/profiles.c:
1534 Add a function to output default profiles as perl data structures.
1536 2009-03-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1539 Handle duplicated nodes (e.g. from concatenated input files).
1541 * src/optimiser.c: Add a header to the output text files.
1543 2009-03-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1546 Renamed the *.txt output to *-all.txt and added a new shorted *.txt output.
1548 * src/router.c: Renamed the --no-print option to --no-output.
1550 2009-03-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1552 * src/nodes.c: Fix bug with finding nearest node.
1554 2009-03-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1556 * src/superx.c: Fix the merging of super-segments.
1558 2009-03-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1560 * src/profiles.c, src/profiles.h:
1561 Added more limits (weight, height, width, length).
1563 * src/segments.c: Use the lower speed from the profile and the way.
1565 * src/osmparser.c: Added more limits (weight, height, width, length).
1566 Added highway=living_street and highway=services.
1568 * src/ways.c, src/ways.h, src/optimiser.c, src/router.c, src/segmentsx.c, src/superx.c,
1570 Added more limits (weight, height, width, length).
1572 * src/waysx.c, src/waysx.h:
1573 Added a function to test if two ways are the same.
1575 2009-02-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1578 Round the node location to avoid if falling into the wrong bin.
1580 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/waysx.c:
1581 Move print statements from planetsplitter into individual functions.
1583 * src/Makefile: Compile with optimisation and no profiling.
1585 * src/profiles.c, src/router.c:
1586 Add new command line options to make it more CGI friendly.
1588 2009-02-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1590 * src/profiles.c, src/profiles.h, src/router.c:
1591 Print out Javascript code containing the profiles.
1593 2009-02-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1595 * src/segmentsx.h, src/superx.c, src/nodesx.c, src/segments.c, src/segments.h,
1597 Remove segment->next1 since it always points at the next segment or nowhere.
1599 * src/profiles.c: Remove track from valid types for most transports.
1601 2009-02-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1603 * src/functions.h, src/optimiser.c, src/router.c:
1604 Change some function names.
1606 * src/osmparser.c: Add in tests for motorcar=1 etc.
1608 * src/nodes.c, src/nodes.h, src/router.c:
1609 The search to find a node given the lat/long now searches harder.
1611 * src/optimiser.c: Better test for failing to find a route.
1613 * src/router.c: Change --only-super to --super.
1615 * src/nodesx.c, src/optimiser.c, src/osmparser.c, src/router.c, src/segments.c,
1616 src/segmentsx.c, src/types.h, src/nodes.c:
1617 Store radians rather than degrees.
1619 * src/segments.c, src/segmentsx.c:
1620 Change to sinf(), cosf(), sqrtf(), asinf() functions.
1623 Set the sortby parameter to the minimum distance/duration consistent with the
1624 travelled distance/duration and the remaining straight line distance with the
1625 fastest possible speed.
1627 * src/filedumper.c, src/nodes.c, src/nodes.h, src/nodesx.c, src/types.h:
1628 Add macros for handling lat/long to bin conversions.
1630 * src/osmparser.c: Handle oneway=1 and oneway=-1.
1632 2009-02-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1634 * src/results.c, src/results.h:
1635 Added a new 'sortby' entry to the Result.
1636 Changed node_t to index_t.
1638 * src/router.c: Changed node_t to index_t.
1640 * src/nodes.c, src/segments.c, src/segments.h:
1641 Change the Distance() function to return distance_t.
1643 2009-02-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1645 * src/optimiser.c, src/results.c, src/results.h, src/router.c, src/superx.c:
1646 Calculate quickest or shortest, not both.
1648 * src/optimiser.c, src/profiles.c, src/router.c:
1649 Give appropriate error messages if start or end of route are not possible.
1651 2009-02-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1654 Slight speedup by doing a linear search when looking up results and not storing
1657 * src/superx.h, src/superx.c, src/waysx.h, src/waysx.c, src/segmentsx.h, src/segmentsx.c,
1658 src/nodesx.h, src/nodesx.c:
1661 * src/ways.h, src/Makefile, src/filedumper.c, src/functions.h, src/nodes.c, src/nodes.h,
1662 src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c, src/segments.c,
1663 src/segments.h, src/types.h, src/ways.c:
1664 Split the extended data types from the normal data types.
1666 * src/nodes.c: Return NULL if the node cannot be found.
1668 * src/Makefile, src/filedumper.c, src/optimiser.c, src/router.c:
1669 Add new command line options.
1671 * src/supersegments.c: Fix some status messages.
1673 * src/optimiser.c, src/types.h: Routing works with super-nodes now.
1675 2009-02-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1677 * src/ways.c, src/segments.c, src/segments.h, src/supersegments.c, src/types.h, src/nodes.c,
1678 src/nodes.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/functions.h:
1679 Segments now not duplicated in database.
1680 Routing with all nodes works, not with super-nodes.
1682 2009-02-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1684 * src/router.c: Fix usage output.
1686 * src/ways.c, src/ways.h: Only sort once, don't store the index.
1688 * src/planetsplitter.c, src/router.c:
1689 Use '--*' command line arguments, not '-*'.
1691 * src/nodes.c, src/router.c, src/segments.c, src/ways.c:
1692 Make sure that nodes, segments and ways could be loaded.
1694 * src/nodes.h, src/optimiser.c, src/router.c, src/segments.c, src/segments.h,
1695 src/supersegments.c, src/types.h, src/filedumper.c, src/nodes.c:
1696 Sort the nodes geographically and take coordinates as command line arguments.
1698 2009-02-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1700 * src/ways.c, src/ways.h, src/nodes.c, src/nodes.h, src/osmparser.c, src/segments.c,
1701 src/segments.h, src/supersegments.c, src/types.h:
1702 More variable and function name changes.
1704 2009-02-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1706 * src/profiles.c, src/router.c, src/segments.c, src/segments.h, src/supersegments.c,
1707 src/ways.c, src/ways.h, src/files.c, src/functions.h, src/nodes.c, src/nodes.h,
1708 src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/filedumper.c:
1709 Rename some variable types.
1711 2009-01-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1713 * src/segments.c, src/segments.h, src/supersegments.c, src/types.h, src/ways.c, src/ways.h,
1714 src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/planetsplitter.c,
1715 src/profiles.h, src/router.c:
1716 Intermediate version during code cleanup.
1718 * src/optimiser.c, src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h,
1719 src/functions.h, src/nodes.h:
1720 Intermediate checkin, routing now working.
1723 Don't print out anything when creating the dependencies directory.
1725 * src/planetsplitter.c, src/router.c:
1726 Add command line options to specify the directory and filename prefix.
1728 2009-01-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1730 * src/results.c, src/planetsplitter.c: Remove gcc warning.
1732 * src/Makefile: Move dependencies to subdir.
1734 * src/osmparser.c: Remove gcc warning.
1736 2009-01-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1738 * src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/planetsplitter.c,
1739 src/router.c, src/segments.c, src/segments.h, src/supersegments.c:
1740 Intermediate version while transitioning data format for nodes and segments.
1742 2009-01-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1744 * src/Makefile, src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/osmparser.c,
1745 src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.c,
1747 Intermediate version while transitioning data format for nodes and segments.
1749 2009-01-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1751 * src/Makefile, src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c,
1752 src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h, src/supersegments.c,
1753 src/ways.c, src/ways.h:
1754 Intermediate version while transitioning data format for nodes and segments.
1756 2009-01-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1758 * src/osmparser.c, src/planetsplitter.c, src/segments.c, src/segments.h,
1759 src/supersegments.c, src/ways.c, src/ways.h, src/filedumper.c, src/files.c, src/functions.h,
1761 Change Segment to contain index of way not its real ID.
1762 Don't store the real way ID to save space.
1764 2009-01-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1766 * src/segments.c, src/segments.h:
1767 Slightly speed up the Duration calculation by changing the macro.
1769 * src/osmparser.c, src/profiles.c, src/ways.c, src/ways.h:
1770 Fix misspelling of Unclassified.
1772 * src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.h,
1774 Change the segment->way so that it contains the index of the way, not the id.
1776 * src/profiles.c, src/profiles.h: New file.
1778 * src/ways.c, src/ways.h, src/Makefile, src/functions.h, src/optimiser.c, src/osmparser.c,
1779 src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h:
1780 Added profiles to define speed and allowed highways.
1781 Added new options to planetsplitter and router to use the profiles.
1783 2009-01-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1785 * src/optimiser.c: Changed some variable names for clarity.
1787 * src/planetsplitter.c: Print more information about progress.
1788 Don't quit until 99.9% unchanged.
1790 * src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
1791 Change the Results structure so that the real data doesn't need to be realloc().
1792 Add functions to access the first and subsequent elements of the Results structure.
1794 2009-01-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1796 * src/osmparser.c, src/planetsplitter.c:
1797 Fix bug with not specifying a method of transport.
1799 * src/optimiser.c, src/router.c: Proper check that it was unroutable.
1801 * src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
1802 Remove "iteration" as function argument.
1804 * src/functions.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c,
1805 src/ways.c, src/ways.h:
1806 Add command line options to planetsplitter and router.
1807 Select transport type (must be allowed on way for parsing).
1808 Select highway types (ignore when parsing or routing).
1810 * src/ways.h, src/functions.h, src/optimiser.c, src/osmparser.c, src/router.c,
1811 src/segments.c, src/segments.h, src/ways.c:
1812 Add enumerated type Transport.
1813 Replace variables of AllowType with Transport where more appropriate.
1814 Replace AllowType with Allowed.
1815 Replace WayType with Highway.
1817 * src/osmparser.c: Only include ways that are not Way_Unknown type.
1819 * src/osmparser.c: Include permissive access.
1821 * src/functions.h, src/optimiser.c, src/results.c, src/results.h, src/router.c:
1822 Create a large or small results structure depending on how many nodes are
1825 2009-01-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1827 * src/results.h: Increase the number of bins to 64k.
1829 * src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
1830 Remove INVALID_DISTANCE and INVALID_DURATION.
1832 * src/optimiser.c, src/osmparser.c, src/supersegments.c, src/ways.c, src/ways.h:
1833 Removed the Way_TYPE() macro.
1835 * src/results.c, src/results.h, src/optimiser.c:
1836 Move queue functions into results.c.
1838 * src/filedumper.c, src/nodes.c, src/nodes.h, src/planetsplitter.c, src/router.c:
1839 Nodes, Segments, Ways - Nodes, Segments, Ways.
1841 * src/filedumper.c, src/nodes.c, src/nodes.h, src/segments.c, src/segments.h, src/ways.c,
1843 Remove the choice of indexed or non-indexed data structures.
1845 2009-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1848 Various small speed-ups including not-reversing direction.
1850 * src/functions.h, src/optimiser.c, src/osmparser.c, src/router.c, src/segments.c,
1851 src/segments.h, src/supersegments.c, src/ways.c, src/ways.h:
1852 Calculate way speeds at routing time.
1854 * src/supersegments.c:
1855 Add reverse-oneway segments when creating supernodes.
1856 Check incoming oneway streets as well as outgoing ones.
1858 * src/osmparser.c: Don't change speed on roundabouts.
1860 2009-01-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1862 * src/planetsplitter.c:
1863 Add command line options for skipping parsing and iteration limit.
1865 * src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
1866 Remove duration from segment, calculate duration depending on speed.
1868 2009-01-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1870 * src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
1871 Iteratively calculate the super-segments.
1873 * src/ways.h: Redefine Way_TYPE() to include one-way status.
1875 2009-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1877 * src/optimiser.c, src/supersegments.c:
1878 Fix problems with way-type matching and duplicated/missing super-segments.
1880 * src/functions.h, src/optimiser.c, src/router.c: Print out a GPX file.
1882 * src/optimiser.c, src/filedumper.c, src/functions.h, src/planetsplitter.c, src/router.c,
1883 src/segments.c, src/segments.h, src/supersegments.c, src/ways.c, src/ways.h:
1884 Added Super-Ways and allow user to select method of transport.
1886 * src/segments.c: Fix for changes made to ways.
1888 * src/supersegments.c:
1889 Ensure that supernodes are inserted wherever the way type changes.
1891 * src/osmparser.c: Fill in the extra way information.
1894 Store more information about a way (allowed modes of transport).
1896 * src/filedumper.c: Fix output printing.
1898 * src/router.c: Print an error if no route can be found.
1901 Fix bugs when start and/or finish nodes are supernodes.
1903 2009-01-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1905 * src/Makefile: Add the option to create assembler output files.
1907 * src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
1908 Change the contents of the results data structure.
1910 * src/router.c: Added an option to not print the result.
1912 2009-01-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1914 * src/optimiser.c, src/results.h, src/router.c:
1915 Speed optimisation by changing the contents of the Results structure.
1918 Don't bother calculating the distance to go, it takes too long.
1920 2009-01-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1922 * src/planetsplitter.c: Remove bad segments and non-way nodes.
1924 * src/nodes.c, src/nodes.h: Remove nodes which are not in highways.
1925 Fix the sorting and create indexes after sorting, not before saving.
1927 * src/segments.c, src/segments.h:
1928 Remove bad segments (repeated consecutive nodes and duplicate segments).
1929 Fix the sorting and create indexes after sorting, not before saving.
1931 * src/supersegments.c: Use invalid distances properly.
1934 Fix the sort algorithm and update the indexes after sorting, not before saving.
1936 * src/optimiser.c: Fix the bug with merging the results.
1937 Fix the bug with not clearing the results structure properly.
1940 Add segments that correspond to the wrong way along one-way routes with an
1943 2009-01-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1945 * src/functions.h, src/optimiser.c, src/router.c:
1946 Routes correctly using super-nodes (not Lands End to John O'Groats though).
1948 * src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c, src/router.c,
1949 src/segments.h, src/supersegments.c:
1950 Replace Junction with SuperNode.
1952 * src/nodes.c, src/nodes.h, src/segments.h, src/ways.c, src/ways.h:
1953 Some small changes to the nodes, segments and ways functions.
1955 * src/Makefile, src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c,
1956 src/results.h, src/router.c, src/segments.c, src/segments.h, src/supersegments.c:
1957 Working version with supersegments and junctions.
1959 2009-01-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1961 * src/ways.c, src/ways.h, src/osmparser.c, src/segments.c:
1962 Store more information about ways.
1964 * src/results.h, src/results.c: New file.
1966 * src/Makefile, src/optimiser.c:
1967 Move the results data type into new files.
1969 * src/nodes.h, src/segments.h, src/ways.h:
1970 Increase the increment for the indexed array case.
1972 * src/ways.h, src/Makefile, src/filedumper.c, src/functions.h, src/nodes.c, src/nodes.h,
1973 src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c, src/segments.c,
1974 src/segments.h, src/supersegments.c, src/ways.c:
1975 About to add the super-segment functionality using Segments data type to hold
1978 * src/functions.h, src/types.h:
1979 Changed after nodes, ways and segment changes.
1981 2009-01-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1983 * src/segments.h: New file.
1986 Changed the format of the segments data type to match the nodes.
1988 * src/nodes.h: Enable indexed arrays.
1990 * src/ways.h: New file.
1993 Changed the format of the ways data type to match the nodes.
1995 * src/nodes.c, src/nodes.h:
1996 Changed the format of the nodes data type again.
1998 2009-01-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2000 * src/nodes.h: New file.
2002 * src/nodes.c: Lots of modifications:
2003 Two data structures - in memory (pointers) and in file (array).
2004 Data is hashed into multiple bins.
2005 Each function takes a nodes structure as an argument.
2007 2009-01-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2009 * src/supersegments.c: New file.
2011 * src/Makefile, src/filedumper.c, src/functions.h, src/planetsplitter.c, src/types.h:
2012 Added SuperSegments data type, but it does nothing yet.
2015 Tried to optimise the Queue data type. It was slower than the original.
2017 2009-01-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2019 * src/filedumper.c: Print out the longest segment.
2022 Some optimisations. Increase the number of result bins and change
2023 find_insert_result() into insert_result().
2025 2009-01-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2027 * src/optimiser.c: Introduced some new data types to simplify the code.
2029 * src/filedumper.c: Print more useful information.
2031 * src/segments.c, src/types.h, src/ways.c, src/filedumper.c, src/functions.h, src/nodes.c,
2032 src/optimiser.c, src/osmparser.c, src/planetsplitter.c:
2033 Changed the node, way and segment functions and data types.
2034 Removed 'alloced', shortened the prototype array.
2035 Remove the automatic sorting of the data.
2036 Added assert statements.
2038 2009-01-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2040 * src/ways.c: New file.
2042 * src/router.c, src/types.h, src/Makefile, src/filedumper.c, src/functions.h,
2043 src/optimiser.c, src/osmparser.c, src/planetsplitter.c:
2044 Added the ways to the output.
2046 2009-01-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2048 * src/optimiser.c, src/osmparser.c, src/segments.c, src/types.h:
2049 Added macros to convert between distance/km and duration/hours/minutes.
2050 Shortened the Segment data type with shorter distances and durations.
2052 2009-01-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2054 * src/functions.h, src/nodes.c, src/planetsplitter.c, src/segments.c, src/types.h:
2055 Remove the functions to initialise the node and segment arrays.
2057 * src/optimiser.c, src/router.c, src/Makefile: Print out the results.
2059 2008-12-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2061 * src/types.h, src/segments.c, src/router.c, src/planetsplitter.c, src/osmparser.c,
2062 src/optimiser.c, src/nodes.c, src/functions.h, src/files.c, src/filedumper.c, src/Makefile: