1 2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
5 2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
7 * doc/NEWS.txt: Update NEWS for release.
10 Update documentation for slight modification to algorithm, also add more
11 information about how preferences etc are handled.
13 2010-07-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
16 Default compilation flags include optimisation and not debugging symbols.
18 2010-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
21 Fix error with finding closest segment to the specified point.
24 Bug fix for not crashing when finding the middle part of the route.
26 2010-07-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
28 * src/results.c, src/optimiser.c:
29 Changed the amount of memory allocated for intermediate results => routes much
32 * src/output.c: Remove compilation warning.
35 Copy files to web directory like done in other Makefiles.
38 Change location of HTML files in web directory and clean up web directory on distclean.
40 * src/xml/Makefile: Stop message being printed when make runs.
43 Fix error from last checkin and clean up web directory on distclean.
45 2010-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
48 Don't crash if the middle part of the route can't be found but exit cleanly.
50 2010-07-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
52 * src/superx.c: Change the algorithm used to determine supernodes.
54 2010-07-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
56 * xml/routino-translations.xml:
57 Added German translation [patch from Christoph Eckert].
60 Don't crash if more than one language is in translations.xml but --language
63 2010-06-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
65 * src/router.c: Don't crash if start and finish are the same point.
67 2010-06-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
69 * doc/DATA.txt: New file.
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.
75 * doc/Makefile: New file.
77 * xml/Makefile: Add some new variables.
79 2010-06-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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/
85 * doc/README.txt: *** empty log message ***
87 * doc/OUTPUT.txt: Changed URLs to http://www.routino.org/
89 2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
93 2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
95 * doc/INSTALL.txt, doc/NEWS.txt, doc/README.txt:
96 Update for version 1.4.
98 * src/xml/Makefile: Make sure that distclean really cleans up.
100 * Makefile: Make sure that xml sub-directory is made.
103 Fix the code that should stop routing if no segment is found.
105 2010-05-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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
112 * doc/TAGGING.txt: Describe the new tagging rules.
114 * doc/OUTPUT.txt: Note that the HTML and GPX outputs are translated.
116 * doc/CONFIGURATION.txt: Add the tagging rules configuration file.
118 * doc/ALGORITHM.txt: An update to the current size of the UK database.
120 * xml/routino-tagging-nomodify.xml: New file.
123 A tagging XML file must be read (just like planetsplitter).
126 Add the option to dump a region rather than all and to not output super
129 * src/optimiser.c: Fix printing the number of super-segments tried.
131 2010-05-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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).
137 * src/profiles.c, src/profiles.h, src/router.c:
138 Stricter check on specified profile before routing.
140 * src/router.c: Ensure that if no segment is found the routing stops.
143 When finding a closest segment one of the nodes must be within the search
146 2010-05-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
148 * src/router.c: Make sure that some profiles are loaded.
150 2010-05-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
152 * src/optimiser.c, src/profiles.c:
153 Fix bug with profile preferences (used incorrectly in route optimisation).
155 * src/Makefile, src/filedumper.c, src/types.c, src/types.h:
156 Add an option to filedumper to dump an OSM format file.
158 2010-05-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
160 * src/xmlparse.l: Fix bug with encoding XML strings.
162 2010-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
165 Make sure that modified files are copied to web directory.
168 Fix bug when filename is specified on command line.
170 * src/tagging.c, src/tagging.h, src/tagmodifier.c, src/xmlparse.l, src/osmparser.c:
171 Fix some memory leaks.
173 * src/tagmodifier.c, xml/osm.xsd, xml/routino-osm.xsd, src/osmparser.c:
174 Add the 'bound' element to the XML parser.
176 2010-05-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
178 * src/functionsx.h, src/osmparser.c, src/planetsplitter.c, src/ways.h, src/waysx.c,
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.
184 2010-05-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
186 * src/Makefile: Add tagmodifier program.
188 * src/xmlparse.l: Handle floating point numbers in scientific notation.
190 * src/planetsplitter.c:
191 Read in the tag transformation rules before calling the OSM parser.
193 * src/functionsx.h, src/osmparser.c:
194 Almost completely re-written OSM parser using tagging transformations.
196 * src/tagmodifier.c, src/tagging.h, src/tagging.c: New file.
198 * xml/Makefile: Copy the tagging rules to the web directory.
200 * xml/routino-tagging.xml, xml/routino-tagging.xsd, xml/routino-osm.xsd:
203 * xml/osm.xsd: Small fix for OSM schema.
205 2010-05-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
207 * src/types.c: Remove highway type aliases from HighwayType() function.
209 * src/xmlparse.h, src/xmlparse.l: Allow empty strings to be returned.
211 2010-05-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
213 * src/xmlparse.h, src/xmlparse.l:
214 The line number is now a long integer.
216 * src/xml/Makefile: Running 'make test' now compiles everything first.
218 2010-04-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
220 * src/xml/Makefile: Delete zero length file if xsd-to-xmlparser fails.
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.
225 * src/Makefile, src/filedumper.c, src/xml/Makefile:
226 Compile with _FILE_OFFSET_BITS=64 to get 64-bit fopen() and stat().
228 2010-04-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
230 * src/output.c: Fix mistake of writing GPX information to wrong file.
232 * doc/OUTPUT.txt, doc/CONFIGURATION.txt: New file.
234 * doc/TAGGING.txt, doc/USAGE.txt, doc/ALGORITHM.txt, doc/INSTALL.txt, doc/NEWS.txt,
236 Interim checkin of updated documentation.
238 2010-04-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
244 * src/functions.h, src/output.c:
245 Merged the three functions to output the head/body/tail of the results back into
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.
252 * src/xmlparse.h, src/xmlparse.l: Changed functions from const.
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
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.
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).
267 2010-04-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
269 * src/xml/xsd-to-xmlparser.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
271 Pass the tag name to the tag function.
273 2010-04-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
275 * Makefile: Fix bug in makefile.
277 * xml/Makefile: Move the translations into the web directory.
279 * xml/routino-translations.xml, xml/routino-translations.xsd: New file.
281 * src/output.c: Changed HTML output to be useful in web pages.
284 Restart properly so that a different file can be read.
286 2010-04-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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
292 2010-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
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.
301 * src/types.c: New file.
303 2010-04-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
305 * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c, src/xmlparse.h,
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.
311 2010-04-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
313 * src/router.c: Fix usage information.
315 * src/translations.h, src/translations.c: New file.
317 * src/output.c: Added translations for GPX and turn/heading.
319 * src/Makefile, src/router.c:
320 Added file of translations and language selection.
322 2010-04-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
328 2010-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
330 * src/xml/Makefile: Fix test program generation and running.
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.
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.
339 2010-04-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
341 * xml/Makefile: New file.
343 2010-04-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
346 Remove special lex/flex flags. Remove profiles.o from planetsplitter.
348 * src/xml/xsd-to-xmlparser.c:
349 Don't print anything for attributes that are not set.
352 Change error message for bad character in a quoted string.
353 Make sure attribute values are cleared before calling tag function (for
356 2010-04-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
358 * src/xml/Makefile: Add some XML parsing test cases.
360 * src/xml/xsd-to-xmlparser.c: Rename the XML handling function.
362 * src/xmlparse.h, src/xmlparse.l, src/profiles.c: Added error checking.
364 2010-04-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
366 * src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
367 Rename the old ParseXML() function as ParseOSM().
369 2010-04-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
371 * src/output.c: Wrap GPX descriptions in CDATA.
373 2010-03-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
375 * xml/routino-profiles.xml: New file.
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.
380 2010-03-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
382 * src/profiles.c, src/profiles.h:
383 Change the name of the --profile-json and --profile-perl options.
385 * src/filedumper.c, src/planetsplitter.c, src/router.c:
386 Improve the program help messages.
388 2010-03-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
395 * src/Makefile: Better handling of the xml sub-directory.
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.
401 * src/xml/Makefile: Keep the intermediate files.
403 * src/xmlparse.h, src/xmlparse.l:
404 Add the option to ignore unknown attributes.
406 2010-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
408 * src/profiles.h, src/router.c, src/profiles.c:
409 Add an option to print out the profiles as XML format.
411 * src/xmlparse.h, xml/xsd.xsd, xml/osm.xsd, src/xml/xsd-to-xmlparser.c:
414 * src/Makefile: Added the XML subdirectory and xmlparser.c.
416 * src/xmlparse.l, src/xml/Makefile: New file.
418 2010-03-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
420 * src/output.c: Add descriptions to each point in the GPX route file.
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.
425 * src/files.c, src/output.c, src/planetsplitter.c:
426 Improve the error messages by adding strerror() to them.
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.
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
436 * src/planetsplitter.c:
437 Allow filenames on the planetsplitter command line.
439 2010-03-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
446 2010-03-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
448 * src/router.c: Fix usage message error and shuffle order.
450 * src/output.c, src/router.c:
451 Allow selection of which outputs are to be created.
453 2010-03-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
455 * src/output.c: Re-order the code for HTML.
457 2010-03-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
459 * src/output.c: Create a simple HTML output.
461 2010-03-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
463 * src/router.c, src/nodes.c:
464 Speed up start/via/stop point search algorithm.
466 2010-03-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
469 Change the format of the output for the --help-profile-{pl|js} options.
471 2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
475 2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
477 * doc/NEWS.txt: Update to latest news.
479 2010-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
481 * doc/USAGE.txt, doc/TAGGING.txt, doc/INSTALL.txt:
482 Updated documentation.
484 2010-01-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
486 * src/router.c, src/functions.h:
487 Change the test output formats to add turn, node type and bearing information.
489 2010-01-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
492 Change the test output formats to add turn, node type and bearing information.
494 2009-12-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
497 Added an option to use only nodes and not interpolate a point into a segment.
499 2009-12-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
501 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
502 Added wheelchair as type of transport.
504 2009-12-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
506 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
507 Add bridge and tunnel to highway properties.
509 2009-12-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
512 Ignore the error if executables cannot be copied after compiling.
514 * src/functions.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
515 Add some FILESORT_* #defines and use them.
517 2009-12-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
524 2009-12-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
527 Write out the list of ways without memory mapping anything.
529 2009-11-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
531 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
532 Add in "multilane" as a new highway property.
534 2009-11-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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).
541 2009-11-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
546 2009-11-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
548 * src/optimiser.c, src/router.c:
549 Made the verbose output consistent between different places.
551 2009-11-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
553 * src/router.c: Fix bug with previous segment-splitting routing.
555 2009-11-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
557 * src/optimiser.c, src/output.c, src/router.c, src/segments.h, src/functions.h, src/nodes.c,
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.
562 2009-11-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
567 2009-11-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
570 Check the values for the --node=, --segment= and --way= options.
572 2009-11-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
578 2009-11-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
580 * src/osmparser.c: Allow the tag "paved" as well as "surface=paved".
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.
588 2009-10-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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
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).
599 2009-10-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
602 Ensure that horses and bicycles have a default speed on trunk even though they
603 have a default preference not to use it.
605 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
606 Re-ordered the types so that Horse comes before Bicycle.
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).
612 * src/profiles.c: Remove unneeded spaces at the end of the output.
614 2009-10-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
617 Fix bug in code that determines waypoints for abbreviated output.
619 2009-10-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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
625 2009-10-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
630 2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
634 2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
636 * doc/README.txt, doc/USAGE.txt, doc/NEWS.txt: Updated for version 1.2.
638 2009-10-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
640 * src/Makefile: Add sorting.o to the Makefile.
642 2009-10-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
644 * src/waysx.c: When sorting we cannot have NULL pointers now.
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.
650 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
651 Rename the tmpdirname variable.
653 2009-10-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
655 * src/nodesx.c, src/osmparser.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
656 Corrections after running with valgrind.
658 * src/planetsplitter.c: Fix early termination test.
660 * src/nodesx.c, src/nodesx.h, src/segmentsx.c:
661 Remove the nodesx->gdata index.
663 2009-10-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
670 2009-10-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
676 * src/nodesx.h: Fix comment.
678 2009-10-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
680 * src/osmparser.c, src/segmentsx.c, src/superx.c:
681 AppendSegment adds a single segment and not a pair.
683 * src/waysx.c: Use heapsort() instead of qsort().
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.
691 2009-10-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
693 * src/functions.h, src/sorting.c:
694 Change the sort function to allow the indexing callback to veto the write.
696 * src/nodesx.c: Remove the duplicates when sorting.
699 Sort the ways using the same method as the nodes. Also remove the duplicates.
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.
705 * src/functions.h: Add some functions to perform sorting.
707 * src/sorting.c: New file.
709 * src/queue.c: Fix bug with binary heap sort.
711 2009-09-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
713 * src/queue.c: Add comments describing the algorithm used.
715 2009-09-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
717 * src/nodesx.c, src/waysx.c:
718 Simplify the de-duplication when sorting and update some comments.
720 2009-09-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
722 * src/nodesx.c, src/nodesx.h:
723 Remove a leftover from the last change on these files.
725 * src/segmentsx.c: Improve the super-segment de-duplication.
727 2009-09-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
729 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c:
730 Remove the non-highway nodes without re-sorting the whole list again.
732 2009-09-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
734 * src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/superx.c, src/waysx.c,
736 Added the slim mode to Ways as well.
738 * src/ways.h: Add padding to Ways structure to allow it to be zeroed.
740 * src/nodesx.c: Add some comments when closing and re-opening files.
742 * src/files.c, src/functions.h:
743 The WriteFile function now has a const parameter.
745 2009-09-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
747 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
748 Some bug fixes and some missing unmap function calls.
750 2009-09-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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).
756 2009-09-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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).
762 * src/files.c, src/functions.h:
763 Remove the delete option from UnmapFile() and make it return NULL.
765 * src/filedumper.c: Allow dumping all nodes, segments or ways.
767 2009-09-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
769 * src/nodesx.c: Don't re-sort unnecessarily.
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.
774 * src/files.c, src/functions.h: Add some more file functions.
776 2009-09-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
778 * src/nodesx.c, src/files.c, src/functions.h:
779 Remove extra argument from MapFile function.
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.
784 * src/files.c, src/functions.h:
785 Changes to mapping and unmapping files for slim mode.
787 2009-08-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
789 * src/planetsplitter.c: Revert the order that the functions are called.
791 * src/nodesx.c: Fix for assert statement.
793 * src/files.c: Bug fix for mmap().
795 2009-08-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
797 * src/osmparser.c: Fix bug with memory allocation.
799 2009-08-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
805 2009-08-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
808 Increase to 99 the number of waypoints that can be specified.
810 2009-08-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
812 * src/queue.c: Fix comment.
815 Tidy the compilation options to make it easier to turn them on and off.
818 Remove the --all, --super and --no-output command line options.
819 Handle the renamed routing functions.
821 * src/functions.h, src/optimiser.c:
822 Rename the routing functions and make FindRoute only find routes with no
826 When popping from queue make sure that place in queue is cleared.
828 * src/optimiser.c, src/queue.c, src/results.c, src/results.h, src/superx.c:
829 Optimise the priority queue used for routing.
831 * src/filedumper.c: Fix dumping nodes when they are super-nodes.
833 2009-07-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
835 * src/Makefile, src/optimiser.c, src/results.c, src/results.h, src/superx.c:
836 Split off queue functions into a separate file.
838 * src/queue.c: New file.
840 2009-07-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
842 * src/nodesx.c, src/segments.h, src/segmentsx.c, src/ways.h, src/waysx.c, src/filedumper.c,
844 Include the number of super-nodes, super-segments etc in the database as useful
845 information to put in the statistics output.
847 * src/superx.c: Fix incorrect progress indicator message.
849 * src/waysx.c: Fix problem with memory reallocation.
851 * src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
853 Store only one copy of each segment but index once for each direction.
855 2009-07-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
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.
866 2009-07-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
868 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/waysx.c,
870 Free memory at the end of planetsplitter (to aid finding potential leaks
873 2009-07-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
875 * src/segmentsx.c: Free memory correctly (really).
877 * src/planetsplitter.c, src/waysx.c, src/waysx.h:
878 Separate the sorting of Ways from compacting of Ways.
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.
884 * src/segmentsx.c: Free memory correctly.
886 * src/types.h, src/segmentsx.c: Fix duplicate checking.
888 * src/planetsplitter.c: Ensure that variable is reset before using it.
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).
896 2009-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
898 * src/superx.c: Ensure that variable is reset before using it.
900 2009-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
903 Print all super-segments within and crossing the border.
904 Don't display speed limits for tracks and paths unless set.
906 2009-07-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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
912 2009-07-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
914 * src/types.h, src/waysx.c, src/waysx.h:
915 Handle duplicate ways.
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,
920 Fix some gcc pedantic warnings.
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.
926 2009-07-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
932 Print latitude and longitude in degrees.
934 2009-06-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
937 Re-order the data in the structure.
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.
943 2009-06-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
950 * src/waysx.c: Replace memmove with structure copy.
952 * src/nodesx.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
953 Rename SegmentsX sdata to ndata.
955 2009-06-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
957 * src/waysx.c, src/waysx.h: Rename part of the structure.
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.
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).
968 2009-06-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
970 * src/filedumper.c, src/nodes.h:
971 Allow dumping out of nodes, segments and ways.
973 2009-06-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
978 * src/functionsx.h, src/typesx.h: New file.
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.
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.
990 Fix weight, height, width, length restriction routing.
992 * doc/TAGGING.txt, src/osmparser.c:
993 Recognise tags "vehicle" and "motor_vehicle".
995 2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
999 2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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).
1005 Revert the last change (Print an error message and exit if a node cannot be found).
1007 * doc/NEWS.txt: New file.
1010 Delete the executables from the web directory for 'distclean'.
1012 2009-06-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1014 * doc/USAGE.txt, doc/INSTALL.txt, doc/README.txt:
1015 Update the documentation.
1017 * src/Makefile: Copy the executables into the web directory.
1019 2009-06-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1021 * src/filedumper.c: Change help text.
1024 Change format of super-node/segment visualiser output.
1026 2009-06-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1028 * doc/TAGGING.txt: Updated with imperial to metric conversions.
1030 * src/Makefile: Added visualiser.c.
1032 * src/filedumper.c: Now used for data visualisation and statistics.
1034 * src/visualiser.h, src/visualiser.c: New file.
1036 2009-06-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1039 Improve parsing of imperial units (mph, feet & inches).
1041 2009-06-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1044 Print an error message and exit if a node cannot be found.
1046 2009-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1048 * src/ways.c, src/ways.h, src/waysx.c, src/waysx.h:
1049 Move function from waysx.c to ways.c.
1051 2009-05-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1054 Update usage information with new options and copyright.txt usage.
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.
1059 2009-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1062 Change the default profile; horses are slower, bicycles may be allowed on
1063 footways (and similar).
1065 2009-05-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1067 * src/files.c, src/output.c:
1068 Error checking on opening files (to read/write data and to write output).
1070 2009-05-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1076 2009-05-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1079 Remove one more NODE macro and fix an output formatting error.
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.
1084 * src/optimiser.c, src/profiles.c, src/profiles.h:
1085 Move some common code into the profile.
1087 * src/superx.c: Remove distance and duration from Result structure.
1089 * src/output.c: Better junction detection.
1091 * src/optimiser.c, src/results.c, src/results.h:
1092 Remove distance and duration from Result structure.
1094 2009-05-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1097 Add better junction detection for deciding on route waypoints.
1099 2009-05-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1101 * src/optimiser.c, src/profiles.c, src/profiles.h, src/types.h:
1102 Route using preferences for each highway.
1104 * src/router.c: Print out longitude then latitude.
1106 2009-04-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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
1113 2009-04-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1118 2009-04-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1124 2009-04-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1126 * src/profiles.c: Improve Javascript and perl print out.
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.
1131 2009-04-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1133 * src/Makefile, src/functions.h, src/optimiser.c:
1134 Split the function to print the output into a new file.
1136 * src/output.c: New file.
1138 2009-04-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1141 Fix for parsing nodes from XML (no effect on results).
1143 2009-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1145 * doc/USAGE.txt, src/optimiser.c:
1146 Create a GPX route as well as a track.
1148 * src/ways.c: Changed the license to Affero GPLv3.
1150 2009-04-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1153 Add a waypoint to the GPX file for the start and finish points.
1156 Include more information about the output file formats.
1158 2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1160 Version 1.0 released
1162 2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1164 * Makefile: New file.
1166 * src/Makefile: Fix dependency file generation.
1168 * doc/USAGE.txt, doc/TAGGING.txt, doc/README.txt, doc/INSTALL.txt, doc/ALGORITHM.txt:
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.
1178 2009-04-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1180 * src/planetsplitter.c: Remove the --help-profile command line option.
1182 2009-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1185 Fix file headers (again) and fix segment distance/duration for abbreviated text
1188 2009-03-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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
1194 2009-03-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1196 * src/optimiser.c: Fixed the header in the output text files.
1199 Add parsing for *=designated allowing passage along a highway.
1201 * src/profiles.h, src/router.c, src/profiles.c:
1202 Add a function to output default profiles as perl data structures.
1204 2009-03-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1207 Handle duplicated nodes (e.g. from concatenated input files).
1209 * src/optimiser.c: Add a header to the output text files.
1211 2009-03-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1214 Renamed the *.txt output to *-all.txt and added a new shorted *.txt output.
1216 * src/router.c: Renamed the --no-print option to --no-output.
1218 2009-03-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1220 * src/nodes.c: Fix bug with finding nearest node.
1222 2009-03-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1224 * src/superx.c: Fix the merging of super-segments.
1226 2009-03-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1228 * src/profiles.c, src/profiles.h:
1229 Added more limits (weight, height, width, length).
1231 * src/segments.c: Use the lower speed from the profile and the way.
1233 * src/osmparser.c: Added more limits (weight, height, width, length).
1234 Added highway=living_street and highway=services.
1236 * src/ways.c, src/ways.h, src/optimiser.c, src/router.c, src/segmentsx.c, src/superx.c,
1238 Added more limits (weight, height, width, length).
1240 * src/waysx.c, src/waysx.h:
1241 Added a function to test if two ways are the same.
1243 2009-02-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1246 Round the node location to avoid if falling into the wrong bin.
1248 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/waysx.c:
1249 Move print statements from planetsplitter into individual functions.
1251 * src/Makefile: Compile with optimisation and no profiling.
1253 * src/profiles.c, src/router.c:
1254 Add new command line options to make it more CGI friendly.
1256 2009-02-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1258 * src/profiles.c, src/profiles.h, src/router.c:
1259 Print out Javascript code containing the profiles.
1261 2009-02-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1263 * src/segmentsx.h, src/superx.c, src/nodesx.c, src/segments.c, src/segments.h,
1265 Remove segment->next1 since it always points at the next segment or nowhere.
1267 * src/profiles.c: Remove track from valid types for most transports.
1269 2009-02-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1271 * src/functions.h, src/optimiser.c, src/router.c:
1272 Change some function names.
1274 * src/osmparser.c: Add in tests for motorcar=1 etc.
1276 * src/nodes.c, src/nodes.h, src/router.c:
1277 The search to find a node given the lat/long now searches harder.
1279 * src/optimiser.c: Better test for failing to find a route.
1281 * src/router.c: Change --only-super to --super.
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.
1287 * src/segments.c, src/segmentsx.c:
1288 Change to sinf(), cosf(), sqrtf(), asinf() functions.
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.
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.
1298 * src/osmparser.c: Handle oneway=1 and oneway=-1.
1300 2009-02-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1302 * src/results.c, src/results.h:
1303 Added a new 'sortby' entry to the Result.
1304 Changed node_t to index_t.
1306 * src/router.c: Changed node_t to index_t.
1308 * src/nodes.c, src/segments.c, src/segments.h:
1309 Change the Distance() function to return distance_t.
1311 2009-02-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1313 * src/optimiser.c, src/results.c, src/results.h, src/router.c, src/superx.c:
1314 Calculate quickest or shortest, not both.
1316 * src/optimiser.c, src/profiles.c, src/router.c:
1317 Give appropriate error messages if start or end of route are not possible.
1319 2009-02-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1322 Slight speedup by doing a linear search when looking up results and not storing
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:
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.
1334 * src/nodes.c: Return NULL if the node cannot be found.
1336 * src/Makefile, src/filedumper.c, src/optimiser.c, src/router.c:
1337 Add new command line options.
1339 * src/supersegments.c: Fix some status messages.
1341 * src/optimiser.c, src/types.h: Routing works with super-nodes now.
1343 2009-02-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1350 2009-02-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1352 * src/router.c: Fix usage output.
1354 * src/ways.c, src/ways.h: Only sort once, don't store the index.
1356 * src/planetsplitter.c, src/router.c:
1357 Use '--*' command line arguments, not '-*'.
1359 * src/nodes.c, src/router.c, src/segments.c, src/ways.c:
1360 Make sure that nodes, segments and ways could be loaded.
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.
1366 2009-02-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1372 2009-02-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1379 2009-01-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
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.
1391 Don't print out anything when creating the dependencies directory.
1393 * src/planetsplitter.c, src/router.c:
1394 Add command line options to specify the directory and filename prefix.
1396 2009-01-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1398 * src/results.c, src/planetsplitter.c: Remove gcc warning.
1400 * src/Makefile: Move dependencies to subdir.
1402 * src/osmparser.c: Remove gcc warning.
1404 2009-01-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1410 2009-01-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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,
1415 Intermediate version while transitioning data format for nodes and segments.
1417 2009-01-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1424 2009-01-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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,
1429 Change Segment to contain index of way not its real ID.
1430 Don't store the real way ID to save space.
1432 2009-01-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1434 * src/segments.c, src/segments.h:
1435 Slightly speed up the Duration calculation by changing the macro.
1437 * src/osmparser.c, src/profiles.c, src/ways.c, src/ways.h:
1438 Fix misspelling of Unclassified.
1440 * src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.h,
1442 Change the segment->way so that it contains the index of the way, not the id.
1444 * src/profiles.c, src/profiles.h: New file.
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.
1451 2009-01-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1453 * src/optimiser.c: Changed some variable names for clarity.
1455 * src/planetsplitter.c: Print more information about progress.
1456 Don't quit until 99.9% unchanged.
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.
1462 2009-01-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1464 * src/osmparser.c, src/planetsplitter.c:
1465 Fix bug with not specifying a method of transport.
1467 * src/optimiser.c, src/router.c: Proper check that it was unroutable.
1469 * src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
1470 Remove "iteration" as function argument.
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).
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.
1485 * src/osmparser.c: Only include ways that are not Way_Unknown type.
1487 * src/osmparser.c: Include permissive access.
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
1493 2009-01-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1495 * src/results.h: Increase the number of bins to 64k.
1497 * src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
1498 Remove INVALID_DISTANCE and INVALID_DURATION.
1500 * src/optimiser.c, src/osmparser.c, src/supersegments.c, src/ways.c, src/ways.h:
1501 Removed the Way_TYPE() macro.
1503 * src/results.c, src/results.h, src/optimiser.c:
1504 Move queue functions into results.c.
1506 * src/filedumper.c, src/nodes.c, src/nodes.h, src/planetsplitter.c, src/router.c:
1507 Nodes, Segments, Ways - Nodes, Segments, Ways.
1509 * src/filedumper.c, src/nodes.c, src/nodes.h, src/segments.c, src/segments.h, src/ways.c,
1511 Remove the choice of indexed or non-indexed data structures.
1513 2009-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1516 Various small speed-ups including not-reversing direction.
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.
1522 * src/supersegments.c:
1523 Add reverse-oneway segments when creating supernodes.
1524 Check incoming oneway streets as well as outgoing ones.
1526 * src/osmparser.c: Don't change speed on roundabouts.
1528 2009-01-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1530 * src/planetsplitter.c:
1531 Add command line options for skipping parsing and iteration limit.
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.
1536 2009-01-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1538 * src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
1539 Iteratively calculate the super-segments.
1541 * src/ways.h: Redefine Way_TYPE() to include one-way status.
1543 2009-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1545 * src/optimiser.c, src/supersegments.c:
1546 Fix problems with way-type matching and duplicated/missing super-segments.
1548 * src/functions.h, src/optimiser.c, src/router.c: Print out a GPX file.
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.
1554 * src/segments.c: Fix for changes made to ways.
1556 * src/supersegments.c:
1557 Ensure that supernodes are inserted wherever the way type changes.
1559 * src/osmparser.c: Fill in the extra way information.
1562 Store more information about a way (allowed modes of transport).
1564 * src/filedumper.c: Fix output printing.
1566 * src/router.c: Print an error if no route can be found.
1569 Fix bugs when start and/or finish nodes are supernodes.
1571 2009-01-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1573 * src/Makefile: Add the option to create assembler output files.
1575 * src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
1576 Change the contents of the results data structure.
1578 * src/router.c: Added an option to not print the result.
1580 2009-01-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1582 * src/optimiser.c, src/results.h, src/router.c:
1583 Speed optimisation by changing the contents of the Results structure.
1586 Don't bother calculating the distance to go, it takes too long.
1588 2009-01-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1590 * src/planetsplitter.c: Remove bad segments and non-way nodes.
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.
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.
1599 * src/supersegments.c: Use invalid distances properly.
1602 Fix the sort algorithm and update the indexes after sorting, not before saving.
1604 * src/optimiser.c: Fix the bug with merging the results.
1605 Fix the bug with not clearing the results structure properly.
1608 Add segments that correspond to the wrong way along one-way routes with an
1611 2009-01-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1613 * src/functions.h, src/optimiser.c, src/router.c:
1614 Routes correctly using super-nodes (not Lands End to John O'Groats though).
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.
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.
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.
1627 2009-01-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1629 * src/ways.c, src/ways.h, src/osmparser.c, src/segments.c:
1630 Store more information about ways.
1632 * src/results.h, src/results.c: New file.
1634 * src/Makefile, src/optimiser.c:
1635 Move the results data type into new files.
1637 * src/nodes.h, src/segments.h, src/ways.h:
1638 Increase the increment for the indexed array case.
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
1646 * src/functions.h, src/types.h:
1647 Changed after nodes, ways and segment changes.
1649 2009-01-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1651 * src/segments.h: New file.
1654 Changed the format of the segments data type to match the nodes.
1656 * src/nodes.h: Enable indexed arrays.
1658 * src/ways.h: New file.
1661 Changed the format of the ways data type to match the nodes.
1663 * src/nodes.c, src/nodes.h:
1664 Changed the format of the nodes data type again.
1666 2009-01-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1668 * src/nodes.h: New file.
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.
1675 2009-01-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1677 * src/supersegments.c: New file.
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.
1683 Tried to optimise the Queue data type. It was slower than the original.
1685 2009-01-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1687 * src/filedumper.c: Print out the longest segment.
1690 Some optimisations. Increase the number of result bins and change
1691 find_insert_result() into insert_result().
1693 2009-01-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1695 * src/optimiser.c: Introduced some new data types to simplify the code.
1697 * src/filedumper.c: Print more useful information.
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.
1706 2009-01-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1708 * src/ways.c: New file.
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.
1714 2009-01-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1720 2009-01-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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.
1725 * src/optimiser.c, src/router.c, src/Makefile: Print out the results.
1727 2008-12-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
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: