Let's start with the most important things:
- the metro lines
- the approximate location of the [House at the Two Golden Bears](https://en.wikipedia.org/wiki/House_at_the_Two_Golden_Bears)
```
% !TeX TS-program = lualatex
% code based on https://gitlab.com/ada.loveless/tex-networks/-/tree/main?ref_type=heads
\documentclass[tikz,border=4pt]{standalone}
\usepackage{tikz}
\usepackage{fontspec}
\usepackage{contour}
\setmainfont{Atkinson Hyperlegible}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{tikzlings}
\usetikzlibrary{ext.paths.ortho}
% from https://tex.stackexchange.com/a/478343/36296
\tikzset{connect with angle/.style={to path={%
let \p1=(\tikztostart),\p2=(\tikztotarget),\n1={sin(#1-atan2(\y2-\y1,\x2-\x1))} in
\ifdim\n1>0pt
-- ++(0,{((\y2-\y1)-(\x2-\x1)*tan(#1))/2})
-- ++({(\x2-\x1)},{(\x2-\x1)*tan(#1)})
-- (\tikztotarget)
\else
-- ++({((\x2-\x1)-(\y2-\y1)*cot(#1))/2},0)
-- ++({(\y2-\y1)*cot(#1)},{\y2-\y1})
-- (\tikztotarget)
\fi}}}
\colorlet{lineA}{green!70!black}
\colorlet{lineB}{orange!50!yellow}
\colorlet{lineC}{red}
\input{../shapes.tex}
\pgfdeclarelayer{bg}
\pgfdeclarelayer{lines}
\pgfdeclarelayer{stops}
\pgfdeclarelayer{labels}
\pgfdeclarelayer{legend}
\pgfsetlayers{bg,lines,stops,labels,main,legend}
\contourlength{.2ex}
\begin{document}
\begin{tikzpicture}[
river/.style = {
line width=0.5cm,
cyan!50,
rounded corners=0.5cm,
-{Triangle Cap},
},
railway line/.style = {
color=gray,
line width=0.075cm,
rounded corners=0.5cm,
},
railway/.style = {
railway line,
{Latex[length=5mm]}-{Latex[length=5mm]},
},
stop/.style = {
rounded corners=0.1cm,
line width=0.05cm,
fill=white,
draw,
shape=stop,
anchor=center,
minimum height=0.2cm,
},
stop1/.style = {
stop,
minimum width=0.2cm,
},
stop2/.style = {
stop,
minimum width=0.4cm,
},
stop3/.style = {
stop,
minimum width=0.6cm,
},
stop4/.style = {
stop,
minimum width=0.8cm,
},
line/.style = {
line width=0.2cm,
rounded corners=0.3cm,
},
label/.style = {
font=\scriptsize,
},
line name/.style = {
label,
color=white,
minimum width=1em,
minimum height=1em,
inner sep=0pt,
},
]
\begin{pgfonlayer}{bg}
%\node[opacity=0.9] {\includegraphics[width=20cm]{a4_metro}};
%\draw[help lines, color=gray!50] (-10, -15) grid (10, 10);
\draw[river] (-2.2,-6) -- (-2.2,2.2) -- (2.8,2.2) -- (2.8,4.4) -- (-3,4.4) -- (-3,7);
\end{pgfonlayer}
\begin{pgfonlayer}{stops}
% Line A
\node[stop1] (Nemocnice Motol) at (-7.6,1.35) {};
\node[stop1] (Petřiny) at (-6.8,1.95) {};
\node[stop1] (Nádraží Veleslavín) at (-6.4,3.4) {};
\node[stop1] (Bořislavka) at (-5.4,3.4) {};
\node[stop1] (Dejvická) at (-4.4,3.4) {};
\node[stop1] (Hradčanská) at (-3.4,3.15) {};
\node[stop1] (Malostranská) at (-3.05,1.8) {};
\node[stop1] (Staroměstská) at (-1.8,1.8) {};
\node[stop1] (Můstek) at (-0.8,1.05) {};
\node[stop1] (Muzeum) at (0.6,-0.15) {};
\node[stop1] (Náměstí Míru) at (1.5,-0.85) {};
\node[stop1] (Jiřího z Poděbrad) at (2.45,-0.85) {};
\node[stop1] (Flora) at (3.4,-0.85) {};
\node[stop1] (Želivského) at (4.35,-0.85) {};
\node[stop1] (Strašnická) at (5.25,-1.35) {};
\node[stop1] (Skalka) at (6.25,-1.6) {};
\node[stop1] (Depo Hostivař) at (7.4,-0.8) {};
% Line B
\node[stop1] (Černý Most) at (9.3,2.7) {};
\node[stop1] (Rajská zahrada) at (8.5,2.7) {};
\node[stop1] (Hloubětín) at (7.7,2.7) {};
\node[stop1] (Kolbenova) at (6.6,3.3) {};
\node[stop1] (Vysočanská) at (5.6,3.3) {};
\node[stop1] (Českomoravská) at (4.6,3.3) {};
\node[stop1] (Palmovka) at (3.8,3.1) {};
\node[stop1] (Invalidovna) at (3,2.3) {};
\node[stop1] (Křižíkova) at (2.4,1.7) {};
\node[stop1] (Florenc) at (1.3,1.4) {};
\node[stop1] (Náměstí Republiky) at (0.2,1.4) {};
%\node[stop1] (Můstek) at (-0.8,1.05) {};
\node[stop1] (Národní třída) at (-1.4,0.2) {};
\node[stop1] (Karlovo náměstí) at (-1.6,-0.9) {};
\node[stop1] (Anděl) at (-2.9,-0.9) {};
\node[stop1] (Smíchovské nádraží) at (-3.1,-2.4) {};
\node[stop1] (Radlická) at (-3.8,-2.9) {};
\node[stop1] (Jinonice) at (-4.5,-2.9) {};
\node[stop1] (Nové Butovice) at (-5.2,-2.9) {};
\node[stop1] (Hůrka) at (-5.8,-2.9) {};
\node[stop1] (Lužiny) at (-6.5,-2.9) {};
\node[stop1] (Luka) at (-7.2,-2.7) {};
\node[stop1] (Stodůlky) at (-7.8,-2.15) {};
\node[stop1] (Zličín) at (-8.6,-1.8) {};
% Line C
\node[stop1] (Letňany) at (6.6,4.7) {};
\node[stop1] (Prosek) at (5.4,4.9) {};
\node[stop1] (Střížkov) at (4.7,5.6) {};
\node[stop1] (Ládví) at (3.5,5.8) {};
\node[stop1] (Kobylisy) at (2.2,5.8) {};
\node[stop1] (Nádraží Holešovice) at (1.3,3.8) {};
\node[stop1] (Vltavská) at (1.3,2.6) {};
% \node[stop1] (Florenc) at (1.3,1.4) {};
\node[stop1] (Hlavní nádraží) at (1.1,0.5) {};
% \node[stop1] (Muzeum) at (0.6,-0.15) {};
\node[stop1] (I P Pavlova) at (0.2,-0.9) {};
\node[stop1] (Vyšehrad) at (0.2,-1.9) {};
\node[stop1] (Pražského povstání) at (0.6,-2.8) {};
\node[stop1] (Pankrác) at (1.2,-3.4) {};
\node[stop1] (Budějovická) at (1.8,-4) {};
\node[stop1] (Kačerov) at (2.4,-4.6) {};
\node[stop1] (Roztyly) at (3.4,-5) {};
\node[stop1] (Chodov) at (4.3,-5) {};
\node[stop1] (Opatov) at (5.2,-5) {};
\node[stop1] (Háje) at (6.0,-5) {};
\end{pgfonlayer}
%
\begin{pgfonlayer}{lines}
\pgfmathparse{0.1*tan(45/2)}
\let\offset\pgfmathresult
\draw[line, lineA]
(Nemocnice Motol) -|
(Petřiny) |-
(Nádraží Veleslavín) --
(Bořislavka) --
(Dejvická) -|
(Hradčanská) |-
(Malostranská) --
(Staroměstská) --
(Můstek) --
(Muzeum) --
(Náměstí Míru) --
(Jiřího z Poděbrad) --
(Flora) --
(Želivského) -|
(Strašnická) |-
(Skalka) -|
(Depo Hostivař);
\draw[line, lineB]
(Černý Most) --
(Rajská zahrada) --
(Hloubětín) to[connect with angle=125]
(Kolbenova) --
(Vysočanská) --
(Českomoravská) -|
(Palmovka) --
(Invalidovna) --
(Křižíkova) -- (2.2,1.4) --
(Florenc) --
(Náměstí Republiky) -- ++(-0.5,0) -- (-1.4,0.6) --
(Národní třída) -- ++(0,-1) --
(Karlovo náměstí) --
(Anděl) -|
(Smíchovské nádraží) |-
(Radlická) --
(Jinonice) --
(Nové Butovice) --
(Hůrka) --
(Lužiny) -- ++(-0.6,0) --
(Luka) --
(Stodůlky) -- (-8.2,-1.8) --
(Zličín);
\draw[line, lineC]
(Letňany) -|
(Prosek) --
(Střížkov) |-
(Ládví) --
(Kobylisy) -|
(Nádraží Holešovice) --
(Vltavská) --
(Florenc) -- ++(0,-0.8) --
(Hlavní nádraží) -- (0.2,-0.5) --
(I P Pavlova) --
(Vyšehrad) -- ++(0,-0.4) --
(Pražského povstání) --
(Pankrác) --
(Budějovická) --
(Kačerov) -- (2.9,-5) --
(Roztyly) --
(Chodov) --
(Opatov) --
(Háje);
\end{pgfonlayer}
%
\begin{pgfonlayer}{labels}
\node[font=\scriptsize, color=white, rotate=90] at (-3.0,6){Vltava};
\node[font=\scriptsize, color=white, rotate=90] at (-2.2,-4) {Vltava};
\foreach\stop/\placement/\anchor/\rotate in {
% Line A
Nemocnice Motol/below/north/0,
Petřiny/right/west/0,
Nádraží Veleslavín/above/south/0,
Bořislavka/below/north/0,
Dejvická/above/south/0,
Hradčanská/right/west/0,
Malostranská/left/east/0,
Staroměstská/below/north/0,
Můstek/below/north/0,
Muzeum/below/north/0,
Náměstí Míru/below/north/0,
Jiřího z Poděbrad/above/south/0,
Flora/below/north/0,
Želivského/above/south/0,
Strašnická/left/east/0,
Skalka/above/south/0,
Depo Hostivař/right/west/0,
% Line B
Černý Most/below/north/0,
Rajská zahrada/above/south/0,
Hloubětín/below/north/0,
Kolbenova/above/south/0,
Vysočanská/below/north/0,
Českomoravská/above/south/0,
Palmovka/left/east/0,
Invalidovna/right/west/0,
Křižíkova/below/north/0,
Florenc/below/north/0,
Náměstí Republiky/above/south/0,
Národní třída/left/east/0,
Karlovo náměstí/below/north/0,
Anděl/above/south/0,
Smíchovské nádraží/right/west/0,
Radlická/below/north/0,
Jinonice/above/south/0,
Nové Butovice/below/north/0,
Hůrka/above/south/0,
Lužiny/below/north/0,
Luka/left/east/0,
Stodůlky/right/west/0,
Zličín/below/north/0,
% Line C
Letňany/below/north/0,
Prosek/left/east/0,
Střížkov/right/west/0,
Ládví/above/south/0,
Kobylisy/above/south/0,
Nádraží Holešovice/left/east/0,
Vltavská/left/east/0,
Hlavní nádraží/right/west/0,
I P Pavlova/left/east/0,
Vyšehrad/left/east/0,
Pražského povstání/left/east/0,
Pankrác/left/east/0,
Budějovická/left/east/0,
Kačerov/left/east/0,
Roztyly/below/north/0,
Chodov/above/south/0,
Opatov/below/north/0,
Háje/above/south/0%
} \node[label, \placement=0.05cm of \stop, rotate=\rotate, anchor=\anchor] {\contour{white}{\stop}};
\node[line name, fill=lineA, left=0.2cm of Nemocnice Motol] {A};
\node[line name, fill=lineA, above=0.2cm of Depo Hostivař] {A};
\node[line name, fill=lineB, right=0.2cm of Černý Most] {B};
\node[line name, fill=lineB, left=0.2cm of Zličín] {B};
\node[line name, fill=lineC, right=0.2cm of Letňany] {C};
\node[line name, fill=lineC, right=0.2cm of Háje] {C};
\path (-1.3,1.45) pic[scale=0.2] {bear};
\path (-1.1,1.45) pic[scale=0.2] {bear};
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
```
![prague-1.png](/image?hash=8f70a15cdf4b205a3ec4af5c7edb1eae8d34d8d116447b7efdf40ed4e362292c)