Einfache Möglichkeit, eine webbasierte Offline-Karte zu erstellen? [geschlossen]

15

Mein Ziel ist es, eine Weltkarte in eine Webseite einzubetten, aber ohne Zugang zum Internet. Am liebsten nur eine Reihe von Kacheln in Kombination mit etwas rutschiger Karte js-lib. Speicherplatz ist nicht wirklich ein Problem, und die maximale Zoomstufe ist nicht erforderlich.

Was ist der einfachste Weg, um dies zu erreichen?

Ich habe ein Projekt gefunden, das zu mir passt - Maps auf einem Stock, aber es scheint tot zu sein?

tek
quelle
2
Was genau bedeutet "Maximaler Zoom ist nicht erforderlich"? Welche Art von Maßstab / Genauigkeit / Auflösung benötigen Sie?
Mr_Chimp
2
mapnik (Windows) github.com/mapnik/mapnik/wiki/WindowsInstallation und verwende localhost als URL (lokaler Rechner)
Mapperz
Die Genauigkeit und Auflösung sind nicht wichtig, Länder und Bürgermeister-Städte sind ausreichend, aber ich möchte natürlich, dass es so gut wie möglich ist. Einfachheit ist wichtiger, ich versuche, zusätzliche Dienste und Datenbanken zu vermeiden.
Tek
1
Wenn Sie bereit sind, ein paar Tage mit der Konfiguration von Windows zu verbringen, dann ist mapnik + postgis + postgresql + proj.4 + python 2.7 + ... eine Option, aber nachdem Sie dies durchgearbeitet haben, würde ich empfehlen, die unten stehende TileMill-Antwort zu recherchieren. Hört sich viel einfacher an.
ca0v
Das ist ganz einfach. Das einzige Problem besteht darin, die Kartendaten und die Lizenzprobleme bei der Erstellung eines Offline- Kartensystems zu erfassen . Das heißt, die meisten Kartenanbieter, die eine kostenlose Nutzung erlauben (z. B. Google), tun dies nur, wenn die Karte der Öffentlichkeit zugänglich ist. Aber das ist eine ganz andere Frage ... Ich habe es nur für Großbritannien gemacht, also das OS Open Data verwendet, das kostenlos verwendet werden kann.
Mr_Chimp

Antworten:

17

Ich würde empfehlen, einen Blick in TileMill zu werfen, das von denselben Leuten hergestellt wird, die auch an Maps On A Stick gearbeitet haben. TileMill war entweder Teil von Maps On A Stick oder wurde zu etwas Ähnlichem. Ich vergesse die Verbindung. Wie auch immer...

Mit TileMill können Sie geografische Daten laden, nach Ihren Wünschen formatieren und anschließend eine Reihe von PNG-Kartenkacheln für eine Vielzahl von Zoomstufen erstellen.

Die Ausgabe von TileMill ist eine .mbtiles-Datei. Dies ist nur eine SQLite-Datenbank, die die PNGs enthält. Wenn Sie offline arbeiten ist es wahrscheinlich einfacher, die pngs in einen Ordner (mit zu extrahieren mbutil ) anstatt SQLite für den Zugriff mit ihnen.

Wenn Ihre Karte ziemlich einfach ist (dh nur minimale Interaktion), würde ich empfehlen, Leaflet für Ihre Zuordnungsbibliothek zu verwenden.

In Faltblatt müssen Sie dann eine hinzuzufügen Fliesenleger (Hinweis: Verwendung tms statt xyz).

Ich hoffe, das hilft.

Bearbeiten: Einige Dinge zu beachten.

1) Sie sollten sich der Lizenzbeschränkungen für alle von Ihnen verwendeten Kartendaten bewusst sein (siehe meinen Kommentar zu der obigen Frage).

2) Wenn Sie nah genug dran sind, um Straßen usw. zu sehen, erwarten Sie mehrere GB Kacheln.

Mr_Chimp
quelle
Haben Sie einen Proof of Concept erhalten? Ich muss die Lizenzierungsprobleme weiter untersuchen, aber dies ist höchstwahrscheinlich die einfachste Lösung.
Tek
2

Eine andere Option wäre so etwas wie Mapwingis . Es werden keine Kacheln benötigt, sondern Shapefiles gelesen.

Ian
quelle
MapWinGIS ist ziemlich gut aber die Frage spezifiziert webbasiert.
Mr_Chimp
Es hieß Web-PAGE, nicht webbasiert, und es wurde kein Internetzugang angegeben, sodass ich davon ausging, dass dies serverbasiert (oder lokal) bedeutet, was für Mapwingis in Ordnung wäre. Ich habe es in einem Formular in einer Access-Datenbank verwendet und kann mir nicht vorstellen, dass es schwieriger sein würde, es auf einer Webseite zu implementieren.
Ian
2

Ich habe ein neues Projekt namens OpenMapTiles gefunden , mit dem Offline-Karten viel einfacher zu haben sind.

Das Einrichten eines Kachelservers auf Ihrem Computer ist sehr einfach. Installieren Sie Node.js (mit npm) und befolgen Sie die beiden Schritte in den zugehörigen Dokumenten: https://openmaptiles.org/docs/

Sie können die Karten von ihrer Website herunterladen (einschließlich einer Karte des gesamten Planeten, die jetzt ~ 44 GB umfasst): https://openmaptiles.org/downloads/

Andrei M
quelle
1

Wenn Sie eine MBTiles-Datei erstellen können (z. B. mit Tilemill), können Sie diese Datei mithilfe tilestache-seed.pyeines in Tilestache enthaltenen Skripts in einen einfachen Beutel mit Kacheln in verschachtelten Ordnern konvertieren, die dem erwarteten z / x / y-Layout entsprechen. Hier ist eine, die ich kürzlich gemacht habe:

http://mike.teczno.com/img/hachure/labels/

Michal Migurski
quelle