Wenn du nichts zahlen willst, brauchst du Zeit. ;-)

OSM ist da schon die richtige Anlaufstelle. Das, was man bei openstreetmap in der Kartenansicht sieht, ist nur ein Bruchteil von den Elementen, was in der Datenbank tatsächlich ist.

Ich weiss ja nicht, was du genau vor hast, aber ein relativ einfacher Weg ist, das mit https://github.com/systemed/tilemaker zu realisieren.

Grundsätzlich hat man drei Baustellen:

Aus dem Datensatz von OSM (OpenStreetMap) extrahiert man den Kartenausschnitt, den man benötigt. Kartenausschnitte bekommt man bei https://download.geofabrik.de oder bei https://extract.bbbike.org. GeoFabrik ist dabei die Topadresse. Wenn einem der Kartenausschnitt nicht passt, kann man den relativ einfach per Shell-Script anpassen.

Beim Extrahieren gibt man an, was man haben möchte, z. B. Strassen, Flüsse, Bächer, … Tümpel, Miniwege, …bis hin zu Papierkörben, Bänken.

Als nächstes werden dann Kacheln aus dem extrahierten Datensatz gemacht.

Und als Letztes muss man für die ganzen Elemente, die man dann hat, Stile festlegen. Das geht so ähnlich wie bei Webseiten mit CSS. Man sagt also: Kleine Fliessgewässer haben bei Zoomstufe xyz eine Breite von x.px, eine Farbe in dem und dem Blau. Die Beschriftung soll so aussehen oder eben keine Angabe machen, dann hat man auch keine Beschriftung.

Es ist da alles möglich und man kann damit die abgefahrensten Karten machen.

Auf https://tilemaker.org ist das Ganze gut beschrieben und ein gangbarer Weg. Wenn einem die Datengröße des Kartenausschnittes egal ist, kann man auch die Queries von denen ich oben schrieb, ganz weglassen und sich nur auf die Gestaltung focussieren. Elemente, denen man keinen Stil zuordnet, werden auch nicht dargestellt - ganz einfach.

Das einzige Proiblem an der ganzen Sache ist, das viele Dinge in OpenStreetMap nicht richtig, oder konsequent getagged sind. Heisst: Die Leute legen Elemente an und weisen nicht die richtige Kategorie auf. Z. B. Fussgängerzonen: Das können Fussgängerzonen sein, sehr breite Wege, Pfade, wo keine Autos fahren … Damit muss man dann lernen umzugegen und rumbasteln. Weil, wenn man nicht den richtig Tag erwischt, die in einem Query oder später bei der Darstellung, auch nicht ausgegeben werden.

Eine Karte von Grund auf ganz neu zu machen, ist sehr, sehr viel Arbeit. Es ist besser einen vorhandenen Stil zu übernehmen und dann anzupassen bzw. Elemente zu löschen, die man nicht haben möchte.

Wenn du Fragen hast, melde dich, gerne auch als PM.