UNPKG

@senx/discovery-plugin-marauder

Version:

Discovery plugin - Marauder's map

2 lines 13.2 kB
import{L as t,G as e}from"./p-1117c627.js";import{C as a}from"./p-90362062.js";var o;(function(t){t["NONE"]="NONE";t["DEFAULT"]="DEFAULT";t["HOT"]="HOT";t["TOPO"]="TOPO";t["TOPO2"]="TOPO2";t["STADIA"]="STADIA";t["STADIA_DARK"]="STADIA_DARK";t["TONER"]="TONER";t["TONER_LITE"]="TONER_LITE";t["TERRAIN"]="TERRAIN";t["ESRI"]="ESRI";t["SATELLITE"]="SATELLITE";t["OCEANS"]="OCEANS";t["GRAY"]="GRAY";t["GRAYSCALE"]="GRAYSCALE";t["WATERCOLOR"]="WATERCOLOR";t["CARTODB"]="CARTODB";t["CARTODB_DARK"]="CARTODB_DARK"})(o||(o={}));class r{static toLeafletMapPaths(t,o,n){var s,i,p,l,d,c,h,m,u,g,f;const y=[];const v=(t.gts||[]).length;for(let b=0;b<v;b++){const v=t.gts[b];if(e.isGts(v)){v.id=v.id||b;(s=this.LOG)===null||s===void 0?void 0:s.debug(["toLeafletMapPaths"],v,t.params?t.params[b]:"");const S=(t.params||[])[b]||{};v.tooltip=((i=S.map)===null||i===void 0?void 0:i.tooltip)||{};if(e.isGtsToPlotOnMap(v)&&!o[v.id]&&!((p=S.map)===null||p===void 0?void 0:p.heatmap)){const o={};o.id=v.id;o.tooltip=v.tooltip;r.extractCommonParameters(o,S,b,n);o.path=r.gtsToPath(v);if(!!S.render||((d=(l=t.globalParams)===null||l===void 0?void 0:l.map)===null||d===void 0?void 0:d.render)){o.render=S.render||((h=(c=t.globalParams)===null||c===void 0?void 0:c.map)===null||h===void 0?void 0:h.render)}if(!!S.marker||((u=(m=t===null||t===void 0?void 0:t.globalParams)===null||m===void 0?void 0:m.map)===null||u===void 0?void 0:u.marker)){o.marker=S.marker||((f=(g=t===null||t===void 0?void 0:t.globalParams)===null||g===void 0?void 0:g.map)===null||f===void 0?void 0:f.marker)}o.line=S.hasOwnProperty("line")?S.line:true;o.render=o.render||"dots";if(o.render==="weightedDots"){r.validateWeightedDotsPositionArray(o,S)}if(o.render==="coloredWeightedDots"){r.validateWeightedColoredDotsPositionArray(o,S)}if(t.params&&t.params[b]&&t.params[b].key){o.key=t.params[b].key}else{o.key=e.serializeGtsMetadata(v)}o.color=a.getColor(v.id,n);if(t.params&&t.params[b]){o.color=t.params[b].datasetColor||t.params[b].color||o.color}y.push(o)}else{y.push(null)}}}return y}static gtsToPath(t){const e=[];const a=(t.v||[]).length;for(let o=0;o<a;o++){const a=t.v[o];const r=a.length;if(r>=4){e.push({ts:Math.floor(a[0]),lat:a[1],lon:a[2],val:a[r-1]})}}return e}static extractCommonParameters(t,e,o,n){e=e||{};t.key=e.key||"";t.color=e.color||a.getColor(o,n);t.borderColor=e.borderColor;t.properties=e.properties||{};if(e.baseRadius===undefined||isNaN(parseInt(e.baseRadius,10))||parseInt(e.baseRadius,10)<0){t.baseRadius=r.BASE_RADIUS}else{t.baseRadius=e.baseRadius}}static validateWeightedDotsPositionArray(t,a){if(a.minValue===undefined||a.maxValue===undefined){r.LOG.error(["validateWeightedDotsPositionArray"],"When using 'weightedDots' or "+"'weightedColoredDots' rendering, 'maxValue' and 'minValue' parameters are compulsory");t.render=undefined;return}t.maxValue=a.maxValue;t.minValue=a.minValue;if(typeof t.minValue!=="number"||typeof t.maxValue!=="number"||t.minValue>=t.maxValue){r.LOG.error(["validateWeightedDotsPositionArray"],"When using 'weightedDots' or "+"'weightedColoredDots' rendering, 'maxValue' and 'minValue' must be numbers and 'maxValue' "+"must be greater than 'minValue'");t.render=undefined;return}if(!e.isPositionsArrayWithValues(t)&&!e.isPositionsArrayWithTwoValues(t)){r.LOG.error(["validateWeightedDotsPositionArray"],"When using 'weightedDots' or "+"'weightedColoredDots' rendering, positions must have an associated value");t.render=undefined;return}if(a.numSteps===undefined||isNaN(parseInt(a.numSteps,10))||parseInt(a.numSteps,10)<0){t.numSteps=5}else{t.numSteps=a.numSteps}const o=(t.maxValue-t.minValue)/t.numSteps;const n=[];for(let e=0;e<t.numSteps-1;e++){n[e]=t.minValue+(e+1)*o}n[t.numSteps-1]=t.maxValue;const s=(t||[]).length;for(let e=0;e<s;e++){const a=t[e];const o=a[2];a[4]=t.numSteps-1;for(const t in n){if(o<=n[t]){a[4]=t;break}}}return true}static toLeafletMapPositionArray(t,o,n){var s,i,p,l,d,c,h;const m=[];const u=(t.gts||[]).length;for(let g=0;g<u;g++){const u=t.gts[g];u.id=u.id||g;const f=(t.params||[])[g]||{};u.tooltip=((s=f.map)===null||s===void 0?void 0:s.tooltip)||{};if(e.isPositionArray(u)&&!o[u.id]&&!((i=f.map)===null||i===void 0?void 0:i.heatmap)){(p=this.LOG)===null||p===void 0?void 0:p.debug(["toLeafletMapPositionArray"],u,t.params?t.params[g]:"");const e=u;const o=t.params?t.params[g]||{}:{};r.extractCommonParameters(e,o,g,n);e.render=o.render||((l=f===null||f===void 0?void 0:f.map)===null||l===void 0?void 0:l.render)||"dots";e.maxValue=o.maxValue||0;e.minValue=o.minValue||0;e.line=o.hasOwnProperty("line")?o.line:false;if(e.render==="weightedDots"){r.validateWeightedDotsPositionArray(e,o)}if(e.render==="coloredWeightedDots"){r.validateWeightedColoredDotsPositionArray(e,o)}if(e.render==="marker"){e.marker=o.marker||((c=(d=t===null||t===void 0?void 0:t.globalParams)===null||d===void 0?void 0:d.map)===null||c===void 0?void 0:c.marker)}if(t.params&&t.params[g]&&t.params[g].color){e.color=t.params[g].color}else{e.color=a.getColor(g,n)}(h=this.LOG)===null||h===void 0?void 0:h.debug(["toLeafletMapPositionArray","posArray"],e);m.push(e)}else{m.push(null)}}return m}static validateWeightedColoredDotsPositionArray(t,e){if(!r.validateWeightedDotsPositionArray(t,e)){return}if(e.minColorValue===undefined||e.maxColorValue===undefined||e.startColor===undefined||e.endColor===undefined){r.LOG.error(["validateWeightedColoredDotsPositionArray"],"When using "+"'coloredWeightedDots' rendering, 'maxColorValue', 'minColorValue', 'startColor' "+"and 'endColor' parameters are compulsory",e);t.render=undefined;return}t.maxColorValue=e.maxColorValue;t.minColorValue=e.minColorValue;if(typeof t.minColorValue!=="number"||typeof t.maxColorValue!=="number"||t.minColorValue>=t.maxColorValue){r.LOG.error(["validateWeightedColoredDotsPositionArray"],["When using "+"coloredWeightedDots' rendering, 'maxColorValue' and 'minColorValue' must be numbers "+"and 'maxColorValue' must be greater than 'minColorValue'",{maxColorValue:t.maxColorValue,minColorValue:t.minColorValue}]);t.render=undefined;return}const o=/^#(?:[0-9a-f]{3}){1,2}$/i;if(typeof e.startColor!=="string"||typeof e.endColor!=="string"||!o.test(e.startColor)||!o.test(e.endColor)){r.LOG.error(["validateWeightedColoredDotsPositionArray"],["When using "+"coloredWeightedDots' rendering, 'startColor' and 'endColor' parameters must be RGB "+"colors in #rrggbb format",{startColor:e.startColor,endColor:e.endColor,tests:[typeof e.startColor,typeof e.endColor,o.test(e.startColor),o.test(e.endColor),o.test(e.startColor)]}]);t.render=undefined;return}t.startColor={r:parseInt(e.startColor.substring(1,3),16),g:parseInt(e.startColor.substring(3,5),16),b:parseInt(e.startColor.substring(5,7),16)};t.endColor={r:parseInt(e.endColor.substring(1,3),16),g:parseInt(e.endColor.substring(3,5),16),b:parseInt(e.endColor.substring(5,7),16)};if(!e.numColorSteps){t.numColorSteps=5}else{t.numColorSteps=e.numColorSteps}t.colorGradient=a.hsvGradientFromRgbColors(t.startColor,t.endColor,t.numColorSteps);const n=(t.maxColorValue-t.minColorValue)/t.numColorSteps;const s=[];for(let e=0;e<t.numColorSteps;e++){s[e]=t.minColorValue+(e+1)*n}t.steps=s;t.positions.forEach((e=>{const a=e[3];e[5]=t.numColorSteps-1;for(let t=0;t<s.length-1;t++){if(a<s[t]){e[5]=t;break}}}))}static pathDataToLeaflet(t){const e=[];const a=t.length;for(let o=0;o<a;o++){e.push([t[o].lat,t[o].lon])}return e}static toGeoJSON(t){const e=["Point","LineString","Polygon","MultiPolygon"];const a=[];t.gts.forEach((t=>{if(t&&t.type&&t.type==="Feature"&&t.geometry&&t.geometry.type&&e.indexOf(t.geometry.type)>-1){a.push(t)}else if(t&&t.type&&e.indexOf(t.type)>-1){a.push({type:"Feature",geometry:t})}else{a.push(null)}}));return a}static updatePositionArrayToLeaflet(t){const e=[];const a=(t||[]).length;for(let o=0;o<a;o++){const a=t[o];e.push([a[0],a[1]])}return e}}r.BASE_RADIUS=2;r.LOG=new t(r,true);r.mapTypes={NONE:undefined,DEFAULT:{link:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'},HOT:{link:"https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png",attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Tiles\n style by <a href="https://www.hotosm.org/" target="_blank">Humanitarian OpenStreetMap Team</a> hosted by\n <a href="https://openstreetmap.fr/" target="_blank">OpenStreetMap France</a>`},TOPO:{link:"https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png",attribution:`Map data: &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors,\n <a href="https://viewfinderpanoramas.org">SRTM</a> | Map style: &copy; <a href="https://opentopomap.org">OpenTopoMap</a>\n (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)`},TOPO2:{link:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}",attribution:`Tiles &copy; Esri &mdash; Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN,\n GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community`},STADIA:{link:"https://tiles.stadiamaps.com/tiles/alidade_smooth/{z}/{x}/{y}{r}.png",attribution:'&copy; <a href="https://stadiamaps.com/">Stadia Maps</a>, &copy; <a href="https://openmaptiles.org/">OpenMapTiles</a> &copy; <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'},STADIA_DARK:{link:"https://tiles.stadiamaps.com/tiles/alidade_smooth_dark/{z}/{x}/{y}{r}.png",attribution:'&copy; <a href="https://stadiamaps.com/">Stadia Maps</a>, &copy; <a href="https://openmaptiles.org/">OpenMapTiles</a> &copy; <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'},TONER:{link:"https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}{r}.png",attribution:`&copy; <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a>\n &copy; <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> \n &copy; <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> \n &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors`,subdomains:"abcd"},TONER_LITE:{link:"https://tiles.stadiamaps.com/tiles/stamen_toner_lite/{z}/{x}/{y}{r}.png",attribution:`&copy; <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> \n&copy; <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> \n&copy; <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> \n&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors`},TERRAIN:{link:"https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}{r}.png",attribution:`&copy; <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> \n &copy; <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> \n &copy; <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> \n &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors`},ESRI:{link:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}",attribution:`Tiles &copy; Esri &mdash; Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan,\n METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012`},SATELLITE:{link:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",attribution:`Tiles &copy; Esri &mdash; Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN,\n IGP, UPR-EGP, and the GIS User Community`},OCEANS:{link:"https://server.arcgisonline.com/ArcGIS/rest/services/Ocean/World_Ocean_Base/MapServer/tile/{z}/{y}/{x}",attribution:"Tiles &copy; Esri &mdash; Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri"},GRAY:{link:"https://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}",attibs:""},GRAYSCALE:{link:"https://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}",attribution:"Tiles &copy; Esri &mdash; Esri, DeLorme, NAVTEQ"},WATERCOLOR:{link:"https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg",attribution:`&copy; <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> \n&copy; <a href="https://www.stamen.com/" target="_blank">Stamen Design</a> \n&copy; <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> \n&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors`},CARTODB:{link:"https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png",attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy;\n <a href="https://carto.com/attributions">CartoDB</a>`,subdomains:"abcd"},CARTODB_DARK:{link:"https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png",attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy;\n <a href="https://carto.com/attributions">CartoDB</a>`,subdomains:"abcd"}};export{r as M,o as a}; //# sourceMappingURL=p-d8e9fc5a.js.map