NAME

Map::Tube::Prague - Interface to the Prague Metro Map.

SYNOPSIS

use Map::Tube::Prague;
my $obj = Map::Tube::Prague->new;
my $routes_ar = $obj->get_all_routes($from, $to);
my $station = $obj->get_node_by_id($station_id);
my $station = $obj->get_node_by_name($station_name);
my $route = $obj->get_shortest_route($from, $to);
my $metro_name = $obj->name;
my $xml_file = $obj->xml;

DESCRIPTION

It currently provides functionality to find the shortest route between the two given nodes.

For more information about Prague Map, click here.

METHODS

new()
Constructor.
get_all_routes($from, $to) [EXPERIMENTAL]
Get all routes from station to station.
Returns reference to array with Map::Tube::Route objects.
get_node_by_id($station_id)
Get station node by id.
Returns Map::Tube::Node object.
get_node_by_name($station_name)
Get station node by name.
Returns Map::Tube::Node object.
get_shortest_route($from, $to)
Get shortest route between $from and $to node names. Node names in $from and $to are case insensitive.
Returns Map::Tube::Route object.
name()
Get metro name.
Returns string with metro name.
xml()
Get XML specification of Prague metro.
Returns string with XML.

EXAMPLE1

# Pragmas.
use strict;
use warnings;

# Modules.
use Encode qw(decode_utf8 encode_utf8);
use Map::Tube::Prague;

# Object.
my $obj = Map::Tube::Prague->new;

# Get route.
my $route = $obj->get_shortest_route(decode_utf8('Dejvická'), decode_utf8('Ládví'));

# Print out type.
print "Route: ".encode_utf8($route)."\n";

# Output:
# Route: Dejvická (Linka A), Hradčanská (Linka A), Malostranská (Linka A), Staroměstská (Linka A), Můstek (Linka A,Linka B), Muzeum (Linka A,Linka C), Hlavní nádraží (Linka C), Florenc (Linka C), Vltavská (Linka C), Nádraží Holešovice (Linka C), Kobylisy (Linka C), Ládví (Linka C)

EXAMPLE2

# Pragmas.
use strict;
use utf8;
use warnings;

# Modules.
use Map::Tube::Prague;

# Object.
my $obj = Map::Tube::Prague->new;

# Get XML file.
my $xml_file = $obj->xml;

# Print out XML file.
print "XML file: $xml_file\n";

# Output like:
# XML file: .*/prague-map.xml

DEPENDENCIES

File::Share, Map::Tube, Moo, namespace::clean.

SEE ALSO

Map::Tube, Map::Tube::Barcelona, Map::Tube::Berlin, Map::Tube::Bucharest, Map::Tube::Delhi, Map::Tube::Kazan, Map::Tube::Kharkiv, Map::Tube::Kiev, Map::Tube::London, Map::Tube::Minsk, Map::Tube::Moscow, Map::Tube::NYC, Map::Tube::Samara, Map::Tube::Sofia, Map::Tube::Tokyo, Map::Tube::Warsaw.

REPOSITORY

https://github.com/tupinek/Map-Tube-Prague

AUTHOR

Michal Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2014 Michal Špaček
Artistic License
BSD 2-Clause License

VERSION

0.04