NAME

Map::Tube::Stockholm - Interface to the Stockholm tube and tram map

SYNOPSIS

	use Map::Tube::Stockholm;
	my $tube = Map::Tube::Stockholm->new();

	my $route = $tube->get_shortest_route( 'Slussen', 'Solna strand');

    print "Route: $route\n";

DESCRIPTION

This module allows to find the shortest route between any two given tube or tram stations in Stockholm. All interesting methods are provided by the role Map::Tube.

METHODS

CONSTRUCTOR

use Map::Tube::Stockholm;
my $tube = Map::Tube::Stockholm->new();

The only argument, xml, is optional; if specified, it should be a code ref to a function that returns either the path the XML map file, or a string containing this XML content. The default is the path to stockholm-map.xml that is a part of this distribution. For further information see Map::Tube.

xml()

This read-only accessor returns whatever was specified as the XML source at construction.

NOTE CONCERNING DIAGRAM CREATION

This note concerns only those who want to produce network diagrams using Map::Tube::Plugin::Graph (also pertaining to Map::Tube::CLI) or Map::Tube::GraphViz.

There is a potential conflict between an advanced feature of the (excellent) GraphViz2 module and the Swedish station names, which may lead to an exception being thrown.

Users of Map::Tube::Plugin::Graph are encouraged to upgrade to at least version 0.48, which solves the issue cleanly. This also applies to indirect use of this module through Map::Tube::CLI and the corresponding command line programme.

Users of Map::Tube::GraphViz can prevent any issue cleanly by defining a function as follows:

sub mynode_id {
	my ($self, $node) = @_;
	return $node->id;
};

and supplying this as a callback function when creating the diagram:

my $g = Map::Tube::GraphViz->new( 'tube' => $tube,
	callback_node_id => \&mynode_id, );

ERRORS

If something goes wrong, maybe because the map information file was corrupted, the constructor will die.

BUGS

Please report any bugs or feature requests through the web interface at https://github.com/gwselke/Map-Tube-Stockholm/issues. I will be notified and then you'll automatically be notified of progress on your bug when (and if) I make changes.

AUTHOR

Gisbert W. Selke, TapirSoft Selke & Selke GbR.

COPYRIGHT AND LICENCE

The data for the XML file were taken from https://tunnelbanakarta.se/ The module itself is free software; you may redistribute and/or modify it under the same terms as Perl itself.

SEE ALSO

Map::Tube, Map::Tube::GraphViz, Map::Tube::Plugin::Graph.