Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wetter:boltek:software_stormforce [07.11.2009 18:10. ] djangowetter:boltek:software_stormforce [31.10.2023 18:41. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== Stormforce Installation und Konfiguration unter CentOS 5.x ======
 +===== Pakete (nach)installieren =====
 +Für den reibungslosen Betrieb von [[https://stormforce.sourceforge.net/|Stormforce]] für unseren [[wetter:boltek:hardware_ld-250|Blitzdedector]] benötigen wir noch neben der bereits vorhandenen Grundinstallation:
 +  # yum list python mysql-server
 +  python.i386                              installed
 +  mysql-server.i386                        installed
 +Gemäß der **//README//** aus dem aktuellen stormforce-Paket installieren wir nun die für unsere Installationsumgebung benötigten Pakete nach.
 +  # yum install MySQL-python python-game python-numeric ImageMagick
 +Für die beiden Pakete **python-psyco** und **pyserial** müssen wir etwas Hand anlegen. Zuerst laden wir uns diese auf unseren Rechner:
 +  # cd /usr/local/src
 +  # wget https://rpms.netmindz.net/el5/i386/RPMS.extras/pyserial-2.2-4.el5.noarch.rpm
 +  # wget ftp://ftp.uni-bayreuth.de/pub/redhat.com/fedora/linux/extras/6/i386/python-psyco-1.5.1-4.fc6.i386.rpm
 +Dann installieren wir diese beiden Pakete:
 +  # yum --nogpgcheck localinstall /usr/local/src/pyserial-2.2-4.el5.noarch.rpm
 +  # yum --nogpgcheck localinstall /usr/local/src/python-psyco-1.5.1-4.fc6.i386.rpm
 +
 +===== MySQL-Datenbank =====
 +==== Definition ====
 +Für den Betrieb von Stormforce legen wir uns nun einen User und eine Tabelle an. Dazu nutzen wir entweder direkt den Konsolenzugang, oder wir verwenden **phpmyadmin**.
 +<code>CREATE DATABASE `stormforce`;
 +CREATE USER 'stormforceuser'@'localhost' IDENTIFIED BY 'Danny_Knaggs_is_a_geek';
 +GRANT all on stormforce.* to 'stormforceuser'@'localhost';
 +FLUSH PRIVILEGES;</code>
 +Erfolgt der Zugriff auf den MySQL-Server über das Netzwerk legen wir unseren User entsprechend an:
 +<code>CREATE USER 'stormforceuser'@'%' IDENTIFIED BY 'Danny_Knaggs_is_a_geek';
 +GRANT all on stormforce.* to 'stormforceuser'@'%';
 +FLUSH PRIVILEGES;</code>
 +
 +==== Zugangstest ====
 +Als nächstes überprüfen wir, ob der zuvor angelegt User/Zugang auch funktioniert.
 +<code> # mysql -D stormforce -u stormforceuser -h mysqluser -p
 +Enter password: ***Danny_Knaggs_is_a_geek***
 +Welcome to the MySQL monitor.  Commands end with ; or \g.
 +Your MySQL connection id is 1886
 +Server version: 5.0.45 Source distribution
 +
 +Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 +
 +mysql> status;
 +--------------
 +mysql  Ver 08.15 Distrib 0.0.1, for redhat-linux-gnu (i686) using readline 5.0
 +
 +Connection id:          1886
 +Current database:       stormforce
 +Current user:           stormforceuser@mysqlserver
 +SSL:                    Not in use
 +Current pager:          stdout
 +Using outfile:          ''
 +Using delimiter:        ;
 +Server version:         0.0.00 Source distribution
 +Protocol version:       00
 +Connection:             Localhost via UNIX socket
 +Server characterset:    latin1
 +Db     characterset:    latin1
 +Client characterset:    latin1
 +Conn.  characterset:    latin1
 +UNIX socket:            /var/lib/mysql/mysql.sock
 +Uptime:                 3 days 6 hours 7 min 55 sec
 +
 +Threads: 4  Questions: 566224  Slow queries: 0  Opens: 53  Flush tables: 1  Open tables: 47  Queries per second avg: 2.013
 +--------------
 +
 +mysql> use stormforce;
 +Database changed
 +mysql> show tables;
 +Empty set (0.00 sec)
 +
 +mysql> quit
 +Bye </code>
 +===== Stormforce =====
 +==== Download ====
 +Als nächstes holen wir uns die aktuelle Stormforce von der Projektseite bei Google.
 +   cd /usr/local/src/
 +   wget https://stormforce.googlecode.com/files/stormforce-0.5.4.tar.bz2
 +==== Installation ====
 +Zu erst entpacken wir unser Paket.
 +<code># tar --bzip2 -xvf stormforce-0.5.3.tar.bz2
 +stormforce/
 +stormforce/png/
 +stormforce/ttf/
 +stormforce/ogg/
 +stormforce/README
 +stormforce/XML-README
 +stormforce/xmldevice.py
 +stormforce/netdevice.py
 +stormforce/LICENSE
 +stormforce/gpsdevice.py
 +stormforce/stormforce.py
 +stormforce/boltek-stormtracker/
 +stormforce/boltek-stormtracker/st2sf/
 +stormforce/boltek-stormtracker/boltek-sdk/
 +stormforce/boltek-stormtracker/boltek-sdk/Documentation
 +stormforce/boltek-stormtracker/boltek-sdk/libboltek/
 +stormforce/boltek-stormtracker/boltek-sdk/driver/
 +stormforce/boltek-stormtracker/boltek-sdk/driver/boltek.c
 +stormforce/boltek-stormtracker/boltek-sdk/driver/Makefile
 +stormforce/boltek-stormtracker/boltek-sdk/driver/77-boltek.rules
 +stormforce/boltek-stormtracker/boltek-sdk/libboltek/Makefile
 +stormforce/boltek-stormtracker/boltek-sdk/libboltek/demo.c
 +stormforce/boltek-stormtracker/boltek-sdk/libboltek/libboltek.c
 +stormforce/boltek-stormtracker/boltek-sdk/libboltek/stormpci.h
 +stormforce/boltek-stormtracker/st2sf/stormpci.h
 +stormforce/boltek-stormtracker/st2sf/st2sf.c
 +stormforce/boltek-stormtracker/st2sf/Makefile
 +stormforce/boltek-stormtracker/st2sf/libboltek.c
 +stormforce/boltek-stormtracker/st2sf/LICENSE
 +stormforce/boltek-stormtracker/st2sf/README
 +stormforce/ogg/kde_click3.ogg
 +stormforce/ogg/kde_digital2.ogg
 +stormforce/ogg/kde_error2.ogg
 +stormforce/ttf/micron55.ttf
 +stormforce/ttf/aldo.ttf
 +stormforce/ttf/7linedigital.ttf
 +stormforce/ttf/lcd1.ttf
 +stormforce/ttf/lcd2.ttf
 +stormforce/png/blank.png</code>
 +Für die spätere einfache Versionierung ändern wir den **stormforce**-Pfad auf //**/usr/local/src/stormforce-0.5.4**// ab.
 +   mv /usr/local/src/stormforce /usr/local/src/stormforce-0.5.4
 +Wir haben es dann zukünftig leichter, wenn wir mehrere Versionen zum testen parallel vorhalten wollen.
 +Anschließend setzen wir wieder einen symbolischen Link mit dem gewünschten Zielpfadnamen auf unser neues Verzeichnis.
 +   ln -s /usr/local/src/stormforce-0.5.4 /usr/local/src/stormforce
 +==== Berechtigungen ====
 +Damit unser **user** auch Zugriff auf alle Dateien bekommt, ändern wir noch die Dateirechte ab
 +   chown -R django:django stormforce
 +==== erster Programmstart ====
 +Nun ist es an der Zeit, **stormforce** das erste mal zu starten. 
 +<code># python stormforce.py
 +
 +#########################################################################
 +# Copyright/License Notice (Modified BSD License)                       #
 +#########################################################################
 +#########################################################################
 +# Copyright (c) 2008, Daniel Knaggs                                     #
 +# All rights reserved.                                                  #
 +#                                                                       #
 +# Redistribution and use in source and binary forms, with or without    #
 +# modification, are permitted provided that the following conditions    #
 +# are met: -                                                            #
 +#                                                                       #
 +#   * Redistributions of source code must retain the above copyright    #
 +#     notice, this list of conditions and the following disclaimer.     #
 +#                                                                       #
 +#   * Redistributions in binary form must reproduce the above copyright #
 +#     notice, this list of conditions and the following disclaimer in   #
 +#     the documentation and/or other materials provided with the        #
 +#     distribution.                                                     #
 +#                                                                       #
 +#   * Neither the name of the author nor the names of its contributors  #
 +#     may be used to endorse or promote products derived from this      #
 +#     software without specific prior written permission.               #
 +#                                                                       #
 +#   * This Software is not to be used for safety purposes.              #
 +#                                                                       #
 +#   * You agree and abide the Disclaimer for your Boltek LD-250.        #
 +#                                                                       #
 +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   #
 +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     #
 +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR #
 +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  #
 +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, #
 +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      #
 +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, #
 +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY #
 +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   #
 +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE #
 +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  #
 +#########################################################################
 +
 +WARNING: If you do not agree to the above copyright/license notice, cease using the software immediately and remove from your system.
 +
 +
 +
 +Information: Welcome to StormForce v0.5.4.
 +Information: Please report any bugs you find so I can fix them!
 +
 +Warning: The XML settings file doesn't exist, create one...
 +Information: The XML settings file has been created using the default settings.  Please edit it and restart StormForce once you're happy with the settings.
 +
 +Information: Closing down..</code>
 +Wie uns das Programm freundlich mittteilte, müssen wir noch die **XML**-Konfigurationsdatei bearbeiten.
 +==== Konfiguration ====
 +Mit dem Editor unserer Wahl bearbeiten wir nun die **stormforce-settings.xml**
 +  # vim stormforce-settings.xml
 +<code xml stormforce-settings.xml>
 +
 +<?xml version="1.0" ?>
 +<StormForce>
 +        <Setting DemoMode="False"/>
 +        <Setting DebugMode="False"/>
 +        <Setting DatabaseEngine="1"/>
 +        <Setting ConnectionString="mysqlserver/stormforce/stormforceuser/Danny_Knaggs_is_a_geek"/>
 +        <Setting Fullscreen="False"/>
 +        <Setting LD250Port="/dev/ttyUSB0"/>
 +        <Setting LD250PortCompression=""/>
 +        <Setting LD250PortType="XML"/>
 +        <Setting LD250SkewAmount="0.0"/>
 +        <Setting LD250SquelchLevel="0"/>
 +        <Setting LD250UseUncorrectedStrikes="False"/>
 +        <Setting StormTrackerPort=""/>
 +        <Setting StormTrackerPortCompression=""/>
 +        <Setting StormTrackerPortType="XML"/>
 +        <Setting StormTrackerSkewAmount="0.0"/>
 +        <Setting StormTrackerSquelchLevel="0"/>
 +        <Setting StormTrackerUseUncorrectedStrikes="False"/>
 +        <Setting EFM100Port=""/>
 +        <Setting EFM100PortCompression=""/>
 +        <Setting EFM100PortType="XML"/>
 +        <Setting GPSPort=""/>
 +        <Setting GPSPortCompression=""/>
 +        <Setting GPSPortType="XML"/>
 +        <Setting TRACEnabled="True"/>
 +        <Setting TRACSensitivity="10"/>
 +        <Setting TRACStormWidth="30"/>
 +        <Setting CloseAlarmArguments=""/>
 +        <Setting SevereAlarmArguments=""/>
 +        <Setting TCPListenerPort="0"/>
 +        <Setting TCPListenerPortCompression=""/>
 +        <Setting UDPListenerPort="0"/>
 +        <Setting UDPListenerPortCompression=""/>
 +        <Setting MulticastListenerAddress=""/>
 +        <Setting MulticastListenerPort="0"/>
 +        <Setting MulticastListenerPortCompression=""/>
 +        <Setting MulticastListenerTTL="0"/>
 +        <Setting StrikeShape="1"/>
 +        <Setting SmallCrosshair="True"/>
 +        <Setting ShowRedDotOnStrike="True"/>
 +        <Setting ReconstructionFile=""/>
 +        <Setting ShowRangeCircles="False"/>
 +        <Setting ServerModeImage=""/>
 +        <Setting SoundEnabled="False"/>
 +        <Setting CurlArguments=""/>
 +        <Setting UserCopyright="Lightning Data (c) 2008 - Django"/>
 +        <Setting ZoomDistance="300"/>
 +</StormForce>
 +</code>
 +==== Stormforce-Aufruf ====
 +Nachdem wir unsere Konfiguration erfolgreich abgeschlossen haben, rufen wir nunmehr **stormforce** zum ersten male richtig auf. //( Vorausgesetzt wir haben die Berechtigungen auf die Device-Datei entsprechend geändert, siehe hierzu [[wetter:boltek:hardware_ld-250|Hardware LD-250]] )//
 +  $ python stormforce.py
 +<code>
 +#########################################################################
 +# Copyright/License Notice (Modified BSD License)                       #
 +#########################################################################
 +#########################################################################
 +# Copyright (c) 2008, Daniel Knaggs                                     #
 +# All rights reserved.                                                  #
 +#                                                                       #
 +# Redistribution and use in source and binary forms, with or without    #
 +# modification, are permitted provided that the following conditions    #
 +# are met: -                                                            #
 +#                                                                       #
 +#   * Redistributions of source code must retain the above copyright    #
 +#     notice, this list of conditions and the following disclaimer.     #
 +#                                                                       #
 +#   * Redistributions in binary form must reproduce the above copyright #
 +#     notice, this list of conditions and the following disclaimer in   #
 +#     the documentation and/or other materials provided with the        #
 +#     distribution.                                                     #
 +#                                                                       #
 +#   * Neither the name of the author nor the names of its contributors  #
 +#     may be used to endorse or promote products derived from this      #
 +#     software without specific prior written permission.               #
 +#                                                                       #
 +#   * This Software is not to be used for safety purposes.              #
 +#                                                                       #
 +#   * You agree and abide the Disclaimer for your Boltek LD-250.        #
 +#                                                                       #
 +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   #
 +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     #
 +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR #
 +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  #
 +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, #
 +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      #
 +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, #
 +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY #
 +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   #
 +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE #
 +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  #
 +#########################################################################
 +
 +WARNING: If you do not agree to the above copyright/license notice, cease using the software immediately and remove from your system.
 +
 +
 +
 +Information: Welcome to StormForce v0.5.4.
 +Information: Please report any bugs you find so I can fix them!
 +
 +Information: Reading XML settings...
 +
 +
 +Information: MySQL support is available.
 +Information: Using MySQL as the database backend.
 +Information: Connecting to database...
 +Information: Updating database structure...
 +Information: Initialising history...
 +Information: Closing database connection...
 +Information: Initialising COM port for LD-250 via /dev/ttyUSB0...
 +Information: Squelch level has successfully been set to 0.
 +Information: COM port opened! Waiting for lightning data from LD-250...
 +Information: Server mode without uploading enabled.
 +Information: Enabling Cron...
 +Information: Entering main loop...
 +</code>
 +Folgender Bildschirm wird uns bei erfolgreichem Programmstart gezeigt.
 +
 +{{ :ws:bildschirmfoto-stormforce_v0.5.3.png?500 }}
 +
 +Mit der Taste "**Q**" können wir das Programmm bei Bedarf beenden.
 +===== Individuelle Anpassungen =====
 +==== Startscript für Programmstart ====
 +Für den Porgrammstart verlinken wir das beim Programmpaket enthaltene Startscript.
 +  # ln -s /usr/local/src/stormforce/bin/stormforce.sh /usr/local/bin/
 +
 +==== Starter anlegen ====
 +Zum Starten von Stormforce legen wir uns am Desktop einen entsprechenden Starter an. Das Icon => {{:ws:stormforce.png}} Legen wir am besten unter **/usr/share/pixmaps/** ab.
 +
 +{{ :ws:stormforce_starter.png?200 }} 
 +==== Automatischer Programmstart nach erfolgter Anmeldung ====
 +Damit unser **Boltek LD-250** nun sofort nach einer erfolgreichen Useranmeldung von //**Stormforce **// ausgelesen werden kann, legen wir uns einen Autostarter an.
 +
 +Hierzu legen wir zu erst folgendes Verzeichnis an:
 +   # mkdir /home/django/.config/autostart
 +Dort legen wir die Datei **__stormforce.desktop__** mit folgendem Inhalt an: 
 +<code>[Desktop Entry]
 +Name=Stormforce
 +Encoding=UTF-8
 +Version=1.0
 +Exec=stormforce-start.sh
 +X-GNOME-Autostart-enabled=true</code>
 +Somit wird beim nächsten Anmelden am X-Gnome-Desktop das Programm **stormforce** automatisch gestartet.
 +
 +{{ :ws:stormforce_hardcopy.png?450 }}
 +==== Update des Bildes auf unserem Webserver/Vhost ====
 +=== storm2web.sh ===
 +Zum Kopieren unserer, von Stormforce alle 10 Sekunden akutalisierten, Bildschirmhardcopy auf unseren Webserver, legen wir ein kleines Shellscript an:
 +   # vim /usr/local/bin/storm2web.sh
 +<code bash storm2web.sh >#!/bin/sh 
 +# Script zum "Hochladen" des Strormforce-Bildes auf den
 +# virtuellen Host "Webcam"
 +# (c) Michael Nausch - 29.12.2008
 +
 +WORKDIR="/usr/local/src/stormforce/"
 +QUELLE="/usr/local/src/stormforce/stormforce_picture.png"
 +ZIEL="/var/www/html/website/record/"
 +SLEEP=10
 +
 +cd $WORKDIR
 +while true
 +do
 +# cd $WORKDIR_1
 + rsync -av $QUELLE $ZIEL"stormforce_2.png"
 + sleep $SLEEP
 +done
 +</code>
 +Anschließend versehen wir unser kleines shell-script noch mit dem **"X"-Rechten**.
 +   # chmod +x /usr/local/bin/storm2web.sh
 +
 +=== Stormforce-Konfiguration ===
 +Die Dateibezeichnung **stormforce_picture.png** tragen wir auch in der Konfigurationsdatei von Stormforce **//stormforce-settings.xml
 +//** ein:
 +  # vim stormforce-settings.xml
 +<code xml stormforce-settings.xml>
 +
 +<?xml version="1.0" ?>
 +<StormForce>
 +        <Setting DemoMode="False"/>
 +        <Setting DebugMode="False"/>
 +
 +...
 +        <Setting ServerModeImage="stormforce_picture.png"/>
 +        <Setting SoundEnabled="False"/>
 +        <Setting CurlArguments=""/>
 +        <Setting UserCopyright="Lightning Data (c) 2008 - Django"/>
 +        <Setting ZoomDistance="300"/>
 +</StormForce>
 +</code>
 +=== service stormforce ===
 +Damit nun beim Systemstart automatisch der automatische //Bildsyncronisierungscopyjob// legen wir uns nachfolgendes Systemstartscript unter **/etc/init.d/** ab.
 +  # vim /etc/init.d/stormforce
 +<code bash stormforce> 
 +
 +#!/bin/sh
 +#
 +# chkconfig: 2345 79 31
 +# description: cyclic Stormforce-Map Update
 +#
 +# processname: stormforce
 +#
 +
 +# Source function library.
 +. /etc/rc.d/init.d/functions
 +
 +# Source networking configuration.
 +. /etc/sysconfig/network
 +
 +# Check that networking is up.
 +[ ${NETWORKING} = "no" ] && exit 0
 +
 +prog=storm2web.sh
 +stormforce_prg=/usr/local/bin/$prog
 +
 +# Source an auxiliary options file if we have one, and pick up OPTIONS,                                                                                                     
 +if [ -r /etc/sysconfig/$prog ]; then
 +    . /etc/sysconfig/$prog
 +fi
 +
 +start() {
 +    echo -n $"Starting $prog: "
 +#    $stormforce_prg start
 +    $stormforce_prg &
 +    RETVAL=$?
 +    echo
 +    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
 +}
 +stop() {
 +    echo -n $"Stopping $prog: "
 +   /usr/bin/killall $prog
 +#    $stormforce_prg stop
 +    RETVAL=$?
 +    echo
 +    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
 +}
 +
 +restart() {
 +    stop
 +    start
 +}
 +
 + 
 +# See how we were called.
 +case "$1" in
 +    start)
 +        start
 +    ;;
 +    stop)
 +        stop
 +    ;;
 +    restart)
 +        restart
 +    ;;
 +    *)
 +        echo $"Usage: $0 {start|stop|restart}"
 +        exit 1
 +esac
 +
 +exit $RETVAL</code>
 +Damit der "service" automatisch beim Systemstart anläuft, aktivieren wir diesen mit:
 +   # chkconfig stormforce on
 +Die Überprüfungung ob der Dienst (Daemon) stormforce wirklich bei jedem Systemstart automatisch mit gestartet werden, kann durch folgenden Befehle erreicht werden: 
 +   # chkconfig --list | grep stormforce
 +stormforce      0:Aus   1:Aus   2:Ein   3:Ein   4:Ein   5:Ein   6:Aus
 +
 +Den Daemon starten wir nun initial mit:
 +   # service stormforce start
 +==== Kartenhintergrund ====
 +Einen passenden Kartenhintergrund können wir uns entweder über das [[https://www.openstreetmap.org|freie Kartenprojekt von Openstreetmap]], bei den [[https://earthobservatory.nasa.gov/Features/BlueMarble/|Blue Marble Satellitenbilder der NASA]], oder 
 +mit Hilfe des [[https://www.primap.com/de/index.html|MapCreator 2.0 von primap]] erstellen. Genau in der Reihenfolge bin ich vorgegangen, bei letzterem bin ich dann auf Grund er schnellen, einfachen und guten Ergebnisse hängen geblieben.
 +
 +{{ :ws:blitzkarte_mit_ort_und_namen.png?400 }}
 +
 +Die Karte hat eine Größe von 600 x 600 Pixel, mit dem Standort in der Bildmitte. Die Karte selbst hat dabei eine Ausdehnung (Radius um den Standort) von 300 Meilen bzw. ca. 480 Kilometer.
 +
 +Unsere eigene neue Karte speichern wir dann als **//map-300.png//** im Verzeichnis **//png//** ab.
 +   #  ll /usr/local/src/stormforce/png/
 +   -rw-r--r-- 1 root root 362544 28. Sep 11:36 map-300.png
 +
 +