maps4cim - a real world map generator for CiM 2

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • maps4cim - a real world map generator for CiM 2

      topic in english language @ cimexchange
      maps4cim
      a real-world map generator for Cities in Motion 2

      maps4cim ist ein Kartengenerator für Cities in Motion 2, welcher CiM2-Maps basierend auf einem real existierenden Ausschnitt der Erde erstellt. Die nötigen Quelldaten für das Relief und die Straßenkarte werden dabei nach Bedarf aus dem Internet geladen, aus freien Datenquellen. Die Erhöhungen werden direkt in die Karte integriert, alle weiteren Daten (Straßen, Wälder, Flüsse, Gebäude) werden auf die Bodentextur gezeichnet, so dass sie im Karteneditor dann nachgebaut werden können. Folgende Datenquellen werden genutzt:
      • SRTM: Erhöhungen der Erdoberfläche in einer Auflösung von ca. 90x90 Metern pro Datenpunkt. Die Daten kommen direkt von den Servern der United States Geological Survey (besten Dank dafür!)
      • OpenStreetMap: Freie Kartendaten, welche die Grundlage für die Texturen bilden, die auf die Karte gezeichnet werden. Die jeweiligen Kartenausschnitte werden von den Overpass-Servern geladen (mit freundlichem Dank an die Betreiber!)
      Public Beta

      maps4cim befindet sich in der öffentlichen Beta-Phase. Bitte probiert das tool aus, spielt damit herum und meldet alle Probleme, die ihr finden könnt. Da ich ab Juli im Ausland bin, haben wir noch eine Woche Zeit, die gröbsten Bugs zu beseitigen, danach wird die Entwicklung vorerst für eine Weile ruhen. Es wird aber definitiv noch ein Sourcecode-Release unter einer freien Lizenz geben, damit jemand anderes bei Bedarf das Programm weiteretwickeln kann.

      Bugs & Features

      Wer Fehler melden oder Verbesserungsvorschläge machen will, bitte zuerst überprüfen ob das Thema nicht schon notiert wurde!

      Known Limitations
      * No rivers

      Known Issues
      * Overlap at -180°, 180° -> not possible, Overpass rejects requests
      * Broken Polygons (mostly when relations are involved)
      * Missing support for multi-polygons
      * Interpolation of gaps in SRTM dataset sometimes create ugly results

      Planned Features (eventually)
      * HeightScale: auto
      * Relief-Changeset based on OpenStreetMap data (e.g. for rivers)
      * Analyze Prefix: Name, Date, Map-thumb, ...
      * Support for some Relation types within OSM data: multipolygon (inner/outer)
      * Improved interpolation of missing relief data

      Not planned Features
      * Create ingame objects (roads, buildings, ...) from OpenStreetMap data

      Wie Fehler melden?

      Wenn dir etwas ungewöhnliches auffällt oder etwas nicht klappt, beschreib bitte Schritt für Schritt so genau wie möglich, was man machen muss, um den selben Fehler zu bekommen.

      Wenn es ein Problem beim Generieren der Karte gibt, füge bitte deinem Post die maps4cim.log-Datei bei. Du kannst die letzten 100 Zeilen kopieren und in einen spoiler-Block einfügen oder die Datei einfach als Anhang deinem Post beifügen (am besten zip-komprimiert).

      Du findest die Log-Datei unter:
      Windows: %APPDATA%\maps4cim\
      bei allen anderen Betriebssystemen liegt die Datei im Ordner .maps4cim in deinem Home-Verzeichnis. Falls der Ordner nicht angezeigt wird, muss du die Anzeige von versteckten Dateien aktivieren.

      Lizensierung

      Grundsätzlich dürft ihr mit den generierten Karten anfangen was ihr wollt. Da die Karten aber auch auf Daten der OpenStreetMap beruhen, müsst ihr dafür einen kleinen Hinweis hinterlassen, wenn ihr die Karte öffentlich zum Download anbietet. Die SRTM-Daten hingegen sind lizenzfrei, und auch ich verlange keinen Hinweis auf maps4cim. Die kürzeste Variante wäre z.B.
      Based on data from the OpenStreetMap (© OpenStreetMap contributors).
      Basierend auf Daten aus der OpenStreetMap (© OpenStreetMap Mitwirkende).
      Die verwendete Sprache ist euch freigestellt, eine Übersetzung muss nicht mitgeliefert werden.
      Wenn ihr andere auf maps4cim aufmerksam machen wollt, könnt ihr gerne folgenden Hinweis hinterlassen

      Quellcode

      1. This map was created using [url='http://www.nx42.de/projects/maps4cim/']maps4cim[/url], with data from the [url='http://www.openstreetmap.org/']OpenStreetMap[/url] (© OpenStreetMap contributors) and the [url='http://www2.jpl.nasa.gov/srtm/']SRTM[/url].
      2. Diese Karte wurde erstellt mit Hilfe von [url='http://www.nx42.de/projects/maps4cim/']maps4cim[/url], mit Daten aus der [url='http://www.openstreetmap.org/']OpenStreetMap[/url] (© OpenStreetMap Mitwirkende) und der [url='http://www2.jpl.nasa.gov/srtm/']SRTM[/url].

      Downloads
      Voraussetzungen: Installierte Java Runtime 6 oder höher.

      Viel Spaß beim Mappen! :)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Klamann ()

    • AlexanderN schrieb:

      Um Flüsse/Seen zu unterstützen könne mandoch evtl das ganze Terrain höher/tiefer setzen, da ja bei CiM immer auf der Höhe 0 der Wasserspiegel liegt, oder nicht ? :)

      Klar, das wäre möglich, aber nur mit Einschränkungen:
      Die Karten werden nach Standardeinstellung so erzeugt, dass der tiefste Punkt bei 0 Metern liegt. Aber: In der Regel hat man kein absolut flaches Terrain, und angenommen es fließt ein Gewässer von 50m Höhe zu 0 Meter: Bei 0 Meter kann man recht Problemlos auf -10 gehen, aber wenn man dann von 50 Meter eine Klippe und dann plötzlich -10 hat, sieht das nicht gut aus. Bei mehreren Flüssen in verschiedenen Höhenlagen wirds noch schlimmer.
      Bei Seen dürfte das einfacher sein, aber in der aktuellen Programmarchitektur ist nicht vorgesehen, Erhöhungen basierend auf den Straßenkartendaten zu verändern (siehe planned features) - das wäre einfach noch ein wenig Arbeit.
      -> es wäre recht aufwändig das alles zu implementieren und die Ergebnisse oft eher unschön. Da überlasse ich es lieber den Nutzern, die Flüsse manuell abzusenken, wenn sie es denn so möchten.
    • Okay, ich muss mich jetzt wieder als blutiger Laie outen. Was fange ich denn mit der entpackten Datei an? Muss ich die irgendwo hin verschieben, wenn ja, wohin? Im Ordner oder nur die .jar-Datei? Und wo finde ich maps4cim dann im Spiel?

      Sorry für die superblöde Frage, in CIM1 hatte ich mir das mit Mühe drauf geschafft und dann aufgrund des super komfortablen Modmanagers sofort alles wieder vergessen. Und im CIM-2-Forum hab ich jetzt nichts gefunden, was mir wirklich weiterhelfen würde. Ich hab die .jar-Datei schon mal in den Steam / commons / CIM2 / addons Ordner verschoben, aber ohne Ergebnis.

      Danke für jede Hilfe!
    • Tomdresden schrieb:

      Als ich das schon platziere Feld gerendert habe, gab es keine Problem, als ich jedoch das Feld verschoben habe (auf Dresden) und gerendert habe, stand im Spiel die Karte komplett unter Wasser.
      Kannst du mir die genauen Koordinaten von Punkt 1 und 2 nennen? Ist das Problem wieder aufgetreten, wenn du das Programm neu startest und gleich mit Punkt 2 startest?

      immi schrieb:

      gibt vermutlich einen Haufen Leute die sich freuen würden, wenn du das Programm auch im offiziellen Forum präsentierst ;)
      Ich will auf jeden Fall noch ein wenig mehr Werbung für das Programm machen, aber das kommt alles in den nächsten Tagen noch... jetzt bin ich erstmal froh dass der Thread hier nicht schon voller Bugreports ist ;) - was nicht heißen soll dass ich sie nicht lesen möchte!

      Danke schonmal für das positive Feedback :)
    • @norlas
      Zieh die Straßen nicht gerade von einem Ende der Karte zum Anderen, in der Realität wird auch kaum eine Straße exakt gerade gebaut. Und die SRTM-Daten sind auch nicht immer perfekt ;)
      Im Karteneditor färbt sich die Straße gelb, wenn eine Straße den Boden schneidet, dann einfach vorher absetzen und weiterbauen.

      @Aufrechtgehn
      Die JAR-Datei sollte sich auf den meisten Betriebssystemen einfach per Doppelklick starten lassen, das ist das Programm. Wo du es ablegst, ist egal - das JAR muss nicht ins Spielverzeichnis. Wenn es nicht startet, schau mal hier und installier dir ggf. Java: java.com/verify
      Der richtige Ordner um die Karten abzulegen wurde schon vorhin gepostet: *klick*

      @vanos
      Das Rendern dauert je nach Karte und Rechner zwischen 2 und 15 Sekunden, würde ich sagen. Etwas mehr Zeit dauert das Laden der SRTM-Daten (ca. 30 Sekunden), die mit Abstand meiste Zeit wartet man aber auf die Bereitstellung und den Download der OpenStreetMap-Daten, da vergehen in der Regel zwischen 30 und 180 Sekunden...
      Die Daten werden aber auch gecachet, d.h. die SRTM-Daten musst du nur einmal laden und auch die OpenStreetMap Daten werden nicht nochmal bezogen, wenn du die exakt gleiche Region z.B. mit anderer Höhenskalierung renderst.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Klamann ()

    • Klamann schrieb:

      @norlas
      Zieh die Straßen nicht gerade von einem Ende der Karte zum Anderen, in der Realität wird auch kaum eine Straße exakt gerade gebaut. Und die SRTM-Daten sind auch nicht immer perfekt ;)
      Im Karteneditor färbt sich die Straße gelb, wenn eine Straße den Boden schneidet, dann einfach vorher absetzen und weiterbauen.
      Ach so danke =)

      Obwohl das auch manchmal in den kurvigen Bereichen passiert.
    • Soo, also erst mal ein fettes danke für das Tool, hab mich gleich mal rangesetzt.

      Beim Ersten mal hat er nur Error gesagt ohne nähere Beschreibung, nachdem ich das Tool neugestartet hatte funktionierte es einwandfrei - Hier wäre eine Fehlermeldung hilfreich, ich habe erst nach der Karte gesucht weil ich den LogEintrag mit Error gar nicht gesehen hatte.
      Jetzt hab ich ein bissel herumgespielt, was genau macht die Height Scale? Heißt 100% die Höhen werden genauso übernommen wie vom Kartenmaterial und 1% die Höhen werden extrem abgeflacht? 0% brachte keine komplett flache Karte zutage, was genau der Regler beeinflusst wäre mal interessant.
      Den Height Offset habe ich jetzt mal auf -20 gesetzt, seitdem Rödelt er schon ne viertel Stunde ohne Fortschritt. Hab auch schonmal neugestartet, brachte keine Änderung. Der Letzte Eintrag ist 19:30:50,807 - DEBUG: Rendering 30 layers of OSM data - OK, habe gerade erst entdeckt dass es einen Tooltip gibt ;) -20 macht natürlich so keinen Sinn ^^

      Sonst geniales Tool, n1 ;)

      Greetings from Hell
      Satan
    • Bitte immer die Logdatei (maps4cim.log) oder Auszüge daraus posten, mit "Error" kann ich leider auch nichts anfangen.
      Du findest die Log-Datei unter:
      Windows: %APPDATA%\maps4cim\
      bei allen anderen Betriebssystemen liegt die Datei im Ordner .maps4cim in deinem Home-Verzeichnis. Falls der Ordner nicht angezeigt wird, muss du die Anzeige von versteckten Dateien aktivieren.

      Falls du auf Windows bist, dieses %APPDATA%\maps4cim\ kannst du einfach in die Textzeile vom Windows explorer einfügen, er öffnet den richtigen Ordner dann automatisch
    • Ahh gut, danke, ich war vorhin schon mal in dem Ordner aber die .log habe ich wohl übersehen. Nun also der Fehler:
      Spoiler anzeigen

      18:14:10,860 DEBUG [Launcher] ---------- NEW SESSION ----------
      18:14:10,863 DEBUG [Launcher] Writing log to C:\Users\Satan\AppData\Roaming\maps4cim\maps4cim.log
      18:19:38,515 INFO [Launcher] Map Generator has been started.
      18:19:38,518 INFO [SRTM] Using SRTM as source for the map's relief
      18:19:38,519 INFO [TextureMap] Using OpenStreetMap as source for the map's texture
      18:19:38,519 INFO [MapGenerator] Initializing the Map Generator...
      18:19:38,519 INFO [Launcher] Ressources initialized. The map will now be written...
      18:19:38,519 INFO [MapGenerator] Starting to build the map from the selected source data...
      18:19:38,519 INFO [MapGenerator] Loading static map file prefix and postfix
      18:19:38,553 INFO [MapGenerator] Writing resulting map to file D:\Caracutium\Leipzig.map
      18:19:38,554 DEBUG [MapGenerator] Writing file header...
      18:19:38,554 DEBUG [MapGenerator] Writing reliefmap...
      18:19:38,555 INFO [SRTM] The relief map will be generated for an area of 14.0x14.0km, with the center at (51.3406°, 12.3746°). The virtual zero height will be set to the highest possible value and all elevations are scaled 1:1.
      18:19:38,555 DEBUG [SRTM] Retrieving SRTM data.
      18:19:38,640 DEBUG [TileDownload] Downloading SRTM Tile for (51,12). It will be stored in cache for later use.
      18:19:43,026 ERROR [MapGenerator] Error generating map
      java.net.SocketTimeoutException: Read timed out
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(Unknown Source)
      at java.net.SocketInputStream.read(Unknown Source)
      at java.io.BufferedInputStream.fill(Unknown Source)
      at java.io.BufferedInputStream.read1(Unknown Source)
      at java.io.BufferedInputStream.read(Unknown Source)
      at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
      at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
      at sun.net.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
      at de.nx42.maps4cim.util.xml.Network.downloadToFile(Network.java:36)
      at de.nx42.maps4cim.map.relief.srtm.TileDownload.getTile(TileDownload.java:126)
      at de.nx42.maps4cim.map.relief.srtm.TileDownload.getTiles(TileDownload.java:95)
      at de.nx42.maps4cim.map.relief.SRTM.retrieveSRTMdata(SRTM.java:304)
      at de.nx42.maps4cim.map.relief.SRTM.fromBounds(SRTM.java:131)
      at de.nx42.maps4cim.map.relief.SRTM.generateRelief(SRTM.java:98)
      at de.nx42.maps4cim.map.ReliefMap.writeTo(ReliefMap.java:50)
      at de.nx42.maps4cim.MapGenerator.generateMap(MapGenerator.java:66)
      at de.nx42.maps4cim.Launcher.runMapGenerator(Launcher.java:212)
      at de.nx42.maps4cim.gui.RenderWindow$4.run(RenderWindow.java:177)
      at java.lang.Thread.run(Unknown Source)
      18:19:43,081 INFO [Launcher] Done. Total Time: 4,550 s
      18:19:43,081 INFO [Launcher] If you plan to publish this map, please attribute correctly. You can copy the following text to do so:
      This map was created using maps4cim, with data from the OpenStreetMap (© OpenStreetMap contributors).


      Scheinen also Downloadprobleme zu sein, nach dem Programneustart hats ja dann geklappt.
    • die voreingestellten 8km Extent ergeben eine Map im 1:1 Maßstab, bei anderen Werten wird die Karte dann gedehnt oder gestreckt, richtig? Variable Kartengrößen hat CiM2 ja nicht, wenn ich mich recht an deine Ausführungen erinnere?

      Wäre evtl hilfreich den Maßstab noch irgendwo im UI anzuzeigen, oder im Tooltip darauf hinzuweisen, dass der gewählt Kartenausschnitt immer auf eine 8x8km Map raufgepflastert wird.

      ansonsten läuft das Programm für nahezu beängstigend problemlos :p