1 2010-10-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
5 2010-10-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
7 * doc/README.txt, doc/NEWS.txt: Updated for version 1.5.
9 2010-10-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
12 Use sqrt() function to reduce the effect of property preferences close to 50%.
13 Ensure that preferences cannot equal zero (error on division).
15 * doc/ALGORITHM.txt, doc/INSTALL.txt, doc/USAGE.txt:
16 Updated with information about the new features.
18 * doc/CONFIGURATION.txt, doc/TAGGING.txt:
19 Add in the footroute and bicycleroute configuration options and route relation
22 2010-10-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
24 * src/files.c: Fixed some comments for recent changes.
26 2010-10-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
28 * xml/routino-profiles.xml:
29 Add footroute and bicycleroute to the profiles.
31 * src/files.c, src/files.h, src/relationsx.c:
32 The ReOpenFile() function cannot be read/write because it stops the router
33 running with read-only access to the database.
35 * src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/superx.c:
36 Fix previous check-in on this set of files.
38 * src/xmlparse.l: Ensure that comparisons are made with unsigned chars.
40 2010-10-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
42 * src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/superx.c:
43 Don't try mapping a file if it is zero length (e.g. no super-segments).
45 * src/files.c, src/files.h, src/relationsx.c:
46 Add a function to map a file writeable and use it for updating the ways when
47 processing route relations.
50 Avoid self-recursion and adding route information to relations that already have
53 2010-09-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
55 * src/osmparser.c, src/relationsx.c, src/relationsx.h, src/waysx.h:
56 Apply the route=bicycle or route=foot tags from the relation to all ways
57 contained in it and to all ways in all sub-relations of it (including recursion
58 to depth 5). This requires all relations to be stored even if not routes
59 because they might be included by another relation that is.
61 * src/segmentsx.c: Don't sort the (super-)segments if there are none.
63 * src/nodesx.c, src/functions.h, src/sorting.c:
64 Rename the heapsort() function to filesort_heapsort().
66 2010-09-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
68 * src/files.c, src/files.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
69 Change the names of the functions used to open files, change the ReOpen function
72 * src/relationsx.c: Remove the sorting of the route relations.
74 2010-09-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
76 * src/nodesx.c, src/segmentsx.c:
77 Zero the NodesFile and SegmentsFile data structures before writing them (zeros
80 * src/planetsplitter.c, src/waysx.c, src/waysx.h:
81 Split the sorting of waysx from the compacting so that the route relation
82 information can be included before compacting.
84 * xml/routino-tagging.xml, src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
85 Parse relations and extract foot and bicycle routes to be added as properties to
88 * src/types.c, src/types.h: Add footroute and bicycleroute properties.
90 * src/relationsx.c, src/relationsx.h: New file.
92 * src/typesx.h, src/Makefile:
93 Add files and datatypes for processing relations.
95 * xml/routino-tagging-nomodify.xml, xml/routino-tagging.xsd, src/tagging.c:
96 Process tags for relations.
98 2010-09-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
100 * src/waysx.c, src/segmentsx.c, src/nodesx.c:
101 Fix the comment for the Append...() function.
103 2010-09-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
105 * xml/routino-profiles.xml, xml/routino-tagging.xml, xml/routino-translations.xml,
106 src/output.c, src/translations.c, src/types.c, src/types.h:
107 Add routing on ferries.
109 * src/filedumper.c, src/planetsplitter.c, src/router.c:
110 Bug fix for last change.
112 * src/filedumper.c, src/planetsplitter.c, src/router.c:
113 Improve the usage information to tell which command line argument was in error.
116 Fix --help-profile-perl option and make perl and JSON outputs more pretty.
118 * src/router.c, src/planetsplitter.c:
119 Usage message has wrong option name.
122 Fix last change to make UTF-8 parsing more strict, also added strict conversion
123 to XML-safe character references.
125 * src/translations.c:
126 Convert translations read from file into XML-safe encodings before using them.
128 * src/output.c: HTML file has UTF-8 meta-tag.
130 * xml/routino-translations.xml:
131 Revert to UTF-8 multi-byte representations instead of character references.
133 2010-09-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
135 * src/xmlparse.l: Stricter checking on XML data (Unicode).
137 2010-09-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
139 * xml/Makefile, src/Makefile, doc/Makefile, Makefile:
140 Move all of the installation pathnames to the top level Makefile and include it
141 into the lower level makefiles.
143 * src/planetsplitter.c, src/router.c, src/tagmodifier.c:
144 Use the installed tagging.xml, profiles.xml or translations.xml files as the
145 fallback option if no other given.
147 2010-09-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
149 * xml/routino-translations.xml:
150 Change German translations from named HTML character encodings to numeric ones
151 (works in GPX files as well as HTML).
153 * xml/routino-translations.xml:
154 Added Dutch translations (from Jan Jansen).
156 2010-08-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
158 * xml/routino-translations.xml:
159 Change German translation to UTF-8, add comments indicating the origin of the
162 * xml/routino-tagging-nomodify.xml:
163 Relation rules are not allowed at all.
165 * xml/Makefile, src/Makefile, doc/Makefile, Makefile:
166 Added 'install' to top level (and lower) Makefiles.
168 * src/ways.h, src/output.c:
169 Change the names of the functions used to get the highway names.
172 Only print the way name in OSM output when the way has a name.
173 Change the names of the functions used to get the highway names.
175 * src/profiles.c: Fix bug with writing out JSON profile information.
177 2010-08-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
179 * src/ways.h, src/output.c:
180 Change the names of the functions used to get the highway names.
183 Only print the way name in OSM output when the way has a name.
184 Change the names of the functions used to get the highway names.
186 * src/profiles.c: Fix bug with writing out JSON profile information.
188 2010-08-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
190 * src/output.c, src/segmentsx.c, src/types.h, src/fakes.c, src/functions.h, src/nodesx.c,
192 Change the way that fake nodes and segments are recognised (allows nearly 4G
193 nodes to be stored instead of 2G nodes).
195 2010-08-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
197 * src/filedumper.c, src/nodes.h, src/nodesx.c, src/optimiser.c, src/types.h:
198 Rename the variables that hold the node allowed transports and flags.
200 2010-08-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
202 * xml/routino-tagging-nomodify.xml, xml/routino-tagging.xml, xml/routino-tagging.xsd,
203 src/filedumper.c, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c,
204 src/superx.c, src/tagging.c, src/types.h:
205 Understand node traffic type restrictions.
207 2010-07-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
209 * src/profiles.h, src/types.c, src/types.h, src/ways.h, src/waysx.c:
210 Rename the wayallow_t type to allow_t (since it applies to nodes as well now).
212 * src/filedumper.c, src/nodes.h, src/nodesx.c, src/segmentsx.c, src/types.h:
213 Add extra information to a node to store turn restrictions and properties.
214 (Move the super-node bit from the first segment to here.)
216 * src/nodesx.c, src/segmentsx.c, src/waysx.c:
217 Assert if the number of nodes, segments or ways exceeds the legal range of the
220 * src/nodes.h, src/nodesx.h, src/segments.h, src/segmentsx.h, src/ways.h, src/waysx.h:
221 Change the data types to index_t where they are counting nodes/segments/ways.
223 * src/nodes.h, src/nodesx.h, src/segments.h, src/segmentsx.h, src/ways.h, src/waysx.c,
225 Ensure that seeking within a file uses a 64-bit offset.
227 * src/nodesx.c, src/segmentsx.c, src/superx.c, src/waysx.c:
228 Remove the assert statements that check the order of calling the functions.
230 2010-07-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
232 * src/filedumper.c, src/nodes.c, src/nodes.h, src/visualiser.c:
233 Final part of slim mode for the router (node offsets).
235 2010-07-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
237 * src/nodesx.c, src/segmentsx.c, src/waysx.c:
238 Some tidying up of the writing of the file headers.
240 * src/ways.c, src/ways.h, src/waysx.c, src/filedumper.c, src/nodes.c, src/optimiser.c,
241 src/output.c, src/profiles.c, src/visualiser.c:
242 Finished slim mode for the router by adding ways.
244 2010-07-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
246 * src/filedumper.c, src/nodes.c, src/nodes.h, src/output.c, src/segments.c, src/segments.h,
248 Added slim mode to the router for segments.
250 * src/Makefile: Add the fakes.c file.
252 * src/optimiser.c, src/results.c, src/results.h:
253 Change the results structure to hold the index of the segment instead of a
256 * src/types.h, src/router.c, src/functions.h:
257 Move the fake nodes and segments to a new file.
259 * src/fakes.c: New file.
261 2010-07-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
263 * xml/routino-profiles.xml:
264 Reduce the "multilane" preference for motor vehicles. Gives too much bias with
267 2010-07-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
269 * src/Makefile, src/filedumper.c, src/nodes.c, src/nodes.h, src/nodesx.c, src/visualiser.c:
270 Added a slim mode to the router (just for nodes to start with).
272 2010-07-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
274 * src/segmentsx.h, src/superx.c, src/waysx.c, src/waysx.h, src/Makefile, src/nodesx.c,
275 src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
276 Replaced the runtime selection of slim mode / non-slim mode with compile time
277 selection that gives no runtime overhead but gives two executables.
279 2010-07-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
281 * src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/segmentsx.h, src/waysx.c, src/waysx.h:
282 Move the functions for slim mode out into the header file and make it inline.
284 2010-07-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
286 * src/files.h: New file.
288 * src/segmentsx.h, src/sorting.c, src/superx.c, src/tagging.c, src/tagmodifier.c,
289 src/translations.c, src/ways.c, src/waysx.c, src/waysx.h, src/filedumper.c, src/files.c,
290 src/functions.h, src/nodes.c, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/output.c,
291 src/planetsplitter.c, src/profiles.c, src/router.c, src/segments.c, src/segmentsx.c:
292 Create a files.h header and put some of the most heavily used files.c functions
293 into it and make them inline.
295 2010-07-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
297 * src/segmentsx.c, src/segmentsx.h, src/files.c, src/nodesx.c, src/nodesx.h:
298 Made the planetsplitter slim mode handle the output node and segment data in a
299 slim way as well as in the input data.
301 * src/nodesx.c, src/segmentsx.c, src/waysx.c:
302 Change the names of the temporary files.
304 2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
306 Version 1.4.1 released
308 2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
310 * doc/NEWS.txt: Update NEWS for release.
313 Update documentation for slight modification to algorithm, also add more
314 information about how preferences etc are handled.
316 2010-07-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
319 Default compilation flags include optimisation and not debugging symbols.
321 2010-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
324 Fix error with finding closest segment to the specified point.
327 Bug fix for not crashing when finding the middle part of the route.
329 2010-07-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
331 * src/results.c, src/optimiser.c:
332 Changed the amount of memory allocated for intermediate results => routes much
335 * src/output.c: Remove compilation warning.
338 Copy files to web directory like done in other Makefiles.
341 Change location of HTML files in web directory and clean up web directory on distclean.
343 * src/xml/Makefile: Stop message being printed when make runs.
346 Fix error from last checkin and clean up web directory on distclean.
348 2010-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
351 Don't crash if the middle part of the route can't be found but exit cleanly.
353 2010-07-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
355 * src/superx.c: Change the algorithm used to determine supernodes.
357 2010-07-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
359 * xml/routino-translations.xml:
360 Added German translation [patch from Christoph Eckert].
362 * src/translations.c:
363 Don't crash if more than one language is in translations.xml but --language
366 2010-06-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
368 * src/router.c: Don't crash if start and finish are the same point.
370 2010-06-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
372 * doc/DATA.txt: New file.
374 * doc/ALGORITHM.txt, doc/CONFIGURATION.txt, doc/INSTALL.txt, doc/OUTPUT.txt, doc/README.txt,
375 doc/TAGGING.txt, doc/USAGE.txt:
376 Updated documentation to match new web site.
378 * doc/Makefile: New file.
380 * xml/Makefile: Add some new variables.
382 2010-06-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
384 * xml/routino-profiles.xml, xml/routino-tagging-nomodify.xml, xml/routino-tagging.xml,
385 xml/routino-translations.xml, src/translations.c:
386 Changed URLs to http://www.routino.org/
388 * doc/README.txt: *** empty log message ***
390 * doc/OUTPUT.txt: Changed URLs to http://www.routino.org/
392 2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
396 2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
398 * doc/INSTALL.txt, doc/NEWS.txt, doc/README.txt:
399 Update for version 1.4.
401 * src/xml/Makefile: Make sure that distclean really cleans up.
403 * Makefile: Make sure that xml sub-directory is made.
406 Fix the code that should stop routing if no segment is found.
408 2010-05-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
411 Add the planetsplitter tagging rules option (and remove the unnecessary options
412 that it replaces), add the filedumper OSM dump option and add the tagmodifier
415 * doc/TAGGING.txt: Describe the new tagging rules.
417 * doc/OUTPUT.txt: Note that the HTML and GPX outputs are translated.
419 * doc/CONFIGURATION.txt: Add the tagging rules configuration file.
421 * doc/ALGORITHM.txt: An update to the current size of the UK database.
423 * xml/routino-tagging-nomodify.xml: New file.
426 A tagging XML file must be read (just like planetsplitter).
429 Add the option to dump a region rather than all and to not output super
432 * src/optimiser.c: Fix printing the number of super-segments tried.
434 2010-05-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
436 * xml/routino-translations.xml, xml/routino-translations.xsd, src/ways.h, src/filedumper.c,
437 src/osmparser.c, src/output.c, src/translations.c, src/translations.h:
438 Translate the names given to unnamed roads (the highway type).
440 * src/profiles.c, src/profiles.h, src/router.c:
441 Stricter check on specified profile before routing.
443 * src/router.c: Ensure that if no segment is found the routing stops.
446 When finding a closest segment one of the nodes must be within the search
449 2010-05-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
451 * src/router.c: Make sure that some profiles are loaded.
453 2010-05-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
455 * src/optimiser.c, src/profiles.c:
456 Fix bug with profile preferences (used incorrectly in route optimisation).
458 * src/Makefile, src/filedumper.c, src/types.c, src/types.h:
459 Add an option to filedumper to dump an OSM format file.
461 2010-05-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
463 * src/xmlparse.l: Fix bug with encoding XML strings.
465 2010-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
468 Make sure that modified files are copied to web directory.
471 Fix bug when filename is specified on command line.
473 * src/tagging.c, src/tagging.h, src/tagmodifier.c, src/xmlparse.l, src/osmparser.c:
474 Fix some memory leaks.
476 * src/tagmodifier.c, xml/osm.xsd, xml/routino-osm.xsd, src/osmparser.c:
477 Add the 'bound' element to the XML parser.
479 2010-05-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
481 * src/functionsx.h, src/osmparser.c, src/planetsplitter.c, src/ways.h, src/waysx.c,
483 Remove the --transport=<transport>, --not-highway=<highway> and
484 --not-property=<property> options from planetsplitter because they can be done
485 by the tagging.xml file now.
487 2010-05-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
489 * src/Makefile: Add tagmodifier program.
491 * src/xmlparse.l: Handle floating point numbers in scientific notation.
493 * src/planetsplitter.c:
494 Read in the tag transformation rules before calling the OSM parser.
496 * src/functionsx.h, src/osmparser.c:
497 Almost completely re-written OSM parser using tagging transformations.
499 * src/tagmodifier.c, src/tagging.h, src/tagging.c: New file.
501 * xml/Makefile: Copy the tagging rules to the web directory.
503 * xml/routino-tagging.xml, xml/routino-tagging.xsd, xml/routino-osm.xsd:
506 * xml/osm.xsd: Small fix for OSM schema.
508 2010-05-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
510 * src/types.c: Remove highway type aliases from HighwayType() function.
512 * src/xmlparse.h, src/xmlparse.l: Allow empty strings to be returned.
514 2010-05-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
516 * src/xmlparse.h, src/xmlparse.l:
517 The line number is now a long integer.
519 * src/xml/Makefile: Running 'make test' now compiles everything first.
521 2010-04-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
523 * src/xml/Makefile: Delete zero length file if xsd-to-xmlparser fails.
525 * src/nodes.c, src/nodesx.c, src/segments.c, src/segmentsx.c, src/ways.c, src/waysx.c:
526 Change file format to allow 64-bit off_t type with 32 bit void* type.
528 * src/Makefile, src/filedumper.c, src/xml/Makefile:
529 Compile with _FILE_OFFSET_BITS=64 to get 64-bit fopen() and stat().
531 2010-04-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
533 * src/output.c: Fix mistake of writing GPX information to wrong file.
535 * doc/OUTPUT.txt, doc/CONFIGURATION.txt: New file.
537 * doc/TAGGING.txt, doc/USAGE.txt, doc/ALGORITHM.txt, doc/INSTALL.txt, doc/NEWS.txt,
539 Interim checkin of updated documentation.
541 2010-04-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
544 Merged the three functions to output the head/body/tail of the results back into
545 a single function. Added the '--output-none' option.
547 * src/functions.h, src/output.c:
548 Merged the three functions to output the head/body/tail of the results back into
551 * xml/routino-translations.xml, xml/routino-translations.xsd, src/output.c,
552 src/translations.c, src/translations.h:
553 Added translations for the HTML output.
555 * src/xmlparse.h, src/xmlparse.l: Changed functions from const.
558 Add the copyright information into the translations.xml file instead of the
559 separate copyright.txt file. Add the translated copyright strings into the
562 * src/functions.h, src/router.c, src/translations.c, src/translations.h:
563 Add the copyright information into the translations.xml file instead of the
564 separate copyright.txt file.
566 * src/xmlparse.h, src/xmlparse.l:
567 Add an option to not convert the XML strings into decoded representations (saves
568 converting them back later for the translated strings).
570 2010-04-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
572 * src/xml/xsd-to-xmlparser.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
574 Pass the tag name to the tag function.
576 2010-04-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
578 * Makefile: Fix bug in makefile.
580 * xml/Makefile: Move the translations into the web directory.
582 * xml/routino-translations.xml, xml/routino-translations.xsd: New file.
584 * src/output.c: Changed HTML output to be useful in web pages.
587 Restart properly so that a different file can be read.
589 2010-04-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
591 * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c:
592 Name the tag variables and functions after the XSD data type and not the tag
595 2010-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
597 * src/profiles.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
598 src/xml/xsd-to-xmlparser.c, src/xml/Makefile:
599 Change the last parameter to the ParseXML function to be general options.
601 * src/Makefile, src/types.h, src/ways.c, src/ways.h:
602 Move the type checking/printing functions from way.c to type.c.
604 * src/types.c: New file.
606 2010-04-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
608 * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c, src/xmlparse.h,
610 Added helper functions for parsing strings into numbers.
611 Added macros to perform common error checking.
612 Change XML parser callback functions to return an error status.
614 2010-04-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
616 * src/router.c: Fix usage information.
618 * src/translations.h, src/translations.c: New file.
620 * src/output.c: Added translations for GPX and turn/heading.
622 * src/Makefile, src/router.c:
623 Added file of translations and language selection.
625 2010-04-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
627 * src/functions.h, src/planetsplitter.c, src/sorting.c:
628 Add an option '--sort-ram-size' to specify the RAM to use for sorting - defaults
629 to 256MB if not using slim mode.
631 2010-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
633 * src/xml/Makefile: Fix test program generation and running.
635 * src/xmlparse.h, src/xmlparse.l:
636 Make the strings const and add the number of attributes to the xmltag structure.
637 Add functions to convert character entities and character references.
639 * src/profiles.c, src/xml/xsd-to-xmlparser.c:
640 Make the strings const and add the number of attributes to the xmltag structure.
642 2010-04-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
644 * xml/Makefile: New file.
646 2010-04-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
649 Remove special lex/flex flags. Remove profiles.o from planetsplitter.
651 * src/xml/xsd-to-xmlparser.c:
652 Don't print anything for attributes that are not set.
655 Change error message for bad character in a quoted string.
656 Make sure attribute values are cleared before calling tag function (for
659 2010-04-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
661 * src/xml/Makefile: Add some XML parsing test cases.
663 * src/xml/xsd-to-xmlparser.c: Rename the XML handling function.
665 * src/xmlparse.h, src/xmlparse.l, src/profiles.c: Added error checking.
667 2010-04-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
669 * src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
670 Rename the old ParseXML() function as ParseOSM().
672 2010-04-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
674 * src/output.c: Wrap GPX descriptions in CDATA.
676 2010-03-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
678 * xml/routino-profiles.xml: New file.
680 * src/xml/xsd-to-xmlparser.c, src/profiles.c, src/xmlparse.h, src/xmlparse.l:
681 Call the XML tag functions for the end tags as well as the start tags.
683 2010-03-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
685 * src/profiles.c, src/profiles.h:
686 Change the name of the --profile-json and --profile-perl options.
688 * src/filedumper.c, src/planetsplitter.c, src/router.c:
689 Improve the program help messages.
691 2010-03-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
693 * src/files.c, src/functions.h, src/profiles.c, src/profiles.h, src/router.c:
694 Added command line option to specify a file containing profiles.
695 Added command line option to select profile by name from loaded set.
696 Use XML parser to read in the profiles.
698 * src/Makefile: Better handling of the xml sub-directory.
700 * src/xml/xsd-to-xmlparser.c:
701 Add the option to ignore unknown attributes.
702 Print out the skeleton file using static functions and variables.
704 * src/xml/Makefile: Keep the intermediate files.
706 * src/xmlparse.h, src/xmlparse.l:
707 Add the option to ignore unknown attributes.
709 2010-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
711 * src/profiles.h, src/router.c, src/profiles.c:
712 Add an option to print out the profiles as XML format.
714 * src/xmlparse.h, xml/xsd.xsd, xml/osm.xsd, src/xml/xsd-to-xmlparser.c:
717 * src/Makefile: Added the XML subdirectory and xmlparser.c.
719 * src/xmlparse.l, src/xml/Makefile: New file.
721 2010-03-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
723 * src/output.c: Add descriptions to each point in the GPX route file.
725 * src/files.c, src/functions.h, src/nodesx.c, src/output.c, src/segmentsx.c, src/waysx.c:
726 Move the stat() calls to find a file size into a helper function in files.c.
728 * src/files.c, src/output.c, src/planetsplitter.c:
729 Improve the error messages by adding strerror() to them.
731 * src/filedumper.c, src/router.c:
732 Don't check the return value of the functions to load the nodes, segments and
733 ways because those functions will exit in case of an error.
735 * src/nodes.c, src/segments.c, src/ways.c:
736 Don't check the return value of MapFile() because it will exit in case of an
739 * src/planetsplitter.c:
740 Allow filenames on the planetsplitter command line.
742 2010-03-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
744 * src/waysx.h, src/filedumper.c, src/files.c, src/functions.h, src/nodesx.c, src/nodesx.h,
745 src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c, src/waysx.c:
746 Allow planetsplitter to be run with a --parse-only or --process-only option and
747 append to existing file or read from existing file.
749 2010-03-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
751 * src/router.c: Fix usage message error and shuffle order.
753 * src/output.c, src/router.c:
754 Allow selection of which outputs are to be created.
756 2010-03-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
758 * src/output.c: Re-order the code for HTML.
760 2010-03-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
762 * src/output.c: Create a simple HTML output.
764 2010-03-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
766 * src/router.c, src/nodes.c:
767 Speed up start/via/stop point search algorithm.
769 2010-03-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
772 Change the format of the output for the --help-profile-{pl|js} options.
774 2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
778 2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
780 * doc/NEWS.txt: Update to latest news.
782 2010-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
784 * doc/USAGE.txt, doc/TAGGING.txt, doc/INSTALL.txt:
785 Updated documentation.
787 2010-01-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
789 * src/router.c, src/functions.h:
790 Change the test output formats to add turn, node type and bearing information.
792 2010-01-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
795 Change the test output formats to add turn, node type and bearing information.
797 2009-12-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
800 Added an option to use only nodes and not interpolate a point into a segment.
802 2009-12-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
804 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
805 Added wheelchair as type of transport.
807 2009-12-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
809 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
810 Add bridge and tunnel to highway properties.
812 2009-12-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
815 Ignore the error if executables cannot be copied after compiling.
817 * src/functions.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
818 Add some FILESORT_* #defines and use them.
820 2009-12-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
822 * src/functions.h, src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c,
823 src/waysx.c, src/waysx.h:
824 Added a new function to sort variable length data - simplifies the compacting of
825 ways, reduces memory usage potentially required for it and simplifies the code.
827 2009-12-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
830 Write out the list of ways without memory mapping anything.
832 2009-11-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
834 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
835 Add in "multilane" as a new highway property.
837 2009-11-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
839 * src/filedumper.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/profiles.h,
840 src/router.c, src/ways.h, src/waysx.c, src/waysx.h:
841 Store the selected options when parsing (planetsplitter) and display them in the
842 statistics (filedumper) and check them when routing (router).
844 2009-11-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
846 * src/osmparser.c, src/output.c, src/profiles.c, src/types.h, src/ways.c:
847 Add in "steps" as a new highway type.
849 2009-11-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
851 * src/optimiser.c, src/router.c:
852 Made the verbose output consistent between different places.
854 2009-11-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
856 * src/router.c: Fix bug with previous segment-splitting routing.
858 2009-11-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
860 * src/optimiser.c, src/output.c, src/router.c, src/segments.h, src/functions.h, src/nodes.c,
862 If a selected waypoint is not very close to an existing node then insert a fake
863 node in the segment that comes closest and use that instead.
865 2009-11-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
867 * src/optimiser.c, src/osmparser.c, src/queue.c, src/results.c, src/results.h, src/types.h:
868 Added in some more constants with the value ~0.
870 2009-11-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
873 Check the values for the --node=, --segment= and --way= options.
875 2009-11-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
877 * src/output.c, src/planetsplitter.c, src/profiles.c, src/profiles.h, src/router.c,
878 src/types.h, src/ways.c:
879 Rename Way_Unknown to Way_Count to make more sense and match the properties.
881 2009-11-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
883 * src/osmparser.c: Allow the tag "paved" as well as "surface=paved".
885 * src/filedumper.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/profiles.c,
886 src/profiles.h, src/router.c, src/types.h, src/ways.c, src/ways.h:
887 Added the ability to set routing preferences using highway properties.
888 Initially the only choice is either paved or unpaved but the code has been
889 updated to allow any number of properties to be added.
891 2009-10-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
894 Handle the "designation=..." tag for bridleway, byway and footpath. (Also
895 change to using a macro for testing if access is allowed and now allow
898 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c, src/ways.h:
899 Added Moped to the list of transports (and incidentally increased the transport
900 data type to 16 bits and re-ordered the Way data-type in response).
902 2009-10-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
905 Ensure that horses and bicycles have a default speed on trunk even though they
906 have a default preference not to use it.
908 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
909 Re-ordered the types so that Horse comes before Bicycle.
911 * src/osmparser.c, src/output.c, src/profiles.c, src/types.h, src/ways.c:
912 Remove the Bridleway and Footway highway types and use the Path type instead
913 (also re-ordered the types so that Cycleway comes before Path).
915 * src/profiles.c: Remove unneeded spaces at the end of the output.
917 2009-10-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
920 Fix bug in code that determines waypoints for abbreviated output.
922 2009-10-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
924 * src/functions.h, src/optimiser.c, src/router.c:
925 Fix missing segments in output if start and finish points are found by the start
928 2009-10-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
930 * src/files.c, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/superx.c, src/waysx.c:
931 Added some missing comments and corrected some existing ones.
933 2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
937 2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
939 * doc/README.txt, doc/USAGE.txt, doc/NEWS.txt: Updated for version 1.2.
941 2009-10-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
943 * src/Makefile: Add sorting.o to the Makefile.
945 2009-10-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
947 * src/waysx.c: When sorting we cannot have NULL pointers now.
949 * src/nodesx.c, src/segmentsx.c, src/waysx.c:
950 Re-order the functions in the file into a more logical order.
951 No functional changes.
953 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
954 Rename the tmpdirname variable.
956 2009-10-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
958 * src/nodesx.c, src/osmparser.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
959 Corrections after running with valgrind.
961 * src/planetsplitter.c: Fix early termination test.
963 * src/nodesx.c, src/nodesx.h, src/segmentsx.c:
964 Remove the nodesx->gdata index.
966 2009-10-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
968 * src/nodesx.c, src/segmentsx.c, src/typesx.h, src/waysx.c, src/waysx.h:
969 Free the nodesx->super array and the segmentsx->firstnode array when finished
970 with them. Remove wayx->cid and overwrite wayx->id instead. Overwrite
971 nodex[i]->id=i for later geographically sorted use.
973 2009-10-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
975 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
976 Replace node, segment and way indexes with a single index for a set of segments
977 containing the location of the first segment for each node.
979 * src/nodesx.h: Fix comment.
981 2009-10-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
983 * src/osmparser.c, src/segmentsx.c, src/superx.c:
984 AppendSegment adds a single segment and not a pair.
986 * src/waysx.c: Use heapsort() instead of qsort().
988 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
989 src/superx.c, src/waysx.c:
990 Go back to the version 1.1 method of having each segment listed twice. This
991 simplifies the lookup of first/next segments at no in-RAM index cost and now
992 that slim mode has sorting of file contents the balance has tipped back.
994 2009-10-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
996 * src/functions.h, src/sorting.c:
997 Change the sort function to allow the indexing callback to veto the write.
999 * src/nodesx.c: Remove the duplicates when sorting.
1002 Sort the ways using the same method as the nodes. Also remove the duplicates.
1005 Use the new sort functions to allow sorting the data in the file without needing
1006 to read (or mmap) the whole file into RAM at the same time.
1008 * src/functions.h: Add some functions to perform sorting.
1010 * src/sorting.c: New file.
1012 * src/queue.c: Fix bug with binary heap sort.
1014 2009-09-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1016 * src/queue.c: Add comments describing the algorithm used.
1018 2009-09-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1020 * src/nodesx.c, src/waysx.c:
1021 Simplify the de-duplication when sorting and update some comments.
1023 2009-09-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1025 * src/nodesx.c, src/nodesx.h:
1026 Remove a leftover from the last change on these files.
1028 * src/segmentsx.c: Improve the super-segment de-duplication.
1030 2009-09-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1032 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c:
1033 Remove the non-highway nodes without re-sorting the whole list again.
1035 2009-09-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1037 * src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/superx.c, src/waysx.c,
1039 Added the slim mode to Ways as well.
1041 * src/ways.h: Add padding to Ways structure to allow it to be zeroed.
1043 * src/nodesx.c: Add some comments when closing and re-opening files.
1045 * src/files.c, src/functions.h:
1046 The WriteFile function now has a const parameter.
1048 2009-09-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1050 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
1051 Some bug fixes and some missing unmap function calls.
1053 2009-09-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1055 * src/segmentsx.h, src/superx.c, src/nodesx.c, src/nodesx.h, src/segmentsx.c:
1056 Fixed slim mode for segments and nodes (slim now means mapping only one file
1057 into RAM at a time and none when creating the final output).
1059 2009-09-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1061 * src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c,
1062 src/superx.h, src/nodesx.c:
1063 Slim version of segments code (still very slow and only works on simple cases).
1065 * src/files.c, src/functions.h:
1066 Remove the delete option from UnmapFile() and make it return NULL.
1068 * src/filedumper.c: Allow dumping all nodes, segments or ways.
1070 2009-09-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1072 * src/nodesx.c: Don't re-sort unnecessarily.
1074 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/superx.c:
1075 Improve slim mode for nodes so that no data is not loaded into RAM at all.
1077 * src/files.c, src/functions.h: Add some more file functions.
1079 2009-09-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1081 * src/nodesx.c, src/files.c, src/functions.h:
1082 Remove extra argument from MapFile function.
1084 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/superx.c:
1085 Added slim mode (--slim) to planetsplitter for nodes only.
1087 * src/files.c, src/functions.h:
1088 Changes to mapping and unmapping files for slim mode.
1090 2009-08-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1092 * src/planetsplitter.c: Revert the order that the functions are called.
1094 * src/nodesx.c: Fix for assert statement.
1096 * src/files.c: Bug fix for mmap().
1098 2009-08-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1100 * src/osmparser.c: Fix bug with memory allocation.
1102 2009-08-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1104 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1105 src/superx.c, src/waysx.c, src/waysx.h:
1106 Remove "sorted" parameter in data structure and change assert statements.
1108 2009-08-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1111 Increase to 99 the number of waypoints that can be specified.
1113 2009-08-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1115 * src/queue.c: Fix comment.
1118 Tidy the compilation options to make it easier to turn them on and off.
1121 Remove the --all, --super and --no-output command line options.
1122 Handle the renamed routing functions.
1124 * src/functions.h, src/optimiser.c:
1125 Rename the routing functions and make FindRoute only find routes with no
1126 super-nodes in them.
1129 When popping from queue make sure that place in queue is cleared.
1131 * src/optimiser.c, src/queue.c, src/results.c, src/results.h, src/superx.c:
1132 Optimise the priority queue used for routing.
1134 * src/filedumper.c: Fix dumping nodes when they are super-nodes.
1136 2009-07-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1138 * src/Makefile, src/optimiser.c, src/results.c, src/results.h, src/superx.c:
1139 Split off queue functions into a separate file.
1141 * src/queue.c: New file.
1143 2009-07-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1145 * src/nodesx.c, src/segments.h, src/segmentsx.c, src/ways.h, src/waysx.c, src/filedumper.c,
1147 Include the number of super-nodes, super-segments etc in the database as useful
1148 information to put in the statistics output.
1150 * src/superx.c: Fix incorrect progress indicator message.
1152 * src/waysx.c: Fix problem with memory reallocation.
1154 * src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1156 Store only one copy of each segment but index once for each direction.
1158 2009-07-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1160 * src/functionsx.h, src/nodesx.c, src/nodesx.h, src/osmparser.c, src/output.c,
1161 src/planetsplitter.c, src/profiles.c, src/results.c, src/segments.c, src/segmentsx.c,
1162 src/segmentsx.h, src/superx.c, src/superx.h, src/ways.h, src/waysx.c, src/waysx.h:
1163 Tidy up and fix comments and include files.
1165 * src/osmparser.c, src/planetsplitter.c, src/router.c, src/segmentsx.c, src/superx.c,
1166 src/waysx.c, src/filedumper.c, src/nodesx.c, src/optimiser.c:
1167 Check all print statements and made them more consistent and/or accurate.
1169 2009-07-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1171 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/waysx.c,
1173 Free memory at the end of planetsplitter (to aid finding potential leaks
1176 2009-07-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1178 * src/segmentsx.c: Free memory correctly (really).
1180 * src/planetsplitter.c, src/waysx.c, src/waysx.h:
1181 Separate the sorting of Ways from compacting of Ways.
1183 * src/nodes.h, src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/visualiser.c,
1184 src/filedumper.c, src/nodes.c:
1185 Rename structure members after recent changes.
1187 * src/segmentsx.c: Free memory correctly.
1189 * src/types.h, src/segmentsx.c: Fix duplicate checking.
1191 * src/planetsplitter.c: Ensure that variable is reset before using it.
1193 * src/types.h, src/visualiser.c, src/visualiser.h, src/filedumper.c, src/nodes.c,
1194 src/nodes.h, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c, src/output.c,
1195 src/router.c, src/segments.c, src/segments.h, src/segmentsx.c:
1196 Change from float to double for latitude and longitude.
1197 Store latitude and longitude as an integer type rather than float (higher precision).
1199 2009-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1201 * src/superx.c: Ensure that variable is reset before using it.
1203 2009-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1206 Print all super-segments within and crossing the border.
1207 Don't display speed limits for tracks and paths unless set.
1209 2009-07-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1211 * src/segmentsx.h, src/superx.c, src/waysx.c, src/waysx.h:
1212 Change data structure to avoid calling realloc() each time to allocate more
1215 2009-07-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1217 * src/types.h, src/waysx.c, src/waysx.h:
1218 Handle duplicate ways.
1220 * src/nodes.c, src/nodesx.c, src/planetsplitter.c, src/profiles.c, src/results.c,
1221 src/segments.c, src/segmentsx.c, src/superx.c, src/superx.h, src/types.h, src/ways.c,
1223 Fix some gcc pedantic warnings.
1225 * src/files.c, src/nodesx.c, src/osmparser.c, src/results.c, src/router.c, src/segments.c,
1226 src/segmentsx.c, src/superx.c, src/ways.c, src/waysx.c:
1227 Removed unused header files, change assert statements, tidy some code.
1229 2009-07-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1231 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
1232 Remove the Node structure from the NodeX structure to save memory.
1235 Print latitude and longitude in degrees.
1237 2009-06-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1240 Re-order the data in the structure.
1242 * src/nodesx.c, src/nodesx.h, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c,
1243 src/segmentsx.h, src/superx.c, src/waysx.h:
1244 Remove the Segment structure from the SegmentX structure to save memory.
1246 2009-06-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1248 * src/filedumper.c, src/nodes.h, src/nodesx.c, src/segments.c, src/segments.h,
1249 src/segmentsx.c, src/superx.c, src/types.h:
1250 Move the super-segment and normal-segment flags from the nodes to the distance.
1251 Remove the NODE() macro and rename SUPER_FLAG to NODE_SUPER.
1253 * src/waysx.c: Replace memmove with structure copy.
1255 * src/nodesx.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
1256 Rename SegmentsX sdata to ndata.
1258 2009-06-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1260 * src/waysx.c, src/waysx.h: Rename part of the structure.
1262 * src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
1263 src/superx.c, src/waysx.h:
1264 Undo part of the previous change - only update the Segment way index at the end.
1266 * src/waysx.h, src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c,
1267 src/segmentsx.h, src/superx.c, src/superx.h, src/typesx.h, src/waysx.c:
1268 Reduce the number of ways in the output by compacting them (sharing the same
1269 information between identical ways).
1271 2009-06-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1273 * src/filedumper.c, src/nodes.h:
1274 Allow dumping out of nodes, segments and ways.
1276 2009-06-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1278 * src/segmentsx.c, src/superx.c, src/visualiser.c, src/ways.c, src/ways.h:
1279 Rename WaysSame() with WaysCompare() and reverse the sense of the output.
1281 * src/functionsx.h, src/typesx.h: New file.
1283 * src/functions.h, src/nodesx.h, src/osmparser.c, src/planetsplitter.c, src/segmentsx.h,
1284 src/superx.h, src/types.h, src/waysx.h:
1285 Put some of types.h into typesx.h (for extended data types).
1286 Put some of functions.h into functionsx.h (for OSM parser).
1287 Change included files to match.
1289 * src/filedumper.c, src/osmparser.c, src/output.c, src/router.c, src/types.h, src/visualiser.c:
1290 Add a macro for converting degrees to radians and radians to degrees.
1293 Fix weight, height, width, length restriction routing.
1295 * doc/TAGGING.txt, src/osmparser.c:
1296 Recognise tags "vehicle" and "motor_vehicle".
1298 2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1300 Version 1.1 released
1302 2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1304 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h:
1305 Handle nodes that are missing from the .osm file (ignore the segment).
1308 Revert the last change (Print an error message and exit if a node cannot be found).
1310 * doc/NEWS.txt: New file.
1313 Delete the executables from the web directory for 'distclean'.
1315 2009-06-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1317 * doc/USAGE.txt, doc/INSTALL.txt, doc/README.txt:
1318 Update the documentation.
1320 * src/Makefile: Copy the executables into the web directory.
1322 2009-06-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1324 * src/filedumper.c: Change help text.
1327 Change format of super-node/segment visualiser output.
1329 2009-06-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1331 * doc/TAGGING.txt: Updated with imperial to metric conversions.
1333 * src/Makefile: Added visualiser.c.
1335 * src/filedumper.c: Now used for data visualisation and statistics.
1337 * src/visualiser.h, src/visualiser.c: New file.
1339 2009-06-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1342 Improve parsing of imperial units (mph, feet & inches).
1344 2009-06-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1347 Print an error message and exit if a node cannot be found.
1349 2009-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1351 * src/ways.c, src/ways.h, src/waysx.c, src/waysx.h:
1352 Move function from waysx.c to ways.c.
1354 2009-05-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1357 Update usage information with new options and copyright.txt usage.
1359 * src/nodes.c, src/nodes.h, src/router.c:
1360 Make sure that the chosen "nearest point" is a highway that the profile allows.
1362 2009-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1365 Change the default profile; horses are slower, bicycles may be allowed on
1366 footways (and similar).
1368 2009-05-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1370 * src/files.c, src/output.c:
1371 Error checking on opening files (to read/write data and to write output).
1373 2009-05-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1375 * src/output.c, src/results.c, src/router.c, src/segments.c, src/segmentsx.c, src/superx.c,
1376 src/types.h, src/nodes.c, src/nodesx.c, src/optimiser.c:
1377 Replace ~0 or 0 with NO_NODE value for "no node" condition.
1379 2009-05-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1382 Remove one more NODE macro and fix an output formatting error.
1384 * src/nodes.c, src/nodes.h, src/optimiser.c, src/output.c, src/router.c:
1385 Remove some node macros, change some node function arguments.
1387 * src/optimiser.c, src/profiles.c, src/profiles.h:
1388 Move some common code into the profile.
1390 * src/superx.c: Remove distance and duration from Result structure.
1392 * src/output.c: Better junction detection.
1394 * src/optimiser.c, src/results.c, src/results.h:
1395 Remove distance and duration from Result structure.
1397 2009-05-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1400 Add better junction detection for deciding on route waypoints.
1402 2009-05-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1404 * src/optimiser.c, src/profiles.c, src/profiles.h, src/types.h:
1405 Route using preferences for each highway.
1407 * src/router.c: Print out longitude then latitude.
1409 2009-04-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1411 * src/results.h, src/router.c, src/superx.c, src/types.h, src/optimiser.c, src/osmparser.c,
1412 src/planetsplitter.c, src/profiles.c, src/profiles.h, src/results.c:
1413 First attempt at preferences for highways - uses integer arithmetic and doesn't
1416 2009-04-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1418 * src/functions.h, src/optimiser.c, src/output.c, src/results.c, src/results.h, src/router.c:
1419 Allow generating a route with intermediate waypoints.
1421 2009-04-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1423 * src/functions.h, src/output.c, src/router.c:
1424 Split the output functions into separate head/body/tail.
1425 Read in an optional copyright.txt file and include contents in output.
1427 2009-04-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1429 * src/profiles.c: Improve Javascript and perl print out.
1431 * src/filedumper.c, src/files.c, src/functions.h, src/planetsplitter.c, src/router.c:
1432 Move the filename generation to a new function.
1434 2009-04-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1436 * src/Makefile, src/functions.h, src/optimiser.c:
1437 Split the function to print the output into a new file.
1439 * src/output.c: New file.
1441 2009-04-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1444 Fix for parsing nodes from XML (no effect on results).
1446 2009-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1448 * doc/USAGE.txt, src/optimiser.c:
1449 Create a GPX route as well as a track.
1451 * src/ways.c: Changed the license to Affero GPLv3.
1453 2009-04-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1456 Add a waypoint to the GPX file for the start and finish points.
1459 Include more information about the output file formats.
1461 2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1463 Version 1.0 released
1465 2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1467 * Makefile: New file.
1469 * src/Makefile: Fix dependency file generation.
1471 * doc/USAGE.txt, doc/TAGGING.txt, doc/README.txt, doc/INSTALL.txt, doc/ALGORITHM.txt:
1474 * src/Makefile, src/filedumper.c, src/files.c, src/functions.h, src/nodes.c, src/nodes.h,
1475 src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c,
1476 src/profiles.c, src/profiles.h, src/results.c, src/results.h, src/router.c, src/segments.c,
1477 src/segments.h, src/segmentsx.c, src/segmentsx.h, src/superx.c, src/superx.h, src/types.h,
1478 src/ways.h, src/waysx.c, src/waysx.h:
1479 Changed the license to Affero GPLv3.
1481 2009-04-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1483 * src/planetsplitter.c: Remove the --help-profile command line option.
1485 2009-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1488 Fix file headers (again) and fix segment distance/duration for abbreviated text
1491 2009-03-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1493 * src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
1494 Added highway=path; defaults to foot=yes but also is defaulted for bicycle and
1497 2009-03-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1499 * src/optimiser.c: Fixed the header in the output text files.
1502 Add parsing for *=designated allowing passage along a highway.
1504 * src/profiles.h, src/router.c, src/profiles.c:
1505 Add a function to output default profiles as perl data structures.
1507 2009-03-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1510 Handle duplicated nodes (e.g. from concatenated input files).
1512 * src/optimiser.c: Add a header to the output text files.
1514 2009-03-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1517 Renamed the *.txt output to *-all.txt and added a new shorted *.txt output.
1519 * src/router.c: Renamed the --no-print option to --no-output.
1521 2009-03-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1523 * src/nodes.c: Fix bug with finding nearest node.
1525 2009-03-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1527 * src/superx.c: Fix the merging of super-segments.
1529 2009-03-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1531 * src/profiles.c, src/profiles.h:
1532 Added more limits (weight, height, width, length).
1534 * src/segments.c: Use the lower speed from the profile and the way.
1536 * src/osmparser.c: Added more limits (weight, height, width, length).
1537 Added highway=living_street and highway=services.
1539 * src/ways.c, src/ways.h, src/optimiser.c, src/router.c, src/segmentsx.c, src/superx.c,
1541 Added more limits (weight, height, width, length).
1543 * src/waysx.c, src/waysx.h:
1544 Added a function to test if two ways are the same.
1546 2009-02-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1549 Round the node location to avoid if falling into the wrong bin.
1551 * src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/waysx.c:
1552 Move print statements from planetsplitter into individual functions.
1554 * src/Makefile: Compile with optimisation and no profiling.
1556 * src/profiles.c, src/router.c:
1557 Add new command line options to make it more CGI friendly.
1559 2009-02-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1561 * src/profiles.c, src/profiles.h, src/router.c:
1562 Print out Javascript code containing the profiles.
1564 2009-02-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1566 * src/segmentsx.h, src/superx.c, src/nodesx.c, src/segments.c, src/segments.h,
1568 Remove segment->next1 since it always points at the next segment or nowhere.
1570 * src/profiles.c: Remove track from valid types for most transports.
1572 2009-02-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1574 * src/functions.h, src/optimiser.c, src/router.c:
1575 Change some function names.
1577 * src/osmparser.c: Add in tests for motorcar=1 etc.
1579 * src/nodes.c, src/nodes.h, src/router.c:
1580 The search to find a node given the lat/long now searches harder.
1582 * src/optimiser.c: Better test for failing to find a route.
1584 * src/router.c: Change --only-super to --super.
1586 * src/nodesx.c, src/optimiser.c, src/osmparser.c, src/router.c, src/segments.c,
1587 src/segmentsx.c, src/types.h, src/nodes.c:
1588 Store radians rather than degrees.
1590 * src/segments.c, src/segmentsx.c:
1591 Change to sinf(), cosf(), sqrtf(), asinf() functions.
1594 Set the sortby parameter to the minimum distance/duration consistent with the
1595 travelled distance/duration and the remaining straight line distance with the
1596 fastest possible speed.
1598 * src/filedumper.c, src/nodes.c, src/nodes.h, src/nodesx.c, src/types.h:
1599 Add macros for handling lat/long to bin conversions.
1601 * src/osmparser.c: Handle oneway=1 and oneway=-1.
1603 2009-02-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1605 * src/results.c, src/results.h:
1606 Added a new 'sortby' entry to the Result.
1607 Changed node_t to index_t.
1609 * src/router.c: Changed node_t to index_t.
1611 * src/nodes.c, src/segments.c, src/segments.h:
1612 Change the Distance() function to return distance_t.
1614 2009-02-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1616 * src/optimiser.c, src/results.c, src/results.h, src/router.c, src/superx.c:
1617 Calculate quickest or shortest, not both.
1619 * src/optimiser.c, src/profiles.c, src/router.c:
1620 Give appropriate error messages if start or end of route are not possible.
1622 2009-02-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1625 Slight speedup by doing a linear search when looking up results and not storing
1628 * src/superx.h, src/superx.c, src/waysx.h, src/waysx.c, src/segmentsx.h, src/segmentsx.c,
1629 src/nodesx.h, src/nodesx.c:
1632 * src/ways.h, src/Makefile, src/filedumper.c, src/functions.h, src/nodes.c, src/nodes.h,
1633 src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c, src/segments.c,
1634 src/segments.h, src/types.h, src/ways.c:
1635 Split the extended data types from the normal data types.
1637 * src/nodes.c: Return NULL if the node cannot be found.
1639 * src/Makefile, src/filedumper.c, src/optimiser.c, src/router.c:
1640 Add new command line options.
1642 * src/supersegments.c: Fix some status messages.
1644 * src/optimiser.c, src/types.h: Routing works with super-nodes now.
1646 2009-02-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1648 * src/ways.c, src/segments.c, src/segments.h, src/supersegments.c, src/types.h, src/nodes.c,
1649 src/nodes.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/functions.h:
1650 Segments now not duplicated in database.
1651 Routing with all nodes works, not with super-nodes.
1653 2009-02-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1655 * src/router.c: Fix usage output.
1657 * src/ways.c, src/ways.h: Only sort once, don't store the index.
1659 * src/planetsplitter.c, src/router.c:
1660 Use '--*' command line arguments, not '-*'.
1662 * src/nodes.c, src/router.c, src/segments.c, src/ways.c:
1663 Make sure that nodes, segments and ways could be loaded.
1665 * src/nodes.h, src/optimiser.c, src/router.c, src/segments.c, src/segments.h,
1666 src/supersegments.c, src/types.h, src/filedumper.c, src/nodes.c:
1667 Sort the nodes geographically and take coordinates as command line arguments.
1669 2009-02-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1671 * src/ways.c, src/ways.h, src/nodes.c, src/nodes.h, src/osmparser.c, src/segments.c,
1672 src/segments.h, src/supersegments.c, src/types.h:
1673 More variable and function name changes.
1675 2009-02-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1677 * src/profiles.c, src/router.c, src/segments.c, src/segments.h, src/supersegments.c,
1678 src/ways.c, src/ways.h, src/files.c, src/functions.h, src/nodes.c, src/nodes.h,
1679 src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/filedumper.c:
1680 Rename some variable types.
1682 2009-01-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1684 * src/segments.c, src/segments.h, src/supersegments.c, src/types.h, src/ways.c, src/ways.h,
1685 src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/planetsplitter.c,
1686 src/profiles.h, src/router.c:
1687 Intermediate version during code cleanup.
1689 * src/optimiser.c, src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h,
1690 src/functions.h, src/nodes.h:
1691 Intermediate checkin, routing now working.
1694 Don't print out anything when creating the dependencies directory.
1696 * src/planetsplitter.c, src/router.c:
1697 Add command line options to specify the directory and filename prefix.
1699 2009-01-30 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1701 * src/results.c, src/planetsplitter.c: Remove gcc warning.
1703 * src/Makefile: Move dependencies to subdir.
1705 * src/osmparser.c: Remove gcc warning.
1707 2009-01-29 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1709 * src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/planetsplitter.c,
1710 src/router.c, src/segments.c, src/segments.h, src/supersegments.c:
1711 Intermediate version while transitioning data format for nodes and segments.
1713 2009-01-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1715 * src/Makefile, src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/osmparser.c,
1716 src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.c,
1718 Intermediate version while transitioning data format for nodes and segments.
1720 2009-01-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1722 * src/Makefile, src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c,
1723 src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h, src/supersegments.c,
1724 src/ways.c, src/ways.h:
1725 Intermediate version while transitioning data format for nodes and segments.
1727 2009-01-26 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1729 * src/osmparser.c, src/planetsplitter.c, src/segments.c, src/segments.h,
1730 src/supersegments.c, src/ways.c, src/ways.h, src/filedumper.c, src/files.c, src/functions.h,
1732 Change Segment to contain index of way not its real ID.
1733 Don't store the real way ID to save space.
1735 2009-01-25 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1737 * src/segments.c, src/segments.h:
1738 Slightly speed up the Duration calculation by changing the macro.
1740 * src/osmparser.c, src/profiles.c, src/ways.c, src/ways.h:
1741 Fix misspelling of Unclassified.
1743 * src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.h,
1745 Change the segment->way so that it contains the index of the way, not the id.
1747 * src/profiles.c, src/profiles.h: New file.
1749 * src/ways.c, src/ways.h, src/Makefile, src/functions.h, src/optimiser.c, src/osmparser.c,
1750 src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h:
1751 Added profiles to define speed and allowed highways.
1752 Added new options to planetsplitter and router to use the profiles.
1754 2009-01-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1756 * src/optimiser.c: Changed some variable names for clarity.
1758 * src/planetsplitter.c: Print more information about progress.
1759 Don't quit until 99.9% unchanged.
1761 * src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
1762 Change the Results structure so that the real data doesn't need to be realloc().
1763 Add functions to access the first and subsequent elements of the Results structure.
1765 2009-01-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1767 * src/osmparser.c, src/planetsplitter.c:
1768 Fix bug with not specifying a method of transport.
1770 * src/optimiser.c, src/router.c: Proper check that it was unroutable.
1772 * src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
1773 Remove "iteration" as function argument.
1775 * src/functions.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c,
1776 src/ways.c, src/ways.h:
1777 Add command line options to planetsplitter and router.
1778 Select transport type (must be allowed on way for parsing).
1779 Select highway types (ignore when parsing or routing).
1781 * src/ways.h, src/functions.h, src/optimiser.c, src/osmparser.c, src/router.c,
1782 src/segments.c, src/segments.h, src/ways.c:
1783 Add enumerated type Transport.
1784 Replace variables of AllowType with Transport where more appropriate.
1785 Replace AllowType with Allowed.
1786 Replace WayType with Highway.
1788 * src/osmparser.c: Only include ways that are not Way_Unknown type.
1790 * src/osmparser.c: Include permissive access.
1792 * src/functions.h, src/optimiser.c, src/results.c, src/results.h, src/router.c:
1793 Create a large or small results structure depending on how many nodes are
1796 2009-01-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1798 * src/results.h: Increase the number of bins to 64k.
1800 * src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
1801 Remove INVALID_DISTANCE and INVALID_DURATION.
1803 * src/optimiser.c, src/osmparser.c, src/supersegments.c, src/ways.c, src/ways.h:
1804 Removed the Way_TYPE() macro.
1806 * src/results.c, src/results.h, src/optimiser.c:
1807 Move queue functions into results.c.
1809 * src/filedumper.c, src/nodes.c, src/nodes.h, src/planetsplitter.c, src/router.c:
1810 Nodes, Segments, Ways - Nodes, Segments, Ways.
1812 * src/filedumper.c, src/nodes.c, src/nodes.h, src/segments.c, src/segments.h, src/ways.c,
1814 Remove the choice of indexed or non-indexed data structures.
1816 2009-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1819 Various small speed-ups including not-reversing direction.
1821 * src/functions.h, src/optimiser.c, src/osmparser.c, src/router.c, src/segments.c,
1822 src/segments.h, src/supersegments.c, src/ways.c, src/ways.h:
1823 Calculate way speeds at routing time.
1825 * src/supersegments.c:
1826 Add reverse-oneway segments when creating supernodes.
1827 Check incoming oneway streets as well as outgoing ones.
1829 * src/osmparser.c: Don't change speed on roundabouts.
1831 2009-01-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1833 * src/planetsplitter.c:
1834 Add command line options for skipping parsing and iteration limit.
1836 * src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
1837 Remove duration from segment, calculate duration depending on speed.
1839 2009-01-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1841 * src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
1842 Iteratively calculate the super-segments.
1844 * src/ways.h: Redefine Way_TYPE() to include one-way status.
1846 2009-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1848 * src/optimiser.c, src/supersegments.c:
1849 Fix problems with way-type matching and duplicated/missing super-segments.
1851 * src/functions.h, src/optimiser.c, src/router.c: Print out a GPX file.
1853 * src/optimiser.c, src/filedumper.c, src/functions.h, src/planetsplitter.c, src/router.c,
1854 src/segments.c, src/segments.h, src/supersegments.c, src/ways.c, src/ways.h:
1855 Added Super-Ways and allow user to select method of transport.
1857 * src/segments.c: Fix for changes made to ways.
1859 * src/supersegments.c:
1860 Ensure that supernodes are inserted wherever the way type changes.
1862 * src/osmparser.c: Fill in the extra way information.
1865 Store more information about a way (allowed modes of transport).
1867 * src/filedumper.c: Fix output printing.
1869 * src/router.c: Print an error if no route can be found.
1872 Fix bugs when start and/or finish nodes are supernodes.
1874 2009-01-17 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1876 * src/Makefile: Add the option to create assembler output files.
1878 * src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
1879 Change the contents of the results data structure.
1881 * src/router.c: Added an option to not print the result.
1883 2009-01-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1885 * src/optimiser.c, src/results.h, src/router.c:
1886 Speed optimisation by changing the contents of the Results structure.
1889 Don't bother calculating the distance to go, it takes too long.
1891 2009-01-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1893 * src/planetsplitter.c: Remove bad segments and non-way nodes.
1895 * src/nodes.c, src/nodes.h: Remove nodes which are not in highways.
1896 Fix the sorting and create indexes after sorting, not before saving.
1898 * src/segments.c, src/segments.h:
1899 Remove bad segments (repeated consecutive nodes and duplicate segments).
1900 Fix the sorting and create indexes after sorting, not before saving.
1902 * src/supersegments.c: Use invalid distances properly.
1905 Fix the sort algorithm and update the indexes after sorting, not before saving.
1907 * src/optimiser.c: Fix the bug with merging the results.
1908 Fix the bug with not clearing the results structure properly.
1911 Add segments that correspond to the wrong way along one-way routes with an
1914 2009-01-11 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1916 * src/functions.h, src/optimiser.c, src/router.c:
1917 Routes correctly using super-nodes (not Lands End to John O'Groats though).
1919 * src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c, src/router.c,
1920 src/segments.h, src/supersegments.c:
1921 Replace Junction with SuperNode.
1923 * src/nodes.c, src/nodes.h, src/segments.h, src/ways.c, src/ways.h:
1924 Some small changes to the nodes, segments and ways functions.
1926 * src/Makefile, src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c,
1927 src/results.h, src/router.c, src/segments.c, src/segments.h, src/supersegments.c:
1928 Working version with supersegments and junctions.
1930 2009-01-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1932 * src/ways.c, src/ways.h, src/osmparser.c, src/segments.c:
1933 Store more information about ways.
1935 * src/results.h, src/results.c: New file.
1937 * src/Makefile, src/optimiser.c:
1938 Move the results data type into new files.
1940 * src/nodes.h, src/segments.h, src/ways.h:
1941 Increase the increment for the indexed array case.
1943 * src/ways.h, src/Makefile, src/filedumper.c, src/functions.h, src/nodes.c, src/nodes.h,
1944 src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c, src/segments.c,
1945 src/segments.h, src/supersegments.c, src/ways.c:
1946 About to add the super-segment functionality using Segments data type to hold
1949 * src/functions.h, src/types.h:
1950 Changed after nodes, ways and segment changes.
1952 2009-01-09 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1954 * src/segments.h: New file.
1957 Changed the format of the segments data type to match the nodes.
1959 * src/nodes.h: Enable indexed arrays.
1961 * src/ways.h: New file.
1964 Changed the format of the ways data type to match the nodes.
1966 * src/nodes.c, src/nodes.h:
1967 Changed the format of the nodes data type again.
1969 2009-01-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1971 * src/nodes.h: New file.
1973 * src/nodes.c: Lots of modifications:
1974 Two data structures - in memory (pointers) and in file (array).
1975 Data is hashed into multiple bins.
1976 Each function takes a nodes structure as an argument.
1978 2009-01-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1980 * src/supersegments.c: New file.
1982 * src/Makefile, src/filedumper.c, src/functions.h, src/planetsplitter.c, src/types.h:
1983 Added SuperSegments data type, but it does nothing yet.
1986 Tried to optimise the Queue data type. It was slower than the original.
1988 2009-01-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1990 * src/filedumper.c: Print out the longest segment.
1993 Some optimisations. Increase the number of result bins and change
1994 find_insert_result() into insert_result().
1996 2009-01-04 Andrew M. Bishop <amb@gedanken.demon.co.uk>
1998 * src/optimiser.c: Introduced some new data types to simplify the code.
2000 * src/filedumper.c: Print more useful information.
2002 * src/segments.c, src/types.h, src/ways.c, src/filedumper.c, src/functions.h, src/nodes.c,
2003 src/optimiser.c, src/osmparser.c, src/planetsplitter.c:
2004 Changed the node, way and segment functions and data types.
2005 Removed 'alloced', shortened the prototype array.
2006 Remove the automatic sorting of the data.
2007 Added assert statements.
2009 2009-01-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2011 * src/ways.c: New file.
2013 * src/router.c, src/types.h, src/Makefile, src/filedumper.c, src/functions.h,
2014 src/optimiser.c, src/osmparser.c, src/planetsplitter.c:
2015 Added the ways to the output.
2017 2009-01-02 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2019 * src/optimiser.c, src/osmparser.c, src/segments.c, src/types.h:
2020 Added macros to convert between distance/km and duration/hours/minutes.
2021 Shortened the Segment data type with shorter distances and durations.
2023 2009-01-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2025 * src/functions.h, src/nodes.c, src/planetsplitter.c, src/segments.c, src/types.h:
2026 Remove the functions to initialise the node and segment arrays.
2028 * src/optimiser.c, src/router.c, src/Makefile: Print out the results.
2030 2008-12-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
2032 * src/types.h, src/segments.c, src/router.c, src/planetsplitter.c, src/osmparser.c,
2033 src/optimiser.c, src/nodes.c, src/functions.h, src/files.c, src/filedumper.c, src/Makefile: