GEOINT: Globaler Schiffsverkehr via AISStream.io
Digitraffic (nur Nordeuropa) ersetzt durch AISStream.io WebSocket: - Globale Echtzeit-AIS-Daten (tausende Schiffe weltweit) - Dauerhafter WebSocket-Client im Backend, auto-reconnect - Schiffsnamen im Popup (MMSI, SOG, COG) - Binary-Frame Parsing fuer WebSocket-Nachrichten - Auto-Start bei Server-Hochfahren - Stale-Cleanup (>15 Min alte Positionen entfernt)
Dieser Commit ist enthalten in:
@@ -87,7 +87,7 @@ const GEOINT = {
|
||||
var self = this;
|
||||
var items = [
|
||||
['flights', 'Flugverkehr', 'flights'],
|
||||
['ships', 'Schiffe (Nordeuropa)', 'ships'],
|
||||
['ships', 'Schiffsverkehr', 'ships'],
|
||||
['quakes', 'Erdbeben', 'quakes'],
|
||||
['gdelt', 'Nachrichten', 'gdelt'],
|
||||
['_sep'],
|
||||
@@ -250,9 +250,11 @@ const GEOINT = {
|
||||
count++;
|
||||
var color = (s.sog || 0) > 0.5 ? '#4499ff' : '#556688';
|
||||
var navLabels = {0:'Motor',1:'Anker',2:'N.steuerb.',3:'Eingeschr.',5:'Festgemacht',7:'Fischfang',8:'Segel'};
|
||||
var popup = '<div class="geoint-popup"><strong>MMSI ' + (s.mmsi||'?') + '</strong>' +
|
||||
var shipName = s.name || ('MMSI ' + (s.mmsi||'?'));
|
||||
var popup = '<div class="geoint-popup"><strong>' + shipName + '</strong>' +
|
||||
(s.name ? '<br><span class="geoint-popup-key">MMSI</span> ' + (s.mmsi||'?') : '') +
|
||||
'<br><span class="geoint-popup-key">SOG</span> ' + (s.sog||0).toFixed(1) + ' kn' +
|
||||
'<br><span class="geoint-popup-key">NAV</span> ' + (navLabels[s.navStat] || s.navStat) + '</div>';
|
||||
'<br><span class="geoint-popup-key">COG</span> ' + Math.round(s.cog||0) + '\u00b0' + '</div>';
|
||||
L.circleMarker([s.lat, s.lon], {
|
||||
radius: r, fillColor: color, color: '#223355',
|
||||
fillOpacity: 0.85, weight: 0.5, renderer: this._canvasRenderer
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren