1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Mo: 30 Juni 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Entwicklung & Scripting
    4. Webentwicklung
    5. HTML, CSS, PHP, JS

    Arma Map via Leaflet im Browser

    • Kaibu
    • 11. Dezember 2017 um 12:16
    • Kaibu
      Amateur
      Reaktionen
      141
      Trophäen
      9
      Beiträge
      166
      Bilder
      31
      • 11. Dezember 2017 um 12:16
      • #1

      Arma Map via Leaflet

      Beispiel: https://info.realliferpg.de/havenborn

      Warnung


      Dieser Guide setzt gewisses Grundwissen voraus, ich werde nicht erklären wie man ein Python Package sucht oder installiert oder Dateien via http erreichbar macht.

      Export

      Die Map als Sattelitenkarte zu exportieren ist leider direkt nicht möglich, entweder hat man Zugriff auf die Original Satmap oder klebt die einzelnen Tiles die man in der Map findet zusammen.

      Straßenkarte, Höhenlinien und Büsche etc sind einfach zu exportieren, dies geht via dem Cheat Command TOPOGRAPHY oder EXPORTNOGRID, dazu müsst ihr beachten Arma (unter Windows) UAC Virtualisiert (“Als Administrator”) gestartet zu haben damit es in euer Hauptverzeichnis (“C:”) die Map als .emf exportieren kann.

      Unten als Download findet ihr die EmfToPng.exe, diese ist nichtmehr in den Arma 3 Tools enthalten, ich habe diese Version von Killzonekid den ich als Vertrauenswürdig einstufen würde.

      Jetzt kopiert ihr die .emf einfach irgendwo hin wo ihr ohne erhöhte Rechte schreiben könnt und zieht sie auf die EmfToPng.exe, so erhaltet ihr eine .png, die ihr bearbeiten könnt.

      Maptiles erstellen

      Installiert euch die Python-toolbox GDAL2Tiles, mit dieser könnt ihr aus einer PNG/JPEG Datei die nötigen Preview/Layerbilder erzeugen damit Leaflet sie benutzen kann und euer Bild beim Zoomen nicht ewig lädt.

      Bevor ihr das Script benutzen könnt müsst ihr euch entscheiden wieviel Zoom euere Map haben soll. Zoomstufen sind nur als 2er Potenz minimal 256 möglich.

      • Zoom 0: 256 px
      • Zoom 1: 512 px
      • Zoom 2: 1024 px
      • Zoom 3: 2048 px
      • Zoom 4: 4096 px
      • Zoom 5: 8192 px
      • Zoom 6: 16384 px
      • …

      Falls ihr die dafür nötige Auflösung unterschreitet habt ihr weiße Ränder bis zur nötigen Größe. Es sieht besser aus wenn ihr das Bild noch richtig rezised. Dafür könnt ihr das von GDAL gelieferte Tool gdal_translate benutzen.

      gdal_translate -of PNG -outsize 16384 16384 sat.png satrez.png

      So erhaltet ihr eine 16384*16384px png eures Bildes. Falls ihr keine Transparenz braucht und eure Map schneller laden soll könnt ihr auch hier einfach ein JPEG aus eurem Bild machen.

      gdal_translate -of JPG -outsize 16384 16384 sat.png satrez.jpg

      Als letzten Schritt tilen wir nun unser Bild mithilfe von gdal_tiles.

      gdal2tiles.py -p raster -z 0-6 -w none satrez.jpg sat

      -p raster erstellt ein neues Raster da wir keine realen Koordinaten haben

      -z sind die zu verwendenden Zoomlevel

      Im Ordner /sat findet ihr nun die fertigen Tiles.

      Die legt ihr jetzt auf einem Webserver bereit.

      Leaflet.js Konfiguration

      Ladet leaflet.js und das nötige css

      HTML
          <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.2.0/leaflet.css" integrity="sha256-LcmP8hlMTofQrGU6W2q3tUnDnDZ1QVraxfMkP060ekM=" crossorigin="anonymous" />
          <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.2.0/leaflet.js" integrity="sha256-kdEnCVOWosn3TNsGslxB8ffuKdrZoGQdIdPwh7W1CsE=" crossorigin="anonymous"></script>

      Erstellt einen div mit Höhe und Breite (viewports gehen auch).

      <div style="width: 1135px; height: 580px" id="map"></div>

      JavaScript
          var sat = L.tileLayer('https://webserver.shady.cc/sat/{z}/{x}/{y}.png', { //bzw .jpg        
              minZoom: 1,        
              maxZoom: 6,        
              attribution: 'Eure Attribution',        
              tms: true    
          });
          var map = L.map('map', {        
              layers: [sat]    
          }).setView([0, 0], 1);
          var baseLayers = {        
          "Satellit": sat    
          };
          L.control.layers(baseLayers).addTo(map);
          var southWest = map.unproject([0, 16384], map.getMaxZoom()); //Original-Höhe    
          var northEast = map.unproject([16384, 0], map.getMaxZoom()); //Original-Breite    
          map.setMaxBounds(new L.LatLngBounds(southWest, northEast));
      Alles anzeigen

      Map-Größe ist die Ingame Größe der Map in Metern (Höhe und Breite sind gleich)

      Für mehr Konfigurationsmöglichkeiten etc befragt die leaflet-docs.

      Post auf dev.realliferpg.de

      Downloads

      EmfToPng.exe

      Ich kann hier keine exe anhängen, ihr könnt wenn ihr mir nicht vertraut auch den Post von Killzonekid suchen.

      Quellen

      https://community.bistudio.com/wiki/ArmA:_Cheats

      https://build-failed.blogspot.de/2012/11/zoomab…th-leaflet.html

      http://leafletjs.com/

      ReallifeRPG Admin seit 2014

      Disclaimer: Falls nicht ausdrücklich markiert sind alle Aussagen lediglich meine eigenen und spiegeln nicht die Ansichten des Projektes ReallifeRPG.de da.

    • TRS_Nils
      Fortgeschrittener
      Reaktionen
      139
      Trophäen
      10
      Beiträge
      269
      Dateien
      8
      Bilder
      25
      • 11. Dezember 2017 um 12:48
      • #2

      Geil! :D

    • Montylein
      Fortgeschrittener
      Reaktionen
      127
      Trophäen
      11
      Beiträge
      363
      Dateien
      2
      Bilder
      7
      • 13. Dezember 2017 um 22:01
      • #3

      Dumme Frage, Was soll es bringen eine solche Karte, Ich kann doch auch einfach nen Screenshot von der Map machen und hochladen irgend wo.

      Oder hat diese Methode hier irgend was besonderes ansich?

      Sorry Versteh das hier irgend wie nicht wieso und warum

    • Kaibu
      Amateur
      Reaktionen
      141
      Trophäen
      9
      Beiträge
      166
      Bilder
      31
      • 13. Dezember 2017 um 22:39
      • #4
      Zitat von Montylein

      Dumme Frage, Was soll es bringen eine solche Karte, Ich kann doch auch einfach nen Screenshot von der Map machen und hochladen irgend wo.

      Oder hat diese Methode hier irgend was besonderes ansich?

      Sorry Versteh das hier irgend wie nicht wieso und warum

      Dein Screenshot sieht aber dann in 5 Zoomstufen ziemlich furchtbar aussieht selbst wenn er in sowas wie 8k ist.

      Und so wie ich teilen macht man damit es dynamisch laden kann und nicht das große Bild.

      ReallifeRPG Admin seit 2014

      Disclaimer: Falls nicht ausdrücklich markiert sind alle Aussagen lediglich meine eigenen und spiegeln nicht die Ansichten des Projektes ReallifeRPG.de da.

    • Multivitamin
      aka Saft
      Reaktionen
      201
      Trophäen
      11
      Beiträge
      352
      • 13. Dezember 2017 um 22:44
      • #5

      Das größte Problem besteht darin wenn du eine Karte hast die 200MB groß ist und der Browser erstmal die nächsten 2 Minuten beschäftigt wäre die ganze Datei herunterzuladen.

      Bei einer 20k x 20k Auflösung wird da doch einiges an Speicherplatz benötigt

      Wie hier > https://dev.realliferpg.de/tutorials/leaflet/ < beschrieben wird die Map in "Tiles" zerstückelt um dann nach und nach geladen zu werden, je nach dem wie gerade gezoomt wird oder das Fenster gerade verschoben wird

      Edit: war ich wohl zu spät

    • Kaibu
      Amateur
      Reaktionen
      141
      Trophäen
      9
      Beiträge
      166
      Bilder
      31
      • 13. Dezember 2017 um 22:53
      • #6

      So sieht das dann aus: https://tiles.realliferpg.de/sat/3/3/3.png

      Das ist halt eine Tile in Layer 3 und dann die dritte von oben und von rechts.

      Hier ist dann nach Rechts die nächste: https://tiles.realliferpg.de/sat/3/3/4.png

      ReallifeRPG Admin seit 2014

      Disclaimer: Falls nicht ausdrücklich markiert sind alle Aussagen lediglich meine eigenen und spiegeln nicht die Ansichten des Projektes ReallifeRPG.de da.

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™