Skip to content
Snippets Groups Projects
RealEarthAnimateVector.js.map 6.52 KiB
Newer Older
Glenn Vorhes's avatar
Glenn Vorhes committed
{"version":3,"file":"RealEarthAnimateVector.js","sourceRoot":"","sources":["../../src/mixin/RealEarthAnimateVector.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by gavorhes on 12/4/2015.\r\n */\r\nimport RealEarthAnimate from './RealEarthAnimate';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerVectorRealEarth} from \"../layers/LayerRealEarthVector\";\r\nimport $ = require('jquery');\r\nconst nm = provide('mixin');\r\n\r\n\r\n/**\r\n * class mixin to animate RealEarth vector layers\r\n * @augments RealEarthAnimate\r\n */\r\nclass RealEarthAnimateVector extends RealEarthAnimate {\r\n    _dataCache: Array<Array<Object>|Object>;\r\n    _source: ol.source.Vector;\r\n    _rawTimesLookup: {[s: string]: any};\r\n    _currentIndex: number;\r\n    _olLayer: ol.layer.Vector;\r\n    _lyr: LayerVectorRealEarth;\r\n\r\n    constructor(layer: LayerVectorRealEarth, loadCallback?: (lyr: LayerVectorRealEarth) => void){\r\n        super(layer, loadCallback);\r\n        this._source = layer.source;\r\n        this._olLayer = layer.olLayer;\r\n        this._lyr = layer;\r\n    }\r\n\r\n\r\n    /**\r\n     * Call this after the mixin has been applied\r\n     */\r\n    timeInit() {\r\n        super.timeInit();\r\n        this._rawTimesLookup = {};\r\n        this._dataCache = [];\r\n    }\r\n\r\n    /**\r\n     * Given the raw time string, add to the arrays to keep track of dates and cache\r\n     * @param {string} inString - input date string\r\n     * @protected\r\n     */\r\n    _loadDates(inString: string): string {\r\n        let rawDte = super._loadDates(inString);\r\n        this._dataCache.push(null);\r\n        this._rawTimesLookup[rawDte] = null;\r\n        return '';\r\n    }\r\n\r\n    /**\r\n     * @protected\r\n     */\r\n    _loadLatest(): boolean {\r\n        if (super._loadLatest()) {\r\n            this._loadAtTimeIndex.call(this, this._currentIndex);\r\n        }\r\n        return true;\r\n    }\r\n\r\n    //\r\n    //http://realearth.ssec.wisc.edu/api/image?products=nexrhres_20160108_212500&x=1&y=5&z=4\r\n    //\r\n    //    20160108.205500\r\n    //    http://realearth.ssec.wisc.edu/api/image?products=nexrhres_20160108_205500&x=34&y=46&z=7\r\n\r\n    /**\r\n     * Load the features at the date index specified\r\n     * @param {number} i the index of the features to be loaded by date\r\n     * @param {boolean} [setAsSource=true] set to false to trigger cache load only\r\n     * @private\r\n     */\r\n    _loadAtTimeIndex(i: number, setAsSource = true) {\r\n        setAsSource = typeof setAsSource == 'boolean' ? setAsSource : true;\r\n        if (this._dataCache[i] != null) {\r\n            this._source.clear();\r\n            this._loadFeatures(this._dataCache[i]);\r\n        } else {\r\n            let __this = this;\r\n            $.get('http://realearth.ssec.wisc.edu:80/api/shapes',\r\n                {products: `${this._products}_${this._rawDateStrings[i]}`},\r\n                function (d) {\r\n                    __this._dataCache[i] = d;\r\n                    __this._rawTimesLookup[__this._rawDateStrings[i]] = d;\r\n                    if (setAsSource) {\r\n                        __this._source.clear();\r\n                        __this._loadFeatures.call(__this, __this._dataCache[i]);\r\n                    }\r\n                }, 'json'\r\n            );\r\n        }\r\n    }\r\n\r\n    /**\r\n     * helper to load the features at the index specified\r\n     * @param {object} geojObj - the geojson object\r\n     * @private\r\n     */\r\n    _loadFeatures(geojObj: Object) {\r\n        this._source.addFeatures(this._lyr._geoJsonFormat.readFeatures(geojObj,\r\n            {featureProjection: this._lyr._transform.featureProjection, dataProjection: this._lyr._transform.dataProjection}));\r\n    }\r\n\r\n    setLayerTime(theTime: number): boolean {\r\n        if (super.setLayerTime(theTime)) {\r\n            this._loadAtTimeIndex(this._currentIndex);\r\n        } else {\r\n            this._source.clear();\r\n        }\r\n        return true;\r\n    }\r\n}\r\n\r\nnm.RealEarthAnimateVector = RealEarthAnimateVector;\r\nexport default RealEarthAnimateVector;\r\n"]}