src/pyams_gis/resources/js/leaflet-esri-renderers-2.1.2.min.js
changeset 75 a430cc4ae715
equal deleted inserted replaced
74:31687784fa16 75:a430cc4ae715
       
     1 !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("leaflet"),require("esri-leaflet"),require("esri-leaflet-cluster")):"function"==typeof define&&define.amd?define(["exports","leaflet","esri-leaflet","esri-leaflet-cluster"],i):i(((t=t||self).L=t.L||{},t.L.esri=t.L.esri||{},t.L.esri.Renderers={}),t.L,t.L.esri,t.L.esri.Cluster)}(this,(function(t,i,e,s){"use strict";var o="default"in i?i.default:i,n=i.Class.extend({initialize:function(t,i){this._symbolJson=t,this.val=null,this._styles={},this._isDefault=!1,this._layerTransparency=1,i&&i.layerTransparency&&(this._layerTransparency=1-i.layerTransparency/100)},pixelValue:function(t){return 1.333*t},colorValue:function(t){return"rgb("+t[0]+","+t[1]+","+t[2]+")"},alphaValue:function(t){return t[3]/255*this._layerTransparency},getSize:function(t,i){var e=t.properties,s=i.field,o=0,n=null;if(s){n=e[s];var r=i.minSize,l=i.maxSize,a=i.minDataValue,h=i.maxDataValue,y=i.normalizationField,u=e?parseFloat(e[y]):void 0;if(null===n||y&&(isNaN(u)||0===u))return null;isNaN(u)||(n/=u),null!==r&&null!==l&&null!==a&&null!==h&&(o=n<=a?r:h<=n?l:r+(n-a)/(h-a)*(l-r)),o=isNaN(o)?0:o}return o},getColor:function(t,i){if(!(t.properties&&i&&i.field&&i.stops))return null;var e,s,o,n,r=t.properties,l=r[i.field],a=i.normalizationField,h=r?parseFloat(r[a]):void 0;if(null===l||a&&(isNaN(h)||0===h))return null;if(isNaN(h)||(l/=h),l<=i.stops[0].value)return i.stops[0].color;var y=i.stops[i.stops.length-1];if(l>=y.value)return y.color;for(var u=0;u<i.stops.length;u++){var _=i.stops[u];if(_.value<=l)e=_.color,o=_.value;else if(_.value>l){s=_.color,n=_.value;break}}if(!isNaN(o)&&!isNaN(n)){var c=n-o;if(0<c){var p=(l-o)/c;if(p){var f=(n-l)/c;if(f){for(var d=[],S=0;S<4;S++)d[S]=Math.round(e[S]*f+s[S]*p);return d}return s}return e}}return null}}),r=o.Path.extend({initialize:function(t,i,e){o.setOptions(this,e),this._size=i,this._latlng=o.latLng(t),this._svgCanvasIncludes()},toGeoJSON:function(){return o.GeoJSON.getFeature(this,{type:"Point",coordinates:o.GeoJSON.latLngToCoords(this.getLatLng())})},_svgCanvasIncludes:function(){},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng)},_update:function(){this._map&&this._updatePath()},_updatePath:function(){},setLatLng:function(t){return this._latlng=o.latLng(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setSize:function(t){return this._size=t,this.redraw()},getSize:function(){return this._size}}),l=r.extend({initialize:function(t,i,e){r.prototype.initialize.call(this,t,i,e)},_updatePath:function(){this._renderer._updateCrossMarker(this)},_svgCanvasIncludes:function(){o.Canvas.include({_updateCrossMarker:function(t){var i=t._point,e=t._size/2,s=this._ctx;s.beginPath(),s.moveTo(i.x,i.y+e),s.lineTo(i.x,i.y-e),this._fillStroke(s,t),s.moveTo(i.x-e,i.y),s.lineTo(i.x+e,i.y),this._fillStroke(s,t)}}),o.SVG.include({_updateCrossMarker:function(t){var i=t._point,e=t._size/2;o.Browser.vml&&(i._round(),e=Math.round(e));var s="M"+i.x+","+(i.y+e)+"L"+i.x+","+(i.y-e)+"M"+(i.x-e)+","+i.y+"L"+(i.x+e)+","+i.y;this._setPath(t,s)}})}}),a=r.extend({initialize:function(t,i,e){r.prototype.initialize.call(this,t,i,e)},_updatePath:function(){this._renderer._updateXMarker(this)},_svgCanvasIncludes:function(){o.Canvas.include({_updateXMarker:function(t){var i=t._point,e=t._size/2,s=this._ctx;s.beginPath(),s.moveTo(i.x+e,i.y+e),s.lineTo(i.x-e,i.y-e),this._fillStroke(s,t)}}),o.SVG.include({_updateXMarker:function(t){var i=t._point,e=t._size/2;o.Browser.vml&&(i._round(),e=Math.round(e));var s="M"+(i.x+e)+","+(i.y+e)+"L"+(i.x-e)+","+(i.y-e)+"M"+(i.x-e)+","+(i.y+e)+"L"+(i.x+e)+","+(i.y-e);this._setPath(t,s)}})}}),h=r.extend({options:{fill:!0},initialize:function(t,i,e){r.prototype.initialize.call(this,t,i,e)},_updatePath:function(){this._renderer._updateSquareMarker(this)},_svgCanvasIncludes:function(){o.Canvas.include({_updateSquareMarker:function(t){var i=t._point,e=t._size/2,s=this._ctx;s.beginPath(),s.moveTo(i.x+e,i.y+e),s.lineTo(i.x-e,i.y+e),s.lineTo(i.x-e,i.y-e),s.lineTo(i.x+e,i.y-e),s.closePath(),this._fillStroke(s,t)}}),o.SVG.include({_updateSquareMarker:function(t){var i=t._point,e=t._size/2;o.Browser.vml&&(i._round(),e=Math.round(e));var s="M"+(i.x+e)+","+(i.y+e)+"L"+(i.x-e)+","+(i.y+e)+"L"+(i.x-e)+","+(i.y-e)+"L"+(i.x+e)+","+(i.y-e);s+=o.Browser.svg?"z":"x",this._setPath(t,s)}})}}),y=r.extend({options:{fill:!0},initialize:function(t,i,e){r.prototype.initialize.call(this,t,i,e)},_updatePath:function(){this._renderer._updateDiamondMarker(this)},_svgCanvasIncludes:function(){o.Canvas.include({_updateDiamondMarker:function(t){var i=t._point,e=t._size/2,s=this._ctx;s.beginPath(),s.moveTo(i.x,i.y+e),s.lineTo(i.x-e,i.y),s.lineTo(i.x,i.y-e),s.lineTo(i.x+e,i.y),s.closePath(),this._fillStroke(s,t)}}),o.SVG.include({_updateDiamondMarker:function(t){var i=t._point,e=t._size/2;o.Browser.vml&&(i._round(),e=Math.round(e));var s="M"+i.x+","+(i.y+e)+"L"+(i.x-e)+","+i.y+"L"+i.x+","+(i.y-e)+"L"+(i.x+e)+","+i.y;s+=o.Browser.svg?"z":"x",this._setPath(t,s)}})}}),u=n.extend({statics:{MARKERTYPES:["esriSMSCircle","esriSMSCross","esriSMSDiamond","esriSMSSquare","esriSMSX","esriPMS"]},initialize:function(t,i){var e,s;n.prototype.initialize.call(this,t,i),i&&(this.serviceUrl=i.url),t&&("esriPMS"===t.type?((s=this._symbolJson.url)&&"http://"===s.substr(0,7)||"https://"===s.substr(0,8)?(e=this.sanitize(s),this._iconUrl=e):(e=this.serviceUrl+"images/"+s,this._iconUrl=i&&i.token?e+"?token="+i.token:e),t.imageData&&(this._iconUrl="data:"+t.contentType+";base64,"+t.imageData),this._icons={},this.icon=this._createIcon(this._symbolJson)):this._fillStyles())},sanitize:function(t){if(!t)return"";var i;try{i=(i=(i=(i=t.replace(/<br>/gi,"\n")).replace(/<p.*>/gi,"\n")).replace(/<a.*href='(.*?)'.*>(.*?)<\/a>/gi," $2 ($1) ")).replace(/<(?:.|\s)*?>/g,"")}catch(t){i=null}return i},_fillStyles:function(){this._symbolJson.outline&&0<this._symbolJson.size&&"esriSLSNull"!==this._symbolJson.outline.style?(this._styles.stroke=!0,this._styles.weight=this.pixelValue(this._symbolJson.outline.width),this._styles.color=this.colorValue(this._symbolJson.outline.color),this._styles.opacity=this.alphaValue(this._symbolJson.outline.color)):this._styles.stroke=!1,this._symbolJson.color?(this._styles.fillColor=this.colorValue(this._symbolJson.color),this._styles.fillOpacity=this.alphaValue(this._symbolJson.color)):this._styles.fillOpacity=0,"esriSMSCircle"===this._symbolJson.style&&(this._styles.radius=this.pixelValue(this._symbolJson.size)/2)},_createIcon:function(t){var e=this.pixelValue(t.width),s=e;t.height&&(s=this.pixelValue(t.height));var o=e/2,n=s/2;t.xoffset&&(o+=this.pixelValue(t.xoffset)),t.yoffset&&(n+=this.pixelValue(t.yoffset));var r=i.icon({iconUrl:this._iconUrl,iconSize:[e,s],iconAnchor:[o,n]});return this._icons[t.width.toString()]=r},_getIcon:function(t){return this._icons[t.toString()]||this._createIcon({width:t})},pointToLayer:function(t,e,s,o){var n,r,u,_,c,p,f,d,S,m,b,v,g,L,x=this._symbolJson.size||this._symbolJson.width;if(this._isDefault||(!s.sizeInfo||(n=this.getSize(t,s.sizeInfo))&&(x=n),!s.colorInfo||(r=this.getColor(t,s.colorInfo))&&(this._styles.fillColor=this.colorValue(r),this._styles.fillOpacity=this.alphaValue(r))),"esriPMS"===this._symbolJson.type){var P=i.extend({},{icon:this._getIcon(x)},o);return i.marker(e,P)}switch(x=this.pixelValue(x),this._symbolJson.style){case"esriSMSSquare":return v=e,g=x,L=i.extend({},this._styles,o),new h(v,g,L);case"esriSMSDiamond":return S=e,m=x,b=i.extend({},this._styles,o),new y(S,m,b);case"esriSMSCross":return p=e,f=x,d=i.extend({},this._styles,o),new l(p,f,d);case"esriSMSX":return u=e,_=x,c=i.extend({},this._styles,o),new a(u,_,c)}return this._styles.radius=x/2,i.circleMarker(e,i.extend({},this._styles,o))}});function _(t,i){return new u(t,i)}var c=n.extend({statics:{LINETYPES:["esriSLSDash","esriSLSDot","esriSLSDashDotDot","esriSLSDashDot","esriSLSSolid"]},initialize:function(t,i){n.prototype.initialize.call(this,t,i),this._fillStyles()},_fillStyles:function(){if(this._styles.lineCap="butt",this._styles.lineJoin="miter",this._styles.fill=!1,this._styles.weight=0,!this._symbolJson)return this._styles;if(this._symbolJson.color&&(this._styles.color=this.colorValue(this._symbolJson.color),this._styles.opacity=this.alphaValue(this._symbolJson.color)),!isNaN(this._symbolJson.width)){this._styles.weight=this.pixelValue(this._symbolJson.width);var t=[];switch(this._symbolJson.style){case"esriSLSDash":t=[4,3];break;case"esriSLSDot":t=[1,3];break;case"esriSLSDashDot":t=[8,3,1,3];break;case"esriSLSDashDotDot":t=[8,3,1,3,1,3]}if(0<t.length){for(var i=0;i<t.length;i++)t[i]*=this._styles.weight;this._styles.dashArray=t.join(",")}}},style:function(t,i){var e,s;return!this._isDefault&&i&&(!i.sizeInfo||(e=this.pixelValue(this.getSize(t,i.sizeInfo)))&&(this._styles.weight=e),!i.colorInfo||(s=this.getColor(t,i.colorInfo))&&(this._styles.color=this.colorValue(s),this._styles.opacity=this.alphaValue(s))),this._styles}});function p(t,i){return new c(t,i)}var f=n.extend({statics:{POLYGONTYPES:["esriSFSSolid"]},initialize:function(t,i){n.prototype.initialize.call(this,t,i),t&&(t.outline&&"esriSLSNull"===t.outline.style?this._lineStyles={weight:0}:this._lineStyles=p(t.outline,i).style(),this._fillStyles())},_fillStyles:function(){if(this._lineStyles)if(0===this._lineStyles.weight)this._styles.stroke=!1;else for(var t in this._lineStyles)this._styles[t]=this._lineStyles[t];this._symbolJson&&(this._symbolJson.color&&f.POLYGONTYPES.indexOf(0<=this._symbolJson.style)?(this._styles.fill=!0,this._styles.fillColor=this.colorValue(this._symbolJson.color),this._styles.fillOpacity=this.alphaValue(this._symbolJson.color)):(this._styles.fill=!1,this._styles.fillOpacity=0))},style:function(t,i){var e;return this._isDefault||!i||!i.colorInfo||(e=this.getColor(t,i.colorInfo))&&(this._styles.fillColor=this.colorValue(e),this._styles.fillOpacity=this.alphaValue(e)),this._styles}});function d(t,i){return new f(t,i)}var S=i.Class.extend({options:{proportionalPolygon:!1,clickable:!0},initialize:function(t,e){this._rendererJson=t,this._pointSymbols=!1,this._symbols=[],this._visualVariables=this._parseVisualVariables(t.visualVariables),i.Util.setOptions(this,e)},_parseVisualVariables:function(t){var i={};if(t)for(var e=0;e<t.length;e++)i[t[e].type]=t[e];return i},_createDefaultSymbol:function(){this._rendererJson.defaultSymbol&&(this._defaultSymbol=this._newSymbol(this._rendererJson.defaultSymbol),this._defaultSymbol._isDefault=!0)},_newSymbol:function(t){return"esriSMS"===t.type||"esriPMS"===t.type?(this._pointSymbols=!0,_(t,this.options)):"esriSLS"===t.type?p(t,this.options):"esriSFS"===t.type?d(t,this.options):void 0},_getSymbol:function(){},attachStylesToLayer:function(t){this._pointSymbols?t.options.pointToLayer=i.Util.bind(this.pointToLayer,this):(t.options.style=i.Util.bind(this.style,this),t._originalStyle=t.options.style)},pointToLayer:function(t,e){var s=this._getSymbol(t);return s&&s.pointToLayer?s.pointToLayer(t,e,this._visualVariables,this.options):i.circleMarker(e,{radius:0,opacity:0})},style:function(t){var i;this.options.userDefinedStyle&&(i=this.options.userDefinedStyle(t));var e=this._getSymbol(t);return e?this.mergeStyles(e.style(t,this._visualVariables),i):this.mergeStyles({opacity:0,fillOpacity:0},i)},mergeStyles:function(t,i){var e,s={};for(e in t)t.hasOwnProperty(e)&&(s[e]=t[e]);if(i)for(e in i)i.hasOwnProperty(e)&&(s[e]=i[e]);return s}}),m=S.extend({initialize:function(t,i){S.prototype.initialize.call(this,t,i),this._createSymbol()},_createSymbol:function(){this._rendererJson.symbol&&this._symbols.push(this._newSymbol(this._rendererJson.symbol))},_getSymbol:function(){return this._symbols[0]}});function b(t,i){return new m(t,i)}var v=S.extend({initialize:function(t,i){S.prototype.initialize.call(this,t,i),this._field=this._rendererJson.field,this._rendererJson.normalizationType&&"esriNormalizeByField"===this._rendererJson.normalizationType&&(this._normalizationField=this._rendererJson.normalizationField),this._createSymbols()},_createSymbols:function(){var t,i=this._rendererJson.classBreakInfos;this._symbols=[];for(var e=i.length-1;0<=e;e--)(t=this.options.proportionalPolygon&&this._rendererJson.backgroundFillSymbol?this._newSymbol(this._rendererJson.backgroundFillSymbol):this._newSymbol(i[e].symbol)).val=i[e].classMaxValue,this._symbols.push(t);this._symbols.sort((function(t,i){return t.val>i.val?1:-1})),this._createDefaultSymbol(),this._maxValue=this._symbols[this._symbols.length-1].val},_getSymbol:function(t){var i=t.properties[this._field];if(this._normalizationField){var e=t.properties[this._normalizationField];if(isNaN(e)||0===e)return this._defaultSymbol;i/=e}if(i>this._maxValue)return this._defaultSymbol;for(var s=this._symbols[0],o=this._symbols.length-1;0<=o&&!(i>this._symbols[o].val);o--)s=this._symbols[o];return s}});function g(t,i){return new v(t,i)}var L=S.extend({initialize:function(t,i){S.prototype.initialize.call(this,t,i),this._field=this._rendererJson.field1,this._createSymbols()},_createSymbols:function(){for(var t,i=this._rendererJson.uniqueValueInfos,e=i.length-1;0<=e;e--)(t=this._newSymbol(i[e].symbol)).val=i[e].value,this._symbols.push(t);this._createDefaultSymbol()},_getSymbol:function(t){var i,e,s=t.properties[this._field];this._rendererJson.fieldDelimiter&&this._rendererJson.field2&&(i=t.properties[this._rendererJson.field2])&&(s+=this._rendererJson.fieldDelimiter+i,(e=t.properties[this._rendererJson.field3])&&(s+=this._rendererJson.fieldDelimiter+e));for(var o=this._defaultSymbol,n=this._symbols.length-1;0<=n;n--)this._symbols[n].val==s&&(o=this._symbols[n]);return o}});function x(t,i){return new L(t,i)}function P(){var t,e,s;this.options.ignoreRenderer||(t=i.Util.bind(this.onAdd,this),e=i.Util.bind(this.unbindPopup,this),s=i.Util.bind(this.onRemove,this),i.Util.bind(this.createNewLayer,this),this.onAdd=function(i){this.metadata((function(e,s){e?console.warn("failed to load metadata from the service."):s&&s.drawingInfo&&(this.options.drawingInfo&&(s.drawingInfo=this.options.drawingInfo),"overlayPane"===this.options.pane&&"esriGeometryPoint"===s.geometryType&&(this.options.pane="markerPane"),this._setRenderers(s),t(i),this._addPointLayer(i))}),this)},this.onRemove=function(t){if(s(t),this._pointLayer){var i=this._pointLayer.getLayers();for(var e in i)t.removeLayer(i[e])}},this.unbindPopup=function(){if(e(),this._pointLayer){var t=this._pointLayer.getLayers();for(var i in t)t[i].unbindPopup()}},this._addPointLayer=function(t){this._pointLayer&&(this._pointLayer.addTo(t),this._pointLayer.bringToFront())},this._createPointLayer=function(){this._pointLayer||(this._pointLayer=i.geoJson(),this._pointLayerIds={},this._popup&&(this._pointLayer.options.onEachFeature=i.Util.bind((function(t,i){i.bindPopup(this._popup(t,i),this._popupOptions)}),this)))},this.createNewLayer=function(t){var e,s,o,n=i.GeoJSON.geometryToLayer(t,this.options);return this._hasProportionalSymbols&&(e=this.getPolygonCentroid(t.geometry.coordinates),isNaN(e[0])||isNaN(e[0])||(this._createPointLayer(),s=t.id.toString(),this._pointLayerIds[s]||(o=this.getPointJson(t,e),this._pointLayer.addData(o),this._pointLayerIds[s]=!0),this._pointLayer.bringToFront())),n},this.getPolygonCentroid=function(t){var i=t[0][0];2===i.length&&(i=t[0]);for(var e,s,o,n=0,r=0,l=0,a=i.length,h=0,y=a-1;h<a;y=h++)e=i[h],s=i[y],n+=e[0]*s[1],n-=e[1]*s[0],o=e[0]*s[1]-s[0]*e[1],r+=(e[0]+s[0])*o,l+=(e[1]+s[1])*o;return[r/(o=3*n),l/o]},this.getPointJson=function(t,i){return{type:"Feature",properties:t.properties,id:t.id,geometry:{type:"Point",coordinates:[i[0],i[1]]}}},this._checkForProportionalSymbols=function(t,i){var e;this._hasProportionalSymbols=!1,"esriGeometryPolygon"===t&&(i.backgroundFillSymbol&&(this._hasProportionalSymbols=!0),i.classBreakInfos&&i.classBreakInfos.length&&(!(e=i.classBreakInfos[0].symbol)||"esriSMS"!==e.type&&"esriPMS"!==e.type||(this._hasProportionalSymbols=!0)))},this._setRenderers=function(t){var i,e=t.drawingInfo.renderer,s={url:this.options.url};switch(this.options.token&&(s.token=this.options.token),this.options.pane&&(s.pane=this.options.pane),t.drawingInfo.transparency&&(s.layerTransparency=t.drawingInfo.transparency),this.options.style&&(s.userDefinedStyle=this.options.style),e.type){case"classBreaks":this._checkForProportionalSymbols(t.geometryType,e),this._hasProportionalSymbols&&(this._createPointLayer(),g(e,s).attachStylesToLayer(this._pointLayer),s.proportionalPolygon=!0),i=g(e,s);break;case"uniqueValue":i=x(e,s);break;default:i=b(e,s)}i.attachStylesToLayer(this)})}e.FeatureLayer.addInitHook(P),void 0!==s&&s.FeatureLayer.addInitHook(P),t.ClassBreaksRenderer=v,t.LineSymbol=c,t.PointSymbol=u,t.PolygonSymbol=f,t.Renderer=S,t.SimpleRenderer=m,t.Symbol=n,t.UniqueValueRenderer=L,t.VERSION="2.1.2",t.classBreaksRenderer=g,t.lineSymbol=p,t.pointSymbol=_,t.polygonSymbol=d,t.simpleRenderer=b,t.uniqueValueRenderer=x,Object.defineProperty(t,"__esModule",{value:!0})}));