diff --git a/backend/categories.csv b/backend/categories.csv new file mode 100644 index 0000000000000000000000000000000000000000..a19e26cb39d4a402100d84110af2984e5deee949 --- /dev/null +++ b/backend/categories.csv @@ -0,0 +1,830 @@ +Alle Symbole,Tiere,"Religiös, Götter, Legenden, Menschen, grafische Symbole",Werkzeug / Waffen / Gegenstände / Schmuck,Bauwerke / Beförderungsmittel / Landwirtschaft,Natur / Pflanzen ,Wasser +Aal ,Adler,Abendmahlskelch,Absatzbeil,Backsteinmauer,Ähre,Aal,,,Allmanns-Schleef = Löffel +Abendmahlskelch,"Adler, halber",Abtstab / Krummstab,Amboss,Bahnhof-Empfangsgebäude,Ähren,Anker,,,Bocksbeutel= Flasche +Absatzbeil,Adlerflügel,"Anna, Heilige",Axt,Bauernglocke,Ährenbogen,Austerfischer,,,Brakteat = Münze / Marke +Abtsstab,Adlerklaue,Ankerkreuz,Bronzebeil,Bauernhaus,Ährenbündel,Bach,,,Drillingsfaden = Angelhaken +Abtstab / Krummstab,Adlerkopf,Antoniuskreuz,Bruchstein,"Bauernhaus, Wilstermarscher",Ährenfeld,Barsch (Fisch),,,Elker = Fischfanggerät +Adler,Ameise,Barockkirche,Glasbrennofen,Bauernkate,Ahornblatt,Bartenwal,,, +"Adler, halber",Bärenkopf,Bischof,Glasflasche,Bauernstock,Apfel,Boot,,, +Adlerflügel,Biber,Bischofsmütze (Mitra),Glasgefäß,Bauerntanz,Ast,Bootsbug,,, +Adlerklaue,Biene,Bischofsstab,Glockenbecher,Bauernwagen,Bärlauch,Bootshaken,,, +Adlerkopf,Bienenkorb,Bischofsstab / Krummstab,Grütztopf,Bockmühle,Baum,Bord,,, +Ähre,Birkhahn,"Christophorus, Heiliger",Forke,Bogenbrücke,Baumgruppe,Brachse (Fisch),,, +Ähren,Brachvogel,Christus,Hacke,Bokmühle,Baumstumpf,Brasse (Fisch),,, +Ährenbogen,Bullenkopf,"Clemens, Heiliger",Hammer,Brücke,Begonie,Delphin,,, +Ährenbündel,Damhirsch,Drache,Harke,Brunnen,Berg,Dreiecksegel,,, +Ährenfeld,Damwildgeweih,Eidring,Holzhammer,Brunnenschale,Besenheide,Dreimaster (Schiff),,, +Ahornblatt,Damwildschaufel,Feldsteinkirche,Keil,Burg,Binse,Einbaum,,, +Allmanns-Schleef,Doppeladler,Fortuna,Marschspaten,Burgruine,Birke,Einmaster (Schiff),,, +Amboss,Eberkopf,Gotteslamm,Pfeil,Dach,Birkenblatt,Eiskristall,,, +Ameise,Eichhörnchen,Gottesmutter,Pfeilspitze,Dachfirst,Birkenzweig,Fährkahn,,, +Ammonit,Eisvogel,Grabhügel,Säbel,Deichsel,Blatt,Fisch,,, +Amulett,Elster,Großsteingrab,Spitzhacke,Drahtseilbahnmast,Blüte,Fischer,,, +Andreaskreuz,Ente,Hecktor,Topfhelm,Dreschflegel,Blütenglocke,Fischkutter,,, +Anker,Eule,Heroldsbild,Torfbackform,Eisenbahnbrücke,Blume,Fischotter,,, +Ankerkreuz,Falke,Jesusknabe,Torfgeschirr,Eisengitter,Brombeerranke,Fischreiher,,, +"Anna, Heilige",Frosch,"Jürgen, Heiliger",Torfkätscher,Eisenstab,Buche,Flußkrebs,,, +Antoniuskreuz,Fuchs,Kapelle,Torfmesser,Eisenstreben,Buchecker,Fontäne,,, +Apfel,Gans,"Katharina, Heilige",Torfspaten,Fabrikanlage,Buchenblatt,Forelle (Fisch),,, +"Arm, gerüsteter",Gehörn,Kirche,Torfspatenblatt,Fachhallenhaus,Buchenzweig,Frachtkahn (Schiff),,, +Armring,Geweihstange,Kirchturm,Torfstecher,Fachwerkhaus,Buchweizenzweig,Frachtschiff,,, +Ast,Habicht,Kirchturmdach,Plackenhaue,Fachwerkkate (Haus),Dornbuschblatt,Großsegel,,, +Austerfischer,Habichtkopf,Kirchturmruine,Scheffelmaß,Fachwerkscheune,Dornenzweig,Hecht (Fisch),,, +Axt,Habichtskopf,Kirchturmspitze,Spaten,Feldhacke,Dreiberg,Helling,,, +Bach,Hahn,Kranz,Spatenblatt,Feldstein,Dreiblatt,Hering,,, +Backsteinmauer,Hase,Kreuz,Zange,Feldsteinmauer,Dünen,Hering (Fisch),,, +Bärenkopf,Haubentaucher,"Kreuz, lateinisches",Allmanns-Schleef,Felssteinbrücke,Egge,Heringszaun,,, +Bärlauch,Hirsch,Kreuzchen,Bocksbeutel,Fenster,Eibe,,,, +Bahnhof-Empfangsgebäude,Hirschgeweih,Lutherrose,Boßelkugel,Fensterlucke,Eibenzweig,Holk (Schiff),,, +Balken,Hirschgeweihstange,Madonna,Buch,Flachzinne,Eiche,Ilex,,, +"Balken, Oldenburger",Hirschkopf,"Margaretha, Heilige",Dingstab,Flachzinnen,Eichel,Kahn,,, +Balkenkreuz,Hirschstange,"Martin, Heiliger",Dingstock,Flechtzaun,Eicheln,Kanalbrücke,,, +Barockkirche,Höckerschwan,"Matthäus, Heiliger",Dorfstock,Flintbeil,Eichenast,Kanal(hoch)brücke,,, +Barsch (Fisch),Kiebitz,"Michael, Heiliger",Eimer,Flintbeilschneide,Eichenblatt,Karauschen,,, +Bartenwal,Kranich,Midgardschlange,Gefäß,Flügelkreuz,Eichenkranz,Karpfen (Fisch),,, +Bauernglocke,Kuh,Mitra,Hut,Flügelkreuz (Windmühle),Eichenschößling,Kettenfähre,,, +Bauernhaus,Kuhkopf,Nonne,Hutfeder,Friesengiebel,Eichenstamm,Klippe,,, +"Bauernhaus, Wilstermarscher",Leopard,"Petrus,Heiliger",Kaffeekanne,Giebel,Eichenstumpf,Krabbenfangnetz,,, +Bauernkate,Lindwurm,Prankenkreuz,Kanne,Giebelblatt,Eichenzweig,Krabbenkutter,,, +Bauernstock,Löwe,"Severin, Heiliger",Kelch,Giebelbrett,Eisspatenblatt,Lachs (Fisch),,, +Bauerntanz,"Löwe, halber",St. Clemens,Knickharfe,Giebelhaus,Erikabüschel,Lastkahn,,, +Bauernwagen,Mäusebussard,Taufbecken,Kompaß,Göpel,Erikazweig,Leuchtturm,,, +Baum,Möwe,Taufstein,Krug,Göpelschauer,Erlenblatt,Maräne (Fisch),,, +Baumgruppe,Ochsengehörn,Teufel,Kugel,Hakenpflug / Pflug,Erlenblütenstand,Meerforelle (Fisch),,, +Baumstumpf,Ochsenhorn,Thor,Laterne,Hallenhaus,Erlenfruchtstand,Muschelhorn,,, +Begonie,Ochsenkopf,Thorshammer,Löffel,Handmühle,Erlenzweig,Perle,,, +Berg,Pferd,Kreuzstab,Pfeife,Haubarg,Esche,Plattbodenboot,,, +Besenheide,Pferdekopf,Kronenkreuz,Pfeifengras,Haus,Eschenblatt,Plattfisch (Fisch),,, +Bettler,"Pferdekopf, Lauenburger",Krümme,Pfropf,Hausgiebel,Espenblatt,Porrenglieb,,, +Biber,Pirol,Krummstab,Posthorn,Hausmarke,Farnwedel,Prahm,,, +Biene,Pirol (Vogel),(Laurentius-) Rost,Rasiermesser,Haussilhouette,Fichte,Profilschnitt Deich,,, +Bienenkorb,Rabe,Meßkelch,Sack,Herrenhaus,Gerstenähre,Ruderboot,,, +Binse,Rabenkrähe,Fibel,Schale,Holzbrücke,Getreideähre,Schiff,,, +Birke,Rabenrumpf,Bettler,Schlüssel,Holzhaus,Getreidegarbe,"Schiff, wikingerzeitliches",,, +Birkenblatt,Reh,Frau,Schreibfeder,Holzkohle,Haferähre,Schiffsrumpf,,, +Birkenzweig,Reiher,Kopf,Schüssel,Holztor,Haferfruchtstand,Schiffssteuerrad,,, +Birkhahn,Rentierschädel,Mann,Stundenglas,Hütte,Haferrispe,Schiffssteven,,, +Bischof,Rentierschaufel,Mensch,Tonne,Karren,Hainbuchenblatt,Schleischnäpel (Fisch),,, +Bischofsmütze (Mitra),Rinderkopf,Menschenhaupt,Urne,Kate,Haselnuss,Seeblatt,,, +Bischofsstab,Ringelnatter,Reiter,Waage,Klappbrücke,Haselnusszweig,Seejungfrau,,, +Bischofsstab / Krummstab,Schaf,Sternwarte,Wanderstab,Kolonistenhaus,Haselstrauch,Seepferdchen,,, +Blaken,Schafrumpf,Treuhand,Wecken,Kopfstein,Haselzweig,Seerose,,, +Blaken-Firstkreuz,Schleiereule,Hirte,Wetterhahn,Koppeltor,Heidekraut,Seerosenblatt,,, +Blatt,Schwan,Landmann (Mensch),Zuber (Himpten),Langhaus,Heidenelke,Seerosenblüte,,, +Blüte,"Schwan, Stormarner",Bogen,Butterfass,Mahlstein,Heiderose,Seeschiff,,, +Blütenglocke,Schwanenrumpf,Dreieck,Fass,Mauer,Heidesense,Segel,,, +Blume,Storch,Faden,Keramikgefäß,Maueranker,Heidestrauch,Segelboot,,, +Bockmühle,Taube,Fadenkreuz,"Arm, gerüsteter",Mauerkrone,Heidestrauchzweig,Segelschiff,,, +Bocksbeutel,Trappe,Krückenkreuz,Dreieckschild,Mauerstein,Hopfenranke,Siebenstern,,, +Bogen,Uhu,Mittelschild,Gerüsteter,Mühle,Hopfenrispe,Spinnaker,,, +Bogenbalken,Vogel,Radkreuz,Hellebarde,Mühleisen,Kastanienblatt,Sportsegelboot,,, +Bogenbrücke,Waldfledermaus,Radtatzenkreuz,Jagdhorn,Mühlrad,Kiefer,Stake,,, +Bogenpfahl,Widder,Fünfberg,Krieger,"Mühlrad, halbes",Kirsche,Staken,,, +Bogenschildfuß,Wiedehopf,Raute,Lanze,"Mühlrad, oberhalbes",Kirschzweig,Steuerrad,,, +Bokmühle,Wolf,Rautenkranz,Lyngby-Beil,"Mühlrad, oberschlächtiges",Kleeblatt,Steuerruder,,, +Boot,Wolfskopf,Rechteck,Ritter,"Mühlrad, unterhalbes",Kleeblattkreuz,Stör,,, +Bootsbug,Gabelweihe,Herz,Ritterhelm,Mühlstein,Knabenkraut,Stör (Fisch),,, +Bootshaken,Feder,Herzschild,Flammenschwert,Niedersachsenhallenhaus,Kohlkopf,Störewer,,, +Bord,Hifthorn,Mond,Roland,Palisadenpfahl,Kopfweide,Vollschiff,,, +Boßelkugel,Horn,"Mond, abnehmender",Saufeder,Palisadenzaun,Korbweide,Wal,,, +Brachse (Fisch),Hufeisen,"Mond, zunehmender",Schlachterbeil,Pfahl,Kornblume,Warft,,, +Brachvogel,Rot-Milan,Mondsichel,Schwert,Pfahlreihe,Korngarbe,Wasser,,, +Brakteat,Stierkopf,Quadrat,Sense,Pferdegeschirr," +Kornrade",Wassermühlrad,,, +Brand (Feuer),Keiler,Scheibe,Stechhelm,Pflug,Laubbaum,Wassernabel,,, +Brasse (Fisch),Keilerkopf,Schild,Steinbeil,Pflugeisen,Laubblatt,Wasserrad,,, +Brombeerranke,,"Schild, gespaltener",Streitaxt,Pflugschar,Laubzweig,Wasserschwertlilie,,, +Bronzebeil,,"Schild, holsteinischer",Wolfsangel,Pflugstock,Lilie,Wasserturm,,, +Bruchstein,,Schild mit Balken,Dreizack,Pyramide,"Lilie, heraldische",Wellen,,, +Brücke,,Schild mit Doppeleiche,Amulett,Quadermauer,Lilienkreuz,Wellenbalken,,, +Brunnen,,Schild mit Nesselblatt,Armring,Quaderturm,Linde,Wellenband,,, +Brunnenschale,,Schildchen,Brakteat,Räderpflug / Pflug,Lindenblatt,Wellenbogen,,, +Buch,,Schildfußbord,Gewandspange (Fibel),Reetdachhaus,Lindenfruchtstand,Wellendeichsel,,, +Buche,,Schildhauptpfahl,Goldmedaille,Reetdachkate,Lindenzweig,Wellenfaden,,, +Buchecker,,Schlangenbalken,Königskrone,Reethaus,Maiblume,Wellenflanke,,, +Buchenblatt,,Schlangenlinie,Krone,Renaissanceschloß,Maiskolben,Wellengöpel,,, +Buchenzweig,,Schrägbalken,Münze,Rundbogenfenster,Moorpflanze,Wellenhaupt,,, +Buchweizenzweig,,Schräggitter,Ring,Rundscheune,"Nesselblatt, halbes",Wellenkamm,,, +Bullenkopf,,Schrägleiste,Rollenkappenfibel,Säule,"Nesselblatt, holsteinisches",Wellenleiste,,, +Burg,,Schräglinksbalken,Schmuckstück,Schulhaus,Nesselblatt/holsteinisches,Wellenlinie,,, +Burgruine,,Schrägstufe,Spiralarmband,Schwungpflug,Nuss,Wellenlinkspfahl,,, +Butterfass,,Schrägwellenbalken,Steckkreuz,Ständerwerk,Pfaffenhütchen,Wellenpfahl,,, +Christophorus~ Heiliger,,Schrägzinnenmauer,Tuchreif,Staffelgiebelbalken,Ranke,Wellenschildfuß,,, +Christus,,Schrage,Zierscheibe,Stahlbrücke,Raps,Wellensparren,,, +Clemens~ Heiliger,,Schragenkreuz,Kette,Stenderwerkhaus,Rapsblüte,Wellenspitze,,, +Dach,,Siegel,Edelstein,Sturzgiebel,Rodungshacke,Wellental,,, +Dachfirst,,Sonne,plastische Figur,Tor,Roggenähre,Wikingerboot,,, +Dachreiter,,Spitze,Skulptur,Torffracht,Rohrkolben,Wikingerschiff,,, +Damhirsch,,Stab,,Torfkarren,Rose,Zander (Fisch),,, +Damwildgeweih,,Stern,,Torflore,Rosenblüte,Drillingsfaden,,, +Damwildschaufel,,Sternenkranz,,Torfmauer,Rotbuche,Dückdalben,,, +Deichsel,,Strahl,,Torfschubkarre,Rotbuchenblatt,Elker,,, +Delphin,,Sturzsparre,,Torhaus,Rotdornzweig,Kreuzknoten,,, +Dingstab,,Tatzenkreuz,,Treppengiebel,Schachblume,Netznadel,,, +Dingstock,,Triskele,,Turm,Schilfblatt,Schleusentor,,, +Doppeladler,,Turnierkragen,,Wendenknüppel,Schilfhalm,Seil,,, +Doppeleiche,,Vinkelschildfuß,,Werkstein,Schindel,Signalbake,,, +Dorfstock,,Wappen,,Wohnhaus,Schlehenzweig,Steinbeißer,,, +Dornbuschblatt,,Wappenpfahl,,Ziegel,Schlüsselblume,Tau,,, +Dornenzweig,,"Wappenschild, holsteinischer",,Ziegelburg,Schößling,Tropfen,,, +Drache,,Wechselzinnenbalken,,Ziegelmauer,Schwarzdornzweig,,,, +Drahtseilbahnmast,,Wolke,,Ziegelstein,Schwarzerlenblatt,,,, +Dreiberg,,Wolkenbalken,,Ziegelsteinbrücke,Schwarzerlenzweig,,,, +Dreiblatt,,Balken,,Ziegelsteinmauer,Spargel,,,, +Dreieck,,"Balken, Oldenburger",,Ziegelsteinturm,Stechpalme,,,, +Dreieckschild,,Balkenkreuz,,Ziegelturm,Stechpalmenzweig,,,, +Dreiecksegel,,Blaken-Firstkreuz,,Zinne,Stranddistel,,,, +Dreimaster (Schiff),,Blaken,,Zinnen,Strandgras,,,, +Dreizack,,Bogenbalken,,Zinnenbalken,Sumpfdotterblüte,,,, +Dreschflegel,,Bogenpfahl,,Zinnenburg,Sumpfdotterblume,,,, +Drillingsfaden,,Bogenschildfuß,,Zinnenmauer,Tanne,,,, +Dückdalben,,Eisenhütlein,,Zinnenschildhaupt,Tannenzapfen,,,, +Dünen,,Gegensparren,,Zinnenturm,Ulmenblatt,,,, +Eberkopf,,Gegenspitze,,Dachreiter,Wacholder,,,, +Edelstein,,Mühlenhaue,,Frachtwagen,Wacholderbusch,,,, +Egge,,Pfeileisen,,Maschinenrad,Wacholderzweig,,,, +Eibe,,Brand (Feuer),,Lokomotive,Weidenblatt,,,, +Eibenzweig,,Flamme,,Lokomotivrad,Weidenzweig,,,, +Eiche,,Flammen,,Kumt,Weißdorn,,,, +Eichel,,Haarknoten,,Planwagen,Weizenähre,,,, +Eicheln,,Halbmond,,Rad,Wiesenschaumkraut,,,, +Eichenast,,Halbsonne,,Rennfeuerofen,Wildrose,,,, +Eichenblatt,,Hügel,,Sämann,Wollgras,,,, +Eichenkranz,,Suebenknoten,,Sparren,Zuckerrübe,,,, +Eichenschößling,,,,Steinbrücke,Zweig,,,, +Eichenstamm,,,,Steinbrüstung,Doppeleiche,,,, +Eichenstumpf,,,,Steingrab,Sonnentau,,,, +Eichenzweig,,,,Erdölpumpe,Stubben,,,, +Eichhörnchen,,,,Megalithgrab,Grasbüschel,,,, +Eidring,,,,Streingrab,Reethalm,,,, +Eimer,,,,Tür,,,,, +Einbaum,,,,Wagenrad,,,,, +Einmaster (Schiff),,,,"Wagenrad, unterhalbes",,,,, +Eisenbahnbrücke,,,,Waschzuber,,,,, +Eisengitter,,,,Windmühle,,,,, +Eisenhütlein,,,,"Windmühle, holländische",,,,, +Eisenstab,,,,Windmühlenflügel,,,,, +Eisenstreben,,,,Windrad,,,,, +Eiskristall,,,,Zahnrad,,,,, +Eisspatenblatt,,,,"Zahnrad, halbes",,,,, +Eisvogel,,,,"Zahnrad, unterhalbes",,,,, +Elker,,,,Ziehbrunnen,,,,, +Elster,,,,Erdringwall,,,,, +Ente,,,,Findling,,,,, +Erdölpumpe,,,,Gedenkstein,,,,, +Erdringwall,,,,Runenstein,,,,, +Erikabüschel,,,,Scharte,,,,, +Erikazweig,,,,Schienenstrang,,,,, +Erlenblatt,,,,Stein,,,,, +Erlenblütenstand,,,,Steinkreis,,,,, +Erlenfruchtstand,,,,Glocke,,,,, +Erlenzweig,,,,Glockenturm,,,,, +Esche,,,,,,,,, +Eschenblatt,,,,,,,,, +Espenblatt,,,,,,,,, +Eule,,,,,,,,, +Fabrikanlage,,,,,,,,, +Fachhallenhaus,,,,,,,,, +Fachwerkhaus,,,,,,,,, +Fachwerkkate (Haus),,,,,,,,, +Fachwerkscheune,,,,,,,,, +Faden,,,,,,,,, +Fadenkreuz,,,,,,,,, +Fährkahn,,,,,,,,, +Falke,,,,,,,,, +Farnwedel,,,,,,,,, +Fass,,,,,,,,, +Feder,,,,,,,,, +Feldhacke,,,,,,,,, +Feldstein,,,,,,,,, +Feldsteinkirche,,,,,,,,, +Feldsteinmauer,,,,,,,,, +Felssteinbrücke,,,,,,,,, +Fenster,,,,,,,,, +Fensterlucke,,,,,,,,, +Fibel,,,,,,,,, +Fichte,,,,,,,,, +Findling,,,,,,,,, +Fisch,,,,,,,,, +Fischer,,,,,,,,, +Fischkutter,,,,,,,,, +Fischotter,,,,,,,,, +Fischreiher,,,,,,,,, +Flachzinne,,,,,,,,, +Flachzinnen,,,,,,,,, +Flamme,,,,,,,,, +Flammen,,,,,,,,, +Flammenschwert,,,,,,,,, +Flechtzaun,,,,,,,,, +Flintbeil,,,,,,,,, +Flintbeilschneide,,,,,,,,, +Flügelkreuz,,,,,,,,, +Flügelkreuz (Windmühle),,,,,,,,, +Flußkrebs,,,,,,,,, +Fontäne,,,,,,,,, +Forelle (Fisch),,,,,,,,, +Forke,,,,,,,,, +Fortuna,,,,,,,,, +Frachtkahn (Schiff),,,,,,,,, +Frachtschiff,,,,,,,,, +Frachtwagen,,,,,,,,, +Frau,,,,,,,,, +Friesengiebel,,,,,,,,, +Frosch,,,,,,,,, +Fuchs,,,,,,,,, +Fünfberg,,,,,,,,, +Gabelweihe,,,,,,,,, +Gans,,,,,,,,, +Gedenkstein,,,,,,,,, +Gefäß,,,,,,,,, +Gegensparren,,,,,,,,, +Gegenspitze,,,,,,,,, +Gehörn,,,,,,,,, +Gerstenähre,,,,,,,,, +Gerüsteter,,,,,,,,, +Getreideähre,,,,,,,,, +Getreidegarbe,,,,,,,,, +Gewandspange (Fibel),,,,,,,,, +Geweihstange,,,,,,,,, +Giebel,,,,,,,,, +Giebelblatt,,,,,,,,, +Giebelbrett,,,,,,,,, +Giebelhaus’,,,,,,,,, +Glasbrennofen,,,,,,,,, +Glasflasche,,,,,,,,, +Glasgefäß,,,,,,,,, +Glocke,,,,,,,,, +Glockenbecher,,,,,,,,, +Glockenturm,,,,,,,,, +Göpel,,,,,,,,, +Göpelschauer,,,,,,,,, +Goldmedaille,,,,,,,,, +Gotteslamm,,,,,,,,, +Gottesmutter,,,,,,,,, +Grabhügel,,,,,,,,, +Grasbüschel,,,,,,,,, +Großsegel,,,,,,,,, +Großsteingrab,,,,,,,,, +Grütztopf,,,,,,,,, +Haarknoten,,,,,,,,, +Habicht,,,,,,,,, +Habichtkopf,,,,,,,,, +Habichtskopf,,,,,,,,, +Hacke,,,,,,,,, +Haferähre,,,,,,,,, +Haferfruchtstand,,,,,,,,, +Haferrispe,,,,,,,,, +Hahn,,,,,,,,, +Hainbuchenblatt,,,,,,,,, +Hakenpflug / Pflug,,,,,,,,, +Halbmond,,,,,,,,, +Halbsonne,,,,,,,,, +Hallenhaus,,,,,,,,, +Hammer,,,,,,,,, +Handmühle,,,,,,,,, +Harke,,,,,,,,, +Hase,,,,,,,,, +Haselnuss,,,,,,,,, +Haselnusszweig,,,,,,,,, +Haselstrauch,,,,,,,,, +Haselzweig,,,,,,,,, +Haubarg,,,,,,,,, +Haubentaucher,,,,,,,,, +Haus,,,,,,,,, +Hausgiebel,,,,,,,,, +Hausmarke,,,,,,,,, +Haussilhouette,,,,,,,,, +Hecht (Fisch),,,,,,,,, +Hecktor,,,,,,,,, +Heidekraut,,,,,,,,, +Heidenelke,,,,,,,,, +Heiderose,,,,,,,,, +Heidesense,,,,,,,,, +Heidestrauch,,,,,,,,, +Heidestrauchzweig,,,,,,,,, +Hellebarde,,,,,,,,, +Helling,,,,,,,,, +Hering,,,,,,,,, +Hering (Fisch),,,,,,,,, +Heringszaun,,,,,,,,, +Heroldsbild,,,,,,,,, +Herrenhaus,,,,,,,,, +Herz,,,,,,,,, +Herzschild,,,,,,,,, +Hifthorn,,,,,,,,, +Hirsch,,,,,,,,, +Hirschgeweih,,,,,,,,, +Hirschgeweihstange,,,,,,,,, +Hirschkopf,,,,,,,,, +Hirschstange,,,,,,,,, +Hirte,,,,,,,,, +Höckerschwan,,,,,,,,, +Holk (Schiff),,,,,,,,, +Holzbrücke,,,,,,,,, +Holzhammer,,,,,,,,, +Holzhaus,,,,,,,,, +Holzkohle,,,,,,,,, +Holztor,,,,,,,,, +Hopfenranke,,,,,,,,, +Hopfenrispe,,,,,,,,, +Horn,,,,,,,,, +Hügel,,,,,,,,, +Hütte,,,,,,,,, +Hufeisen,,,,,,,,, +Hut,,,,,,,,, +Hutfeder,,,,,,,,, +Ilex,,,,,,,,, +Jagdhorn,,,,,,,,, +Jesusknabe,,,,,,,,, +"Jürgen, Heiliger",,,,,,,,, +Kaffeekanne,,,,,,,,, +Kahn,,,,,,,,, +Kanalbrücke,,,,,,,,, +Kanal(hoch)brücke,,,,,,,,, +Kanne,,,,,,,,, +Kapelle,,,,,,,,, +Karauschen,,,,,,,,, +Karpfen (Fisch),,,,,,,,, +Karren,,,,,,,,, +Kastanienblatt,,,,,,,,, +Kate,,,,,,,,, +"Katharina, Heilige",,,,,,,,, +Keil,,,,,,,,, +Keiler,,,,,,,,, +Keilerkopf,,,,,,,,, +Kelch,,,,,,,,, +Keramikgefäß,,,,,,,,, +Kette,,,,,,,,, +Kettenfähre,,,,,,,,, +Kiebitz,,,,,,,,, +Kiefer,,,,,,,,, +Kirche,,,,,,,,, +Kirchturm,,,,,,,,, +Kirchturmdach,,,,,,,,, +Kirchturmruine,,,,,,,,, +Kirchturmspitze,,,,,,,,, +Kirsche,,,,,,,,, +Kirschzweig,,,,,,,,, +Klappbrücke,,,,,,,,, +Kleeblatt,,,,,,,,, +Kleeblattkreuz,,,,,,,,, +Klippe,,,,,,,,, +Knabenkraut,,,,,,,,, +Knickharfe,,,,,,,,, +Königskrone,,,,,,,,, +Kohlkopf,,,,,,,,, +Kolonistenhaus,,,,,,,,, +Kompaß,,,,,,,,, +Kopf,,,,,,,,, +Kopfstein,,,,,,,,, +Kopfweide,,,,,,,,, +Koppeltor,,,,,,,,, +Korbweide,,,,,,,,, +Kornblume,,,,,,,,, +Korngarbe,,,,,,,,, +Kornrade,,,,,,,,, +Krabbenfangnetz,,,,,,,,, +Krabbenkutter,,,,,,,,, +Kranich,,,,,,,,, +Kranz,,,,,,,,, +Kreuz,,,,,,,,, +"Kreuz, lateinisches",,,,,,,,, +Kreuzchen,,,,,,,,, +Kreuzknoten,,,,,,,,, +Kreuzstab,,,,,,,,, +Krieger,,,,,,,,, +Krone,,,,,,,,, +Kronenkreuz,,,,,,,,, +Krückenkreuz,,,,,,,,, +Krümme,,,,,,,,, +Krug,,,,,,,,, +Krummstab,,,,,,,,, +Kugel,,,,,,,,, +Kuh,,,,,,,,, +Kuhkopf,,,,,,,,, +Kumt,,,,,,,,, +Lachs (Fisch),,,,,,,,, +Landmann (Mensch),,,,,,,,, +Langhaus,,,,,,,,, +Lanze,,,,,,,,, +Lastkahn,,,,,,,,, +Laterne,,,,,,,,, +Laubbaum,,,,,,,,, +Laubblatt,,,,,,,,, +Laubzweig,,,,,,,,, +(Laurentius-) Rost,,,,,,,,, +Leopard,,,,,,,,, +Leuchtturm,,,,,,,,, +Lilie,,,,,,,,, +"Lilie, heraldische",,,,,,,,, +Lilienkreuz,,,,,,,,, +Linde,,,,,,,,, +Lindenblatt,,,,,,,,, +Lindenfruchtstand,,,,,,,,, +Lindenzweig,,,,,,,,, +Lindwurm,,,,,,,,, +Löffel,,,,,,,,, +Löwe,,,,,,,,, +Löwe~ halber,,,,,,,,, +Lokomotive,,,,,,,,, +Lokomotivrad,,,,,,,,, +Lutherrose,,,,,,,,, +Lyngby-Beil’,,,,,,,,, +Madonna,,,,,,,,, +Mäusebussard,,,,,,,,, +Mahlstein,,,,,,,,, +Maiblume,,,,,,,,, +Maiskolben,,,,,,,,, +Mann,,,,,,,,, +Maräne (Fisch),,,,,,,,, +Margaretha~ Heilige,,,,,,,,, +Marschspaten,,,,,,,,, +Martin~ Heiliger,,,,,,,,, +Maschinenrad,,,,,,,,, +Matthäus~ Heiliger,,,,,,,,, +Mauer,,,,,,,,, +Maueranker,,,,,,,,, +Mauerkrone,,,,,,,,, +Mauerstein,,,,,,,,, +Meerforelle (Fisch),,,,,,,,, +Megalithgrab,,,,,,,,, +Mensch,,,,,,,,, +Menschenhaupt,,,,,,,,, +Meßkelch,,,,,,,,, +Michael~ Heiliger,,,,,,,,, +Midgardschlange,,,,,,,,, +Mitra,,,,,,,,, +Mittelschild,,,,,,,,, +Möwe,,,,,,,,, +Mond,,,,,,,,, +Mond~ abnehmender,,,,,,,,, +"Mond, zunehmender",,,,,,,,, +Mondsichel,,,,,,,,, +Moorpflanze,,,,,,,,, +Mühle,,,,,,,,, +Mühleisen,,,,,,,,, +Mühlenhaue,,,,,,,,, +Mühlrad,,,,,,,,, +Mühlrad~ halbes,,,,,,,,, +"Mühlrad, oberhalbes",,,,,,,,, +Mühlrad~ oberschlächtiges,,,,,,,,, +"Mühlrad, unterhalbes",,,,,,,,, +Mühlstein,,,,,,,,, +Münze,,,,,,,,, +Muschelhorn,,,,,,,,, +"Nesselblatt, halbes",,,,,,,,, +"Nesselblatt, holsteinisches",,,,,,,,, +Nesselblatt/holsteinisches,,,,,,,,, +Netznadel,,,,,,,,, +Niedersachsenhallenhaus,,,,,,,,, +Nonne,,,,,,,,, +Nuss,,,,,,,,, +Ochsengehörn,,,,,,,,, +Ochsenhorn,,,,,,,,, +Ochsenkopf,,,,,,,,, +Palisadenpfahl,,,,,,,,, +Palisadenzaun,,,,,,,,, +Perle,,,,,,,,, +"Petrus,Heiliger",,,,,,,,, +Pfaffenhütchen,,,,,,,,, +Pfahl,,,,,,,,, +Pfahlreihe,,,,,,,,, +Pfeife,,,,,,,,, +Pfeifengras,,,,,,,,, +Pfeil,,,,,,,,, +Pfeileisen,,,,,,,,, +Pfeilspitze,,,,,,,,, +Pferd,,,,,,,,, +Pferdegeschirr,,,,,,,,, +Pferdekopf,,,,,,,,, +"Pferdekopf, Lauenburger",,,,,,,,, +Pflug,,,,,,,,, +Pflugeisen,,,,,,,,, +Pflugschar,,,,,,,,, +Pflugstock,,,,,,,,, +Pfropf,,,,,,,,, +Pirol,,,,,,,,, +Pirol (Vogel),,,,,,,,, +Plackenhaue,,,,,,,,, +Planwagen,,,,,,,,, +plastische Figur,,,,,,,,, +Plattbodenboot,,,,,,,,, +Plattfisch (Fisch),,,,,,,,, +Porrenglieb,,,,,,,,, +Posthorn,,,,,,,,, +Prahm,,,,,,,,, +Prankenkreuz,,,,,,,,, +Profilschnitt Deich,,,,,,,,, +Pyramide,,,,,,,,, +Quadermauer,,,,,,,,, +Quaderturm,,,,,,,,, +Quadrat,,,,,,,,, +Rabe,,,,,,,,, +Rabenkrähe,,,,,,,,, +Rabenrumpf,,,,,,,,, +Rad,,,,,,,,, +Radkreuz,,,,,,,,, +Radtatzenkreuz,,,,,,,,, +Räderpflug / Pflug,,,,,,,,, +Ranke,,,,,,,,, +Raps,,,,,,,,, +Rapsblüte,,,,,,,,, +Rasiermesser,,,,,,,,, +Raute,,,,,,,,, +Rautenkranz,,,,,,,,, +Rechteck,,,,,,,,, +Reetdachhaus,,,,,,,,, +Reetdachkate,,,,,,,,, +Reethalm,,,,,,,,, +Reethaus,,,,,,,,, +Reh,,,,,,,,, +Reiher,,,,,,,,, +Reiter,,,,,,,,, +Renaissanceschloß,,,,,,,,, +Rennfeuerofen,,,,,,,,, +Rentierschädel,,,,,,,,, +Rentierschaufel,,,,,,,,, +Rinderkopf,,,,,,,,, +Ring,,,,,,,,, +Ringelnatter,,,,,,,,, +Ritter,,,,,,,,, +Ritterhelm,,,,,,,,, +Rodungshacke,,,,,,,,, +Roggenähre,,,,,,,,, +Rohrkolben,,,,,,,,, +Roland,,,,,,,,, +Rollenkappenfibel,,,,,,,,, +Rose,,,,,,,,, +Rosenblüte,,,,,,,,, +Rot-Milan,,,,,,,,, +Rotbuche,,,,,,,,, +Rotbuchenblatt,,,,,,,,, +Rotdornzweig,,,,,,,,, +Ruderboot,,,,,,,,, +Rundbogenfenster,,,,,,,,, +Rundscheune,,,,,,,,, +Runenstein,,,,,,,,, +Sack,,,,,,,,, +Säbel,,,,,,,,, +Sämann,,,,,,,,, +Säule,,,,,,,,, +Saufeder,,,,,,,,, +Schachblume,,,,,,,,, +Schaf,,,,,,,,, +Schafrumpf,,,,,,,,, +Schale,,,,,,,,, +Scharte,,,,,,,,, +Scheffelmaß,,,,,,,,, +Scheibe,,,,,,,,, +Schienenstrang,,,,,,,,, +Schiff,,,,,,,,, +"Schiff, wikingerzeitliches",,,,,,,,, +Schiffsrumpf,,,,,,,,, +Schiffssteuerrad,,,,,,,,, +Schiffssteven,,,,,,,,, +Schild,,,,,,,,, +"Schild, gespaltener",,,,,,,,, +"SSchild, holsteinischer",,,,,,,,, +Schild mit Balken,,,,,,,,, +Schild mit Doppeleiche,,,,,,,,, +Schild mit Nesselblatt,,,,,,,,, +Schildchen,,,,,,,,, +Schildfußbord,,,,,,,,, +Schildhauptpfahl,,,,,,,,, +Schilfblatt,,,,,,,,, +Schilfhalm,,,,,,,,, +Schindel,,,,,,,,, +Schlachterbeil,,,,,,,,, +Schlangenbalken,,,,,,,,, +Schlangenlinie,,,,,,,,, +Schlehenzweig,,,,,,,,, +Schleie (Fisch),,,,,,,,, +Schleiereule,,,,,,,,, +Schleischnäpel (Fisch),,,,,,,,, +Schleusentor,,,,,,,,, +Schlüssel,,,,,,,,, +Schlüsselblume,,,,,,,,, +Schmuckstück,,,,,,,,, +Schößling,,,,,,,,, +Schrägbalken,,,,,,,,, +Schräggitter,,,,,,,,, +Schrägleiste,,,,,,,,, +Schräglinksbalken,,,,,,,,, +Schrägstufe,,,,,,,,, +Schrägwellenbalken,,,,,,,,, +Schrägzinnenmauer,,,,,,,,, +Schrage,,,,,,,,, +Schragenkreuz,,,,,,,,, +Schreibfeder,,,,,,,,, +Schüssel,,,,,,,,, +Schulhaus,,,,,,,,, +Schwan,,,,,,,,, +"Schwan, Stormarner",,,,,,,,, +Schwanenrumpf,,,,,,,,, +Schwarzdornzweig,,,,,,,,, +Schwarzerlenblatt,,,,,,,,, +Schwarzerlenzweig,,,,,,,,, +Schwert,,,,,,,,, +Schwungpflug,,,,,,,,, +Seeblatt,,,,,,,,, +Seejungfrau,,,,,,,,, +Seepferdchen,,,,,,,,, +Seerose,,,,,,,,, +Seerosenblatt,,,,,,,,, +Seerosenblüte,,,,,,,,, +Seeschiff,,,,,,,,, +Segel,,,,,,,,, +Segelboot,,,,,,,,, +Segelschiff,,,,,,,,, +Seil,,,,,,,,, +Sense,,,,,,,,, +"Severin, Heiliger",,,,,,,,, +Siebenstern,,,,,,,,, +Siegel,,,,,,,,, +Signalbake,,,,,,,,, +Skulptur,,,,,,,,, +Sonne,,,,,,,,, +Sonnentau,,,,,,,,, +Spargel,,,,,,,,, +Sparren,,,,,,,,, +Spaten,,,,,,,,, +Spatenblatt,,,,,,,,, +Spickel,,,,,,,,, +Spinnaker,,,,,,,,, +Spiralarmband,,,,,,,,, +Spitze,,,,,,,,, +Spitzhacke,,,,,,,,, +Sportsegelboot,,,,,,,,, +St. Clemens,,,,,,,,, +Stab,,,,,,,,, +Ständerwerk,,,,,,,,, +Staffelgiebelbalken,,,,,,,,, +Stahlbrücke,,,,,,,,, +Stake,,,,,,,,, +Staken,,,,,,,,, +Stechhelm,,,,,,,,, +Stechpalme,,,,,,,,, +Stechpalmenzweig,,,,,,,,, +Steckkreuz,,,,,,,,, +Stein,,,,,,,,, +Steinbeil,,,,,,,,, +Steinbeißer,,,,,,,,, +Steinbrücke,,,,,,,,, +Steinbrüstung,,,,,,,,, +Steingrab,,,,,,,,, +Steinkreis,,,,,,,,, +Stenderwerkhaus,,,,,,,,, +Stern,,,,,,,,, +Sternenkranz,,,,,,,,, +Sternwarte,,,,,,,,, +Steuerrad,,,,,,,,, +Steuerruder,,,,,,,,, +Stierkopf,,,,,,,,, +Stör,,,,,,,,, +Stör (Fisch),,,,,,,,, +Störewer,,,,,,,,, +Storch,,,,,,,,, +Strahl,,,,,,,,, +Stranddistel,,,,,,,,, +Strandgras,,,,,,,,, +Streingrab,,,,,,,,, +Streitaxt,,,,,,,,, +Stubben,,,,,,,,, +Stundenglas,,,,,,,,, +Sturzgiebel,,,,,,,,, +Sturzsparren,,,,,,,,, +Suebenknoten,,,,,,,,, +Sumpfdotterblüte,,,,,,,,, +Sumpfdotterblume,,,,,,,,, +Tanne,,,,,,,,, +Tannenzapfen,,,,,,,,, +Tatzenkreuz,,,,,,,,, +Tau,,,,,,,,, +Taube,,,,,,,,, +Taufbecken,,,,,,,,, +Taufstein,,,,,,,,, +Teufel,,,,,,,,, +Thor,,,,,,,,, +Thorshammer,,,,,,,,, +Tonne,,,,,,,,, +Topfhelm,,,,,,,,, +Tor,,,,,,,,, +Torfbackform,,,,,,,,, +Torffracht,,,,,,,,, +Torfgeschirr,,,,,,,,, +Torfkätscher,,,,,,,,, +Torfkarren,,,,,,,,, +Torflore,,,,,,,,, +Torfmauer,,,,,,,,, +Torfmesser,,,,,,,,, +Torfschubkarre,,,,,,,,, +Torfspaten,,,,,,,,, +Torfspatenblatt,,,,,,,,, +Torfstecher,,,,,,,,, +Torhaus,,,,,,,,, +Trappe,,,,,,,,, +Treppengiebel,,,,,,,,, +Treuhand,,,,,,,,, +Triskele,,,,,,,,, +Tropfen,,,,,,,,, +Tuchreif,,,,,,,,, +Tür,,,,,,,,, +Turm,,,,,,,,, +Turnierkragen,,,,,,,,, +Uhu,,,,,,,,, +Ulmenblatt,,,,,,,,, +Urne,,,,,,,,, +Vinkelschildfuß,,,,,,,,, +Vogel,,,,,,,,, +Vollschiff,,,,,,,,, +Waage,,,,,,,,, +Wacholder,,,,,,,,, +Wacholderbusch,,,,,,,,, +Wacholderzweig,,,,,,,,, +Wagenrad,,,,,,,,, +"Wagenrad, unterhalbes",,,,,,,,, +Wal,,,,,,,,, +Waldfledermaus,,,,,,,,, +Wanderstab,,,,,,,,, +Wappen,,,,,,,,, +Wappenpfahl,,,,,,,,, +"Wappenschild, holsteinischer",,,,,,,,, +Warft,,,,,,,,, +Waschzuber,,,,,,,,, +Wasser,,,,,,,,, +Wassermühlrad,,,,,,,,, +Wassernabel,,,,,,,,, +Wasserrad,,,,,,,,, +Wasserschwertlilie,,,,,,,,, +Wasserturm,,,,,,,,, +Wechselzinnenbalken,,,,,,,,, +Wecken,,,,,,,,, +Weidenblatt,,,,,,,,, +Weidenzweig,,,,,,,,, +Weißdorn,,,,,,,,, +Weizenähre,,,,,,,,, +Wellen,,,,,,,,, +Wellenbalken,,,,,,,,, +Wellenband,,,,,,,,, +Wellenbogen,,,,,,,,, +Wellendeichsel,,,,,,,,, +Wellenfaden,,,,,,,,, +Wellenflanke,,,,,,,,, +Wellengöpel,,,,,,,,, +Wellenhaupt,,,,,,,,, +Wellenkamm,,,,,,,,, +Wellenleiste,,,,,,,,, +Wellenlinie,,,,,,,,, +Wellenlinkspfahl,,,,,,,,, +Wellenpfahl,,,,,,,,, +Wellenschildfuß,,,,,,,,, +Wellensparren,,,,,,,,, +Wellenspitze,,,,,,,,, +Wellental,,,,,,,,, +Wendenknüppel,,,,,,,,, +Werkstein,,,,,,,,, +Wetterhahn,,,,,,,,, +Widder,,,,,,,,, +Wiedehopf,,,,,,,,, +Wiesenschaumkraut,,,,,,,,, +Wikingerboot,,,,,,,,, +Wikingerschiff,,,,,,,,, +Wildrose,,,,,,,,, +Windmühle,,,,,,,,, +"Windmühle, holländische",,,,,,,,, +Windmühlenflügel,,,,,,,,, +Windrad,,,,,,,,, +Wohnhaus,,,,,,,,, +Wolf,,,,,,,,, +Wolfsangel,,,,,,,,, +Wolfskopf,,,,,,,,, +Wolke,,,,,,,,, +Wolkenbalken,,,,,,,,, +Wollgras,,,,,,,,, +Zahnrad,,,,,,,,, +"Zahnrad, halbes",,,,,,,,, +"Zahnrad, unterhalbes",,,,,,,,, +Zander (Fisch),,,,,,,,, +Zange,,,,,,,,, +Ziegel,,,,,,,,, +Ziegelburg,,,,,,,,, +Ziegelmauer,,,,,,,,, +Ziegelstein,,,,,,,,, +Ziegelsteinbrücke,,,,,,,,, +Ziegelsteinmauer,,,,,,,,, +Ziegelsteinturm,,,,,,,,, +Ziegelturm,,,,,,,,, +Ziehbrunnen,,,,,,,,, +Zierscheibe,,,,,,,,, +Zinne,,,,,,,,, +Zinnen,,,,,,,,, +Zinnenbalken,,,,,,,,, +Zinnenburg,,,,,,,,, +Zinnenmauer,,,,,,,,, +Zinnenschildhaupt,,,,,,,,, +Zinnenturm,,,,,,,,, +Zuber (Himpten),,,,,,,,, +Zuckerrübe,,,,,,,,, +Zweig,,,,,,,,, +,,,,,,,,, +,,,,,,,,, diff --git a/backend/src/image.ts b/backend/src/image.ts index 04f36fd5c3733aa01c1b66bf150aaec88169383d..f58f075675f081acc099d4f16ecdbb83d2ae77e1 100644 --- a/backend/src/image.ts +++ b/backend/src/image.ts @@ -1,7 +1,7 @@ import { readAll, readerFromStreamReader, -} from "https://deno.land/std@0.95.0/io/mod.ts"; +} from "https://deno.land/std@0.97.0/io/mod.ts"; import { decode, Image } from "https://deno.land/x/jpegts@1.1/mod.ts"; import { resize } from "https://deno.land/x/deno_image@v0.0.3/mod.ts"; diff --git a/backend/src/index.ts b/backend/src/index.ts index 4d73fdeada90878be9386bf105a6457bb0394e59..27421765e8fdb9d287d034f65155c373347ffd47 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -1,8 +1,14 @@ import { Application, Router } from "https://deno.land/x/oak@v7.3.0/mod.ts"; -import { parse } from "https://deno.land/std@0.95.0/flags/mod.ts"; +import { parse } from "https://deno.land/std@0.97.0/flags/mod.ts"; import logger from "https://deno.land/x/oak_logger@1.0.0/mod.ts"; -import { compareRibbon, getAllRibbons, getRibbon, Ribbon } from "./ribbon.ts"; +import { + compareRibbon, + getAllRibbons, + getRibbon, + getRibbonCategories, + Ribbon, +} from "./ribbon.ts"; const { args } = Deno; const DEFAULT_PORT = 8000; @@ -22,6 +28,7 @@ const router = new Router(); router.get("/ribbons", getAllRibbons); router.get("/ribbons/:municipality", getRibbon); +router.get("/ribbons/categories/:municipality", getRibbonCategories); router.post( "/ribbons/compare/:municipality", compareRibbon, diff --git a/backend/src/ribbon.ts b/backend/src/ribbon.ts index c0e175cebe2dd8911fe6cb438a6b6583e08cc371..cae6b5c05ba04b13660a75add9aee8e7e99fb431 100644 --- a/backend/src/ribbon.ts +++ b/backend/src/ribbon.ts @@ -1,6 +1,7 @@ import { helpers, RouterContext } from "https://deno.land/x/oak@v7.3.0/mod.ts"; import { compareMunicipalRibbon } from "./image.ts"; import { decode, Image } from "https://deno.land/x/jpegts@1.1/mod.ts"; +import { parse as parseCsv } from "https://deno.land/std@0.97.0/encoding/csv.ts"; export interface Ribbon { acceptance: string; @@ -20,6 +21,11 @@ interface GetParams { to?: number; } +interface Category { + name: string; + hitrate: number; +} + export const getAllRibbons = (ctx: RouterContext) => { const params: GetParams = helpers.getQuery(ctx, { mergeParams: true }); @@ -60,6 +66,90 @@ export const getRibbon = ({ params, response, state }: RouterContext) => { response.body = ribbon; }; +export const getRibbonCategories = async ( + { params, response, state }: RouterContext, +) => { + if (params?.municipality === undefined) { + response.status = 400; + return; + } + + const municipality = params?.municipality; + const ribbon: Ribbon = state.find( + (ribbon: Ribbon) => ribbon.municipality.endsWith(`/${municipality}`), + ); + + if (!ribbon) { + response.status = 404; + return; + } + + if (!ribbon.figure) { + response.status = 404; + response.body = []; + return; + } + + const categories: Category[] = []; + const content = await parseCsv( + await Deno.readTextFile("categories.csv"), + ) as string[][]; + for (let i = 1; i < content.length; i++) { + const col = content[i]; + for (let j = 1; j < col.length; j++) { + const figure = col[j]; + if ( + ribbon.figure.find((obj) => obj == figure) + ) { + switch (j) { + case 1: + findOrAddCategory(categories, "animals"); + break; + case 2: + findOrAddCategory(categories, "religionAndEpics"); + break; + case 3: + findOrAddCategory(categories, "itemsAndWeapons"); + break; + case 4: + findOrAddCategory(categories, "structuresAndAgriculture"); + break; + case 5: + findOrAddCategory(categories, "natureAndPlants"); + break; + case 6: + findOrAddCategory(categories, "water"); + break; + default: + throw new Error(`Unknown Category ${j}`); + } + } + } + } + + let totalHits = 0; + + categories.forEach((obj) => totalHits += obj.hitrate); + + for (const category of categories) { + category.hitrate /= totalHits; + } + + categories.sort((a, b) => a.hitrate - b.hitrate); + + response.status = 200; + response.body = categories; +}; + +const findOrAddCategory = (categories: Category[], name: string) => { + const find = categories.find((obj) => obj.name == name); + if (find) { + find.hitrate++; + } else { + categories.push({ name: name, hitrate: 1 }); + } +}; + export const compareRibbon = async ( { params, request, response, state }: RouterContext, ) => {