Add proper NATO symbology
This commit is contained in:
parent
6f921380bd
commit
f2bc8b6e74
@ -1,5 +1,6 @@
|
|||||||
### Change Log for Node-RED Worldmap
|
### Change Log for Node-RED Worldmap
|
||||||
|
|
||||||
|
- v1.1.14 - Add proper NATO symbology via <a href="https://github.com/spatialillusions/milsymbol" target="_new">milsymbol.js</a>
|
||||||
- v1.1.13 - Add ability to set a building using a GeoJSON Feature set. {name:"MyTower":building:{...feature sets...}}
|
- v1.1.13 - Add ability to set a building using a GeoJSON Feature set. {name:"MyTower":building:{...feature sets...}}
|
||||||
- v1.1.12 - README changes, split out CHANGELOG.md
|
- v1.1.12 - README changes, split out CHANGELOG.md
|
||||||
- v1.1.11 - fix websocket multiple connections
|
- v1.1.11 - fix websocket multiple connections
|
||||||
|
11
README.md
11
README.md
@ -65,6 +65,17 @@ There are also several special icons...
|
|||||||
- **unknown** : pseudo NATO style yellow square.
|
- **unknown** : pseudo NATO style yellow square.
|
||||||
- **earthquake** : black circle - diameter proportional to `msg.mag`.
|
- **earthquake** : black circle - diameter proportional to `msg.mag`.
|
||||||
|
|
||||||
|
#### NATO Symbology
|
||||||
|
|
||||||
|
You can use NATO symbols via <a href="https://github.com/spatialillusions/milsymbol" target="_new">milsymbol.js</a>.
|
||||||
|
To do this you need to supply a `msg.SIDC` instead of an icon, for example:
|
||||||
|
|
||||||
|
{ name: "Emergency Medical Operation",
|
||||||
|
lat: 51.05,
|
||||||
|
lon: -1.35,
|
||||||
|
SIDC:"ENOPA-------"
|
||||||
|
}
|
||||||
|
|
||||||
### Buildings
|
### Buildings
|
||||||
|
|
||||||
The OSM Buildings layer is available in the layers menu. You can replace this with a building of your own by
|
The OSM Buildings layer is available in the layers menu. You can replace this with a building of your own by
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "node-red-contrib-web-worldmap",
|
"name": "node-red-contrib-web-worldmap",
|
||||||
"version": "1.1.13",
|
"version": "1.1.14",
|
||||||
"description": "A Node-RED node to provide a web page of a world map for plotting things on.",
|
"description": "A Node-RED node to provide a web page of a world map for plotting things on.",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "^4.16.3",
|
"express": "^4.16.3",
|
||||||
|
@ -46,12 +46,12 @@
|
|||||||
<script type="text/javascript" src="leaflet/easy-button.js"></script>
|
<script type="text/javascript" src="leaflet/easy-button.js"></script>
|
||||||
<script type="text/javascript" src="leaflet/Leaflet.fullscreen.min.js"></script>
|
<script type="text/javascript" src="leaflet/Leaflet.fullscreen.min.js"></script>
|
||||||
<script type="text/javascript" src="leaflet/l.ellipse.min.js"></script>
|
<script type="text/javascript" src="leaflet/l.ellipse.min.js"></script>
|
||||||
|
<script type="text/javascript" src="leaflet/milsymbol.js"></script>
|
||||||
<script type="text/javascript" src="leaflet/leaflet-heat.js"></script>
|
<script type="text/javascript" src="leaflet/leaflet-heat.js"></script>
|
||||||
<script type="text/javascript" src="leaflet/TileLayer.Grayscale.js"></script>
|
<script type="text/javascript" src="leaflet/TileLayer.Grayscale.js"></script>
|
||||||
<script type="text/javascript" src="leaflet/TileLayer.GrayscaleWMS.js"></script>
|
<script type="text/javascript" src="leaflet/TileLayer.GrayscaleWMS.js"></script>
|
||||||
<script type="text/javascript" src="leaflet/L.Terminator.js"></script>
|
<script type="text/javascript" src="leaflet/L.Terminator.js"></script>
|
||||||
<script type="text/javascript" src="leaflet/tile.stamen.js"></script>
|
<script type="text/javascript" src="leaflet/tile.stamen.js"></script>
|
||||||
<!-- <script type="text/javascript" src="leaflet/leaflet-openweathermap.js"></script> -->
|
|
||||||
<script type="text/javascript" src="leaflet/OSMBuildings-Leaflet.js"></script>
|
<script type="text/javascript" src="leaflet/OSMBuildings-Leaflet.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript" src="leaflet/dialog-polyfill.js"></script>
|
<script type="text/javascript" src="leaflet/dialog-polyfill.js"></script>
|
||||||
@ -126,6 +126,23 @@ var showLayerMenu = true;
|
|||||||
var layercontrol;
|
var layercontrol;
|
||||||
var ws;
|
var ws;
|
||||||
|
|
||||||
|
var iconSz = {
|
||||||
|
"Team/Crew": 5,
|
||||||
|
"Squad": 10,
|
||||||
|
"Section": 15,
|
||||||
|
"Platoon/detachment": 20,
|
||||||
|
"Company/battery/troop": 25,
|
||||||
|
"Battalion/squadron": 30,
|
||||||
|
"Regiment/group": 35,
|
||||||
|
"Brigade": 40,
|
||||||
|
"Division": 45,
|
||||||
|
"Corps/MEF": 50,
|
||||||
|
"Army": 55,
|
||||||
|
"Army Group/front": 60,
|
||||||
|
"Region/Theater": 65,
|
||||||
|
"Command": 70
|
||||||
|
};
|
||||||
|
|
||||||
// Create the socket
|
// Create the socket
|
||||||
var connect = function() {
|
var connect = function() {
|
||||||
ws = new SockJS(location.pathname + 'socket');
|
ws = new SockJS(location.pathname + 'socket');
|
||||||
@ -673,22 +690,9 @@ map.on('draw:created', function (e) {
|
|||||||
// opacity: 0.9
|
// opacity: 0.9
|
||||||
// });
|
// });
|
||||||
//
|
//
|
||||||
// overlays["rain"] = L.tileLayer('http://{s}.tile.openweathermap.org/map/rain/{z}/{x}/{y}.png', {
|
|
||||||
// maxZoom: 18,
|
|
||||||
// attribution: 'Map data © <a href="http://openweathermap.org">OpenWeatherMap</a>',
|
|
||||||
// opacity: 0.5
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// overlays["pressure"] = L.tileLayer('http://{s}.tile.openweathermap.org/map/pressure_cntr/{z}/{x}/{y}.png', {
|
|
||||||
// maxZoom: 18,
|
|
||||||
// attribution: 'Map data © <a href="http://openweathermap.org">OpenWeatherMap</a>',
|
|
||||||
// opacity: 0.5
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// overlays["weather"] = L.OWM.current({interval:30, minZoom:8, appId:"9ae11d4f6f9bed61f32fc061f715cc71"});
|
|
||||||
|
|
||||||
overlays["buildings"] = new OSMBuildings(map).load();
|
overlays["buildings"] = new OSMBuildings(map).load();
|
||||||
map.removeLayer(overlays["buildings"]);
|
map.removeLayer(overlays["buildings"]); // Hide it at start
|
||||||
|
|
||||||
// Add the shipping navigation markers
|
// Add the shipping navigation markers
|
||||||
//var OpenSeaMap = L.tileLayer('http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', {
|
//var OpenSeaMap = L.tileLayer('http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', {
|
||||||
@ -978,6 +982,19 @@ function setMarker(data) {
|
|||||||
else if (data.icon === "earthquake") {
|
else if (data.icon === "earthquake") {
|
||||||
marker = L.marker(ll, { icon: L.divIcon({ className: 'circle e', iconSize: [data.mag*5, data.mag*5] }), title: data.name });
|
marker = L.marker(ll, { icon: L.divIcon({ className: 'circle e', iconSize: [data.mag*5, data.mag*5] }), title: data.name });
|
||||||
}
|
}
|
||||||
|
else if (data.hasOwnProperty("SIDC")) {
|
||||||
|
// "SIDC":"SFGPU------E***","name":"1.C2 komp","fullname":"1.C2 komp/FTS/INSS"
|
||||||
|
myMarker = new ms.Symbol( data.SIDC, { uniqueDesignation:data.name });
|
||||||
|
// Now that we have a symbol we can ask for the echelon and set the symbol size
|
||||||
|
var opts = data.options || {};
|
||||||
|
opts.size = opts.size || iconSz[myMarker.getProperties().echelon] || 20;
|
||||||
|
myMarker = myMarker.setOptions(opts);
|
||||||
|
var myicon = L.icon({
|
||||||
|
iconUrl: myMarker.toDataURL(),
|
||||||
|
iconAnchor: [myMarker.getAnchor().x, myMarker.getAnchor().y],
|
||||||
|
});
|
||||||
|
marker = L.marker(ll, { title:data.name, icon:myicon });
|
||||||
|
}
|
||||||
else if (data.icon && (data.icon.substr(0,3) === "fa-")) {
|
else if (data.icon && (data.icon.substr(0,3) === "fa-")) {
|
||||||
var col = data.iconColor || "#910000";
|
var col = data.iconColor || "#910000";
|
||||||
myMarker = L.divIcon({
|
myMarker = L.divIcon({
|
||||||
|
32
worldmap/leaflet/milsymbol.js
Normal file
32
worldmap/leaflet/milsymbol.js
Normal file
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
|||||||
CACHE MANIFEST
|
CACHE MANIFEST
|
||||||
# date: May 28th 2018 - v1.1.13
|
# date: May 28th 2018 - v1.1.14
|
||||||
|
|
||||||
CACHE:
|
CACHE:
|
||||||
index.html
|
index.html
|
||||||
@ -39,6 +39,7 @@ leaflet/leaflet.markercluster.freezable-src.js
|
|||||||
leaflet/leaflet.measurecontrol.css
|
leaflet/leaflet.measurecontrol.css
|
||||||
leaflet/leaflet.measurecontrol.js
|
leaflet/leaflet.measurecontrol.js
|
||||||
leaflet/leaflet.select-layers.min.js
|
leaflet/leaflet.select-layers.min.js
|
||||||
|
leaflet/milsymbol.js
|
||||||
leaflet/OSMBuildings-Leaflet.js
|
leaflet/OSMBuildings-Leaflet.js
|
||||||
leaflet/sockjs.min.js
|
leaflet/sockjs.min.js
|
||||||
leaflet/tile.stamen.js
|
leaflet/tile.stamen.js
|
||||||
|
Loading…
Reference in New Issue
Block a user