% ------------------------------------------------------------------------------
% Copyright (c) 2019, 2025 Contributors to the Eclipse Foundation
%
% See the NOTICE file(s) distributed with this work for additional
% information regarding copyright ownership.
%
% This program and the accompanying materials are made available under the terms
% of the MIT License which is available at https://opensource.org/licenses/MIT
%
% SPDX-License-Identifier: MIT
% ------------------------------------------------------------------------------
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, arrows, automata, positioning, shapes, shapes.misc}
\usepackage[paperwidth=40in, paperheight=20in]{geometry}

\renewcommand{\familydefault}{\sfdefault}

\begin{document}
\pagestyle{empty}

\begin{tikzpicture}[
    auto,
    ->,
    node distance=3.5cm,
    every state/.style={ellipse, semithick, fill=black!5, minimum size=2cm, font=\Large},
    initial distance=1.2cm,
    every initial by arrow/.style={-{Stealth[scale=1.4]}},
    initial text=,
    transform shape,
    double distance=2pt,
    every loop/.style={min distance=10mm}
]

\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, ultra thick] (A) at (0,0) {\textbf{Westsluis}};
\node[rectangle, draw, minimum width=8.2cm, minimum height=1.4cm]            (B2) [below=0.5cm of A] {};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (B)  [below left=0.7cm and -0.6cm of A] {\textbf{South group}};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (C)  [below right=0.7cm and -0.6cm of A] {\textbf{North group}};
\node[rectangle, draw, minimum width=7.2cm, minimum height=16.5cm]           (B4) [below right=0.5cm and -3.2 of C] {};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (D)  [below=0.7cm of C] {Gate N};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (E)  [below=0.5cm of D] {Bridge N};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (F)  [below=0.5cm of E] {Culverts N};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (G)  [above right=-0.3cm and 0.8 of F] {Culvert NW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (H)  [below right=-0.3cm and 0.8 of F] {Culvert NE};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (I)  [below=1.8cm of F] {Traffic barriers N};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (J)  [above right=-0.3cm and 0.8 of I] {Traffic barrier NW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (K)  [below right=-0.3cm and 0.8 of I] {Traffic barrier NE};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (L)  [below=1.8cm of I] {Entering lights N};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (M)  [above right=-0.3cm and 0.8 of L] {Entering light NW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (N)  [below right=-0.3cm and 0.8 of L] {Entering light NE};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (O)  [below=1.8cm of L] {Leaving lights N};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (P)  [above right=-0.3cm and 0.8 of O] {Leaving light NW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (Q)  [below right=-0.3cm and 0.8 of O] {Leaving light NE};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm, thick]       (R)  [below=1.8cm of O] {Traffic lights N};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (S)  [above right=-0.3cm and 0.8 of R] {Traffic light NW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (T)  [below right=-0.3cm and 0.8 of R] {Traffic light NE};
\node[rectangle, draw, minimum width=7.2cm, minimum height=16.5cm]           (B3) [below left =0.5cm and -3.2 of B]{} ;
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (D1) [below=0.7cm of B, thick] {Gate S};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (E1) [below=0.5cm of D1, thick] {Bridge S};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (F1) [below=0.5cm of E1, thick] {Culverts S};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (G1) [above left=-0.3cm and 0.8 of F1] {Culvert SW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (H1) [below left=-0.3cm and 0.8 of F1] {Culvert SE};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (I1) [below=1.8cm of F1, thick] {Traffic barriers S};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (J1) [above left=-0.3cm and 0.8 of I1] {Traffic barrier SW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (K1) [below left=-0.3cm and 0.8 of I1] {Traffic barrier SE};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (L1) [below=1.8cm of I1, thick] {Entering lights S};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (M1) [above left=-0.3cm and 0.8 of L1] {Entering light SW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (N1) [below left=-0.3cm and 0.8 of L1] {Entering light SE};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (O1) [below=1.8cm of L1, thick] {Leaving lights S};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (P1) [above left=-0.3cm and 0.8 of O1] {Leaving light SW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (Q1) [below left=-0.3cm and 0.8 of O1] {Leaving light SE};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (R1) [below=1.8cm of O1, thick] {Traffic lights S};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (S1) [above left=-0.3cm and 0.8 of R1] {Traffic light SW};
\node[rectangle, draw, minimum width=3cm,   minimum height=1cm]              (T1) [below left=-0.3cm and 0.8 of R1] {Traffic light SE};

\end{tikzpicture}
\end{document}
