2012-06-05 13 views
5

Angesichts einer großen Stadt (Quadrat ist etwa 800 km^2) mit einigen Schicht drüber. Diese Schicht kann Multicolor verfügt über wie enthalten:Drucken Karte mit eigenen Schicht

  • Linien
  • Punkte
  • Text

Anzahl der Features ist etwa 1000.

Map Ressource - Google Maps oder Openstreetmap (oder vielleicht etwas anderes ?).

Mein Ziel ist es, solche Karte auf einem Papier mit der Größe (etwa) 5x5 Meter zu drucken. Auch dieses Dokument muss hochauflösende sein - auf diesem Papier möchte ich Gebäude mit ihren Nummern, Straßen mit Bildunterschriften und so weiter sehen.

Was ist der beste Weg, um druckbare Datei (Bild, Dokument, etc) zu generieren?


Hier sind einige mögliche Lösungen, die ich gefunden:

  • Ich weiß, Openlayers-API, so kann ich die Schicht über Google Maps oder Openstreetmap ziehen. Aber wie konvertiert man es in ein druckbares Format?

  • Ich finde heraus, dass es export feature auf Openstreetmap gibt. Aber mit dieser Funktion kann ich meine eigene Ebene nicht exportieren und sie wird auch nicht hochauflösend sein.

  • Google Maps hat similar feature. Mit ihm kann ich eine eigene Ebene erstellen. Aber wenn ich 1000 Features habe, wird die URL sehr groß sein, so dass der Server sie nicht laden wird. Auch diese Karte wird nicht hochauflösend sein.


Vielen Dank für jede Hilfe.

+0

Wie viele Pixel/Zentimeter hat Ihr Drucker? –

+0

Dies ist eigentlich kein Drucker - es ist Plotter. Unglücklicherweise kenne ich solche technischen Details nicht. Es kann nur Papier mit der Größe (ca.) 5mx5m drucken. – ArtemStorozhuk

Antwort

1

Sind Sie bereit, die rutschigen Kartenkacheln zu verwenden? Wenn nicht, könnten Sie etwas Schwergewichtigeres wie ein GIS-Paket (Geographisches Informationssystem) verwenden. Ein guter Open-Source-Kartenviewer/-manipulator mit hochauflösender Druckfähigkeit ist QGIS, aber es gibt noch andere.

Für diese können Sie import the vector data (verfügbar über OSM-Export) die Karte darstellen, und stylen Sie es genau wie Sie möchten. Es gibt dann mehrere Optionen für den Druck in hoher Auflösung.

Letztendlich können Sie diese Frage am falschen Ort stellen. Ist Ihnen bekannt: gis.stackexchange.com?

+0

Ihre Antwort scheint die beste für mich zu sein. Deshalb bekommst du Kopfgeld und akzeptierte Antwort. Herzliche Glückwünsche! :) – ArtemStorozhuk

+0

@Astor. Vielen Dank. Sie werden wahrscheinlich den ersten Start von QGIS finden, um eine ziemlich gute Lernkurve zu erzeugen, aber wenn Sie mit Karten mehr als nur einmal arbeiten, wird es sich wirklich auszahlen. Und gis.stackexchange.com ist ziemlich beschäftigt und hilfreich für ein relativ kleines Gebiet. –

5

Sie möchten eine 5 Meter mal 5 Meter große Zeichnung einer 40 Kilometer mal 40 Kilometer großen Stadt erstellen. Das ist eine Skala von 1/8000.

Mit Blick auf die Open Street Map Fliesen-Sets, Fliesen-Set 17 hat eine Skala von 1 1/2 Zentimeter bis 100 Meter oder 150 Zentimeter bis 10.000 Meter. Das ist eine Skala von 1/6666, die so nah ist, dass Sie mit einem Open Street Map-Kachelset zu Ihrer gewünschten Skala gelangen.

Ich habe ein Bild mit dieser Skala angefügt. Ich bin mir nicht sicher, ob du sehen kannst, was du sehen willst.

Open Street Map Level 17

Wie auch immer, produzieren Sie das gewünschte Bild, wirst du die folgenden in welcher Programmiersprache die sie zu tun haben.

  • Sammeln Sie die benötigten Fliesen von der Open Street Map-Website.Dies kann eine Weile dauern, da Sie viele Kacheln sammeln werden und die Anzahl der Kärtchen begrenzt ist.
  • Nähen Sie die Fliesen zu einem oder mehreren größeren Bildern zusammen.
  • Erstellen Sie Ihre eigene transparente Datenschicht.
  • Überlagern Sie die transparente Datenebene auf der Kachelebene.
  • Das kombinierte Ebenenbild drucken.
+0

Ja, die Idee ist richtig, aber wie wird es umgesetzt? Zum Beispiel, wie man Fliesen sammelt und näht? – ArtemStorozhuk

+0

@Astor: Ich würde Java verwenden, da dies die Computersprache ist, die ich am meisten kenne. Sie müssen Ihren eigenen Computercode schreiben, um zu tun, was Sie wollen. Es gibt keine Open-Source-Lösung von der Stange. Ich nehme an, Sie können Photoshop verwenden, um die transparente Datenschicht zu erstellen. –

+0

Jedenfalls möchte ich keine neue API dafür erstellen - das ist sehr kompliziert. Und auch mein Budget ist sehr begrenzt, also kann ich Photoshop dafür nicht kaufen und lernen. Aber trotzdem danke für deine Antwort (+1). – ArtemStorozhuk

1

Vielleicht this grabber würde helfen. Es macht nur Screenshots von einem Bildschirmbereich, zieht dann die Karte (durch Emulieren von Mausbewegungen), macht einen weiteren Screenshot usw. Dann fügt es die Screenshots in ein einzelnes Bild zusammen. Daher kann es praktisch jede beliebige Karte aufnehmen, die im Browser geöffnet und mit der Maus bewegt werden kann (ohne API zu verwenden - WYSIWYG löschen).

+0

Danke für die Antwort. C#, Windows - mag sie beide nicht. Wie auch immer, ich werde ein Kartenbild haben und wie werde ich Features hinzufügen? Bildbearbeitung verwenden? – ArtemStorozhuk

+0

Wie du schon sagtest, kannst du mit OpenLayers (LeafLet auch eine gute) eine einfache Web-App mit einer slippigen Map erstellen und OSM (oder Google etc) Map mit deinen Features kombinieren. Und dann schnapp es dir. Wenn Sie dies nur einmal tun müssen, wird dies tun. Professioneller ist es, GIS zu verwenden, wie es unten vorgeschlagen wird. Mithilfe von GIS-Software können Sie Karten und Features aus Rohvektordaten visualisieren oder ein großes Rasterbild in Kombination mit Ihren Layern verwenden. Raster-Bild muss jedoch Georeferenzen haben. Wenn Sie mit GIS nicht vertraut sind, wird es einige Zeit dauern, es zu lernen. –