module KaartData where

import Prelude
import CanvasHs.Data

-- Dit zijn polygonen die delen van nederland representeren
texel = [
     (370, 399),  (370, 332),  (410, 292),  (412, 292), (428, 309),  (428, 357),
     (403, 382),  (403, 399),  (402, 400),  (371, 400)]

vlieland = [
    (407, 273),  (428, 273),  (479, 222),  (479, 221),  (469, 211),  (466, 211),
    (406, 271),  (406, 272)]

terschelling = [
    (502, 196),  (503, 196),  (520, 179),  (529, 179),  (567, 142),  (583, 142),
    (599, 126),  (600, 125),  (599, 124),  (554, 124),  (492, 185)]

ameland = [
    (631, 133),  (631, 118),  (645, 104),  (732, 104),  (733, 105),  (716, 122),
    (676, 122),  (664, 134),  (633, 134)]

schiermonnikoog = [
    (786,  95),  (786,  94),  (808,  72),  (844,  72),  (845,  73),  (845,  74),
    (823,  96),  (787,  96)]

mainland = [
    (372, 412),  (405, 412),  (437, 444),  (438, 444),  (459, 423),  (481, 423),
    (514, 456),  (514, 505),  (515, 506),  (571, 506),  (572, 507),  (572, 549),
    (548, 574),  (502, 574),  (500, 576),  (500, 618),  (537, 655),  (537, 685),
    (510, 712),  (510, 715),  (516, 720),  (540, 720),  (564, 744),  (605, 744),
    (627, 766),  (650, 766),  (688, 728),  (688, 713),  (763, 638),  (763, 594),
    (750, 580),  (750, 570),  (748, 568),  (692, 568),  (670, 546),  (670, 471),
    (687, 453),  (687, 452),  (686, 451),  (612, 451),  (585, 424),  (585, 351),
    (564, 330),  (564, 329),  (583, 310),  (583, 250),  (645, 188),  (667, 188),
    (718, 138),  (845, 138),  (883, 100),  (912, 100),  (934,  78), (1025,  78),
   (1026,  79), (1026, 134), (1027, 135), (1101, 135), (1102, 136), (1102, 170),
   (1105, 173), (1144, 173), (1145, 174), (1145, 228), (1157, 242), (1157, 349),
   (1127, 380), (1127, 484), (1126, 485), (1126, 500), (1055, 500), (1033, 522),
   (1033, 592), (1036, 595), (1114, 595), (1158, 641), (1158, 676), (1158, 722),
   (1092, 788), (1069, 788), (1067, 789), (1067, 820), (1098, 852), (1098, 897),
   (1097, 898), (1045, 898), (1011, 930),  (985, 930),  (982, 933),  (982, 954),
    (980, 957),  (976, 957),  (973, 956),  (943, 930),  (903, 930),  (899, 933),
    (899, 955),  (897, 957),  (853, 957),  (849, 959),  (849,1012),  (950,1114),
    (951,1215),  (915,1252),  (915,1288),  (917,1290),  (943,1290),  (944,1291),
    (944,1318),  (870,1393),  (870,1395),  (871,1396),  (910,1396),  (911,1397),
    (911,1418),  (912,1420),  (942,1420),  (943,1421),  (943,1487),  (922,1508),
    (922,1521),  (921,1522),  (803,1522),  (801,1521),  (801,1423),  (832,1393),
    (831,1316),  (829,1313),  (785,1313),  (730,1258),  (730,1258),  (726,1258),
    (722,1258),  (704,1276),  (632,1276),  (579,1223),  (578,1219),  (578,1177),
    (575,1175),  (558,1175),  (555,1178),  (555,1192),  (546,1204),  (531,1218),
    (524,1220),  (483,1220),  (480,1217),  (480,1209),  (481,1208),  (494,1208),
    (498,1205),  (498,1177),  (495,1175),  (478,1175),  (437,1217),  (435,1218),
    (400,1218),  (399,1217),  (399,1201),  (395,1197),  (380,1197),  (377,1198),
    (355,1220),  (355,1226),  (368,1238),  (368,1254),  (367,1255),  (364,1256),
    (306,1256),  (304,1255),  (304,1250),  (302,1248),  (256,1248),  (234,1226),
    (197,1226),  (196,1227),  (196,1257),  (195,1258),  (161,1258),  (144,1241),
     (83,1241),   (37,1197),   (38,1196),   (71,1163),   (93,1163),  (129,1199),
    (131,1199),  (148,1182),  (224,1182),  (263,1220),  (312,1220),  (314,1218),
    (314,1201),  (295,1183),  (248,1183),  (223,1159),  (223,1157),  (260,1120),
    (319,1120),  (342,1097),  (342,1083),  (343,1082),  (400,1082),  (401,1081),
    (401,1073),  (400,1072),  (312,1072),  (277,1037),  (249,1037),  (200, 988),
    (200, 920),  (302, 817),  (302, 744),  (327, 719),  (327, 671),  (349, 649),
    (349, 528),  (366, 511),  (366, 413)]

noord_beverland = [
    (108,1160),  (135,1187),  (136,1187),  (151,1173),  (190,1173),  (191,1172),
    (191,1165),  (177,1151),  (118,1151)]

schouwen_duivenland = [
    (193,1134),  (234,1134),  (248,1121),  (205,1077),  (137,1077),  (109,1105),
    (129,1125),  (157,1099)]

zeeuws_vlaandern = [
    (305,1258),  (305,1288),  (242,1350),  (174,1350),  (173,1349),  (173,1329),
    (170,1325),   (96,1324),   (85,1325),   (82,1330),   (82,1335),   (84,1341),
     (84,1345),   (80,1348),   (57,1348),   (23,1316),   (23,1289),   (46,1266),
    (121,1266),  (144,1289),  (194,1289),  (221,1261),  (221,1252),  (222,1251),
    (239,1251),  (257,1269),  (285,1269),  (296,1258)]

goeree_overflakkee = [
    (164,1049),  (174,1059),  (195,1038),  (196,1038),  (247,1089),  (279,1089),
    (296,1106),  (324,1106),  (329,1101),  (329,1099),  (274,1044),  (250,1044),
    (220,1015),  (198,1015)]

flevoland = [
    (565, 733),  (542, 709),  (542, 708),  (671, 579),  (739, 579),  (757, 597),
    (757, 638),  (680, 715),  (680, 730),  (649, 761),  (629, 761),  (601, 733)]


data City = City String (Int, Int)

all_city = [
    ("Hoorn", (490,557)),
    ("Alkmaar", (380,587)),
    ("Schiphol", (395,759)),
    ("Haarlem", (373,718)),
    ("Leiden", (339,824)),
    ("Den Haag", (264,899)),
    ("Rotterdam", (363,991)),
    ("Dordrecht", (421,1039)),
    ("Rosendaal", (369,1154)),
    ("Breda", (461,1136)),
    ("Tilburg", (580,1135)),
    ("\'s Herogenbosch", (633,946)),
    ("Geldermalsen", (633,946)),
    ("Gouda", (436,907)),
    ("Amsterdam Sloterdijk", (449,718)),
    ("Amsterdan Centraal", (476,719)),
    ("Duivendrecht", (485,756)),
    ("Hilversum", (573,788)),
    ("Utrecht Centraal", (553,864)),
    ("Amesfoort", (639,805)),
    ("Apeldoorn", (828,770)),
    ("Zutphen", (893,787)),
    ("Deventer", (871,725)),
    ("Leeuwarden", (706,261)),
    ("Groningen", (948,222)),
    ("Marienberg", (994,584)),
    ("Zwolle", (836,605)),
    ("Almelo", (1032,665)),
    ("Hengelo", (1077,710)),
    ("Ede-Wageningen", (733,865)),
    ("Arnhem", (803,886)),
    ("Nijmegen", (804,965)),
    ("Venlo", (933,1206)),
    ("Roermond", (889,1287)),
    ("Sitart", (851,1398)),
    ("Heerlen", (915,1435)),
    ("Maastricht", (817,1490)),
    ("Eindhoven", (682,1184))]


nederland = map (\x -> Fill (240, 237, 229, 1.0) $ Polygon x) [texel, vlieland, terschelling, ameland, schiermonnikoog, mainland, noord_beverland, schouwen_duivenland, zeeuws_vlaandern, goeree_overflakkee, flevoland]

steden = map (\(naam, (x, y)) -> Event defaults{eventId=naam,mouseOver=True, mouseOut=True} $ Fill (255, 128, 128, 1.0) $ Stroke (0, 0, 0, 1.0) 5 $ Circle (x,y) 15) all_city
