Newer
Older
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
* Created by gavorhes on 12/4/2015.
*/
var RealEarthAnimate_1 = require("./RealEarthAnimate");
var provide_1 = require("../util/provide");
var $ = require("jquery");
/**
* class mixin to animate RealEarth vector layers
* @augments RealEarthAnimate
*/
var RealEarthAnimateVector = (function (_super) {
__extends(RealEarthAnimateVector, _super);
var _this = _super.call(this, layer, loadCallback) || this;
_this._source = layer.source;
_this._olLayer = layer.olLayer;
_this._lyr = layer;
return _this;
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
}
/**
* Call this after the mixin has been applied
*/
RealEarthAnimateVector.prototype.timeInit = function () {
_super.prototype.timeInit.call(this);
this._rawTimesLookup = {};
this._dataCache = [];
};
/**
* Given the raw time string, add to the arrays to keep track of dates and cache
* @param {string} inString - input date string
* @protected
*/
RealEarthAnimateVector.prototype._loadDates = function (inString) {
var rawDte = _super.prototype._loadDates.call(this, inString);
this._dataCache.push(null);
this._rawTimesLookup[rawDte] = null;
return '';
};
/**
* @protected
*/
RealEarthAnimateVector.prototype._loadLatest = function () {
if (_super.prototype._loadLatest.call(this)) {
this._loadAtTimeIndex.call(this, this._currentIndex);
}
return true;
};
//
//http://realearth.ssec.wisc.edu/api/image?products=nexrhres_20160108_212500&x=1&y=5&z=4
//
// 20160108.205500
// http://realearth.ssec.wisc.edu/api/image?products=nexrhres_20160108_205500&x=34&y=46&z=7
/**
* Load the features at the date index specified
* @param {number} i the index of the features to be loaded by date
* @param {boolean} [setAsSource=true] set to false to trigger cache load only
* @private
*/
RealEarthAnimateVector.prototype._loadAtTimeIndex = function (i, setAsSource) {
if (setAsSource === void 0) { setAsSource = true; }
setAsSource = typeof setAsSource == 'boolean' ? setAsSource : true;
if (this._dataCache[i] != null) {
this._source.clear();
this._loadFeatures(this._dataCache[i]);
}
else {
$.get('http://realearth.ssec.wisc.edu:80/api/shapes', { products: this._products + "_" + this._rawDateStrings[i] }, function (d) {
__this_1._dataCache[i] = d;
__this_1._rawTimesLookup[__this_1._rawDateStrings[i]] = d;
__this_1._source.clear();
__this_1._loadFeatures.call(__this_1, __this_1._dataCache[i]);
}
}, 'json');
}
};
/**
* helper to load the features at the index specified
* @param {object} geojObj - the geojson object
* @private
*/
RealEarthAnimateVector.prototype._loadFeatures = function (geojObj) {
this._source.addFeatures(this._lyr._geoJsonFormat.readFeatures(geojObj, this._lyr._transform));
};
RealEarthAnimateVector.prototype.setLayerTime = function (theTime) {
if (_super.prototype.setLayerTime.call(this, theTime)) {
this._loadAtTimeIndex(this._currentIndex);
}
else {
this._source.clear();
}
return true;
};
return RealEarthAnimateVector;
}(RealEarthAnimate_1.default));
nm.RealEarthAnimateVector = RealEarthAnimateVector;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = RealEarthAnimateVector;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVhbEVhcnRoQW5pbWF0ZVZlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbi9SZWFsRWFydGhBbmltYXRlVmVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztHQUVHO0FBQ0gsdURBQWtEO0FBQ2xELDJDQUFzQztBQUd0QywwQkFBNkI7QUFDN0IsSUFBTSxFQUFFLEdBQUcsaUJBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUc1Qjs7O0dBR0c7QUFDSDtJQUFxQywwQ0FBZ0I7SUFRakQsZ0NBQVksS0FBMkIsRUFBRSxZQUFrRDtRQUEzRixZQUNJLGtCQUFNLEtBQUssRUFBRSxZQUFZLENBQUMsU0FJN0I7UUFIRyxLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDNUIsS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzlCLEtBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDOztJQUN0QixDQUFDO0lBR0Q7O09BRUc7SUFDSCx5Q0FBUSxHQUFSO1FBQ0ksaUJBQU0sUUFBUSxXQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCwyQ0FBVSxHQUFWLFVBQVcsUUFBZ0I7UUFDdkIsSUFBSSxNQUFNLEdBQUcsaUJBQU0sVUFBVSxZQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw0Q0FBVyxHQUFYO1FBQ0ksRUFBRSxDQUFDLENBQUMsaUJBQU0sV0FBVyxXQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsRUFBRTtJQUNGLHdGQUF3RjtJQUN4RixFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLDhGQUE4RjtJQUU5Rjs7Ozs7T0FLRztJQUNILGlEQUFnQixHQUFoQixVQUFpQixDQUFTLEVBQUUsV0FBa0I7UUFBbEIsNEJBQUEsRUFBQSxrQkFBa0I7UUFDMUMsV0FBVyxHQUFHLE9BQU8sV0FBVyxJQUFJLFNBQVMsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25FLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLElBQUksUUFBTSxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDLENBQUMsR0FBRyxDQUFDLDhDQUE4QyxFQUNoRCxFQUFDLFFBQVEsRUFBSyxJQUFJLENBQUMsU0FBUyxTQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFHLEVBQUMsRUFDMUQsVUFBVSxDQUFDO2dCQUNQLFFBQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QixRQUFNLENBQUMsZUFBZSxDQUFDLFFBQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RELEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7b0JBQ2QsUUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDdkIsUUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBTSxFQUFFLFFBQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsQ0FBQztZQUNMLENBQUMsRUFBRSxNQUFNLENBQ1osQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDhDQUFhLEdBQWIsVUFBYyxPQUFPO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFRCw2Q0FBWSxHQUFaLFVBQWEsT0FBZTtRQUN4QixFQUFFLENBQUMsQ0FBQyxpQkFBTSxZQUFZLFlBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0wsNkJBQUM7QUFBRCxDQUFDLEFBakdELENBQXFDLDBCQUFnQixHQWlHcEQ7QUFFRCxFQUFFLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7O0FBQ25ELGtCQUFlLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENyZWF0ZWQgYnkgZ2F2b3JoZXMgb24gMTIvNC8yMDE1LlxyXG4gKi9cclxuaW1wb3J0IFJlYWxFYXJ0aEFuaW1hdGUgZnJvbSAnLi9SZWFsRWFydGhBbmltYXRlJztcclxuaW1wb3J0IHByb3ZpZGUgZnJvbSAnLi4vdXRpbC9wcm92aWRlJztcclxuaW1wb3J0IG9sID0gcmVxdWlyZSgnY3VzdG9tLW9sJyk7XHJcbmltcG9ydCB7TGF5ZXJWZWN0b3JSZWFsRWFydGh9IGZyb20gXCIuLi9sYXllcnMvTGF5ZXJSZWFsRWFydGhWZWN0b3JcIjtcclxuaW1wb3J0ICQgPSByZXF1aXJlKCdqcXVlcnknKTtcclxuY29uc3Qgbm0gPSBwcm92aWRlKCdtaXhpbicpO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBjbGFzcyBtaXhpbiB0byBhbmltYXRlIFJlYWxFYXJ0aCB2ZWN0b3IgbGF5ZXJzXHJcbiAqIEBhdWdtZW50cyBSZWFsRWFydGhBbmltYXRlXHJcbiAqL1xyXG5jbGFzcyBSZWFsRWFydGhBbmltYXRlVmVjdG9yIGV4dGVuZHMgUmVhbEVhcnRoQW5pbWF0ZSB7XHJcbiAgICBfZGF0YUNhY2hlOiBBcnJheTxBcnJheTxPYmplY3Q+fE9iamVjdD47XHJcbiAgICBfc291cmNlOiBvbC5zb3VyY2UuVmVjdG9yO1xyXG4gICAgX3Jhd1RpbWVzTG9va3VwOiB7W3M6IHN0cmluZ106IGFueX07XHJcbiAgICBfY3VycmVudEluZGV4OiBudW1iZXI7XHJcbiAgICBfb2xMYXllcjogb2wubGF5ZXIuVmVjdG9yO1xyXG4gICAgX2x5cjogTGF5ZXJWZWN0b3JSZWFsRWFydGg7XHJcblxyXG4gICAgY29uc3RydWN0b3IobGF5ZXI6IExheWVyVmVjdG9yUmVhbEVhcnRoLCBsb2FkQ2FsbGJhY2s/OiAobHlyOiBMYXllclZlY3RvclJlYWxFYXJ0aCkgPT4gdm9pZCl7XHJcbiAgICAgICAgc3VwZXIobGF5ZXIsIGxvYWRDYWxsYmFjayk7XHJcbiAgICAgICAgdGhpcy5fc291cmNlID0gbGF5ZXIuc291cmNlO1xyXG4gICAgICAgIHRoaXMuX29sTGF5ZXIgPSBsYXllci5vbExheWVyO1xyXG4gICAgICAgIHRoaXMuX2x5ciA9IGxheWVyO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGwgdGhpcyBhZnRlciB0aGUgbWl4aW4gaGFzIGJlZW4gYXBwbGllZFxyXG4gICAgICovXHJcbiAgICB0aW1lSW5pdCgpIHtcclxuICAgICAgICBzdXBlci50aW1lSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3Jhd1RpbWVzTG9va3VwID0ge307XHJcbiAgICAgICAgdGhpcy5fZGF0YUNhY2hlID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHaXZlbiB0aGUgcmF3IHRpbWUgc3RyaW5nLCBhZGQgdG8gdGhlIGFycmF5cyB0byBrZWVwIHRyYWNrIG9mIGRhdGVzIGFuZCBjYWNoZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGluU3RyaW5nIC0gaW5wdXQgZGF0ZSBzdHJpbmdcclxuICAgICAqIEBwcm90ZWN0ZWRcclxuICAgICAqL1xyXG4gICAgX2xvYWREYXRlcyhpblN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcmF3RHRlID0gc3VwZXIuX2xvYWREYXRlcyhpblN0cmluZyk7XHJcbiAgICAgICAgdGhpcy5fZGF0YUNhY2hlLnB1c2gobnVsbCk7XHJcbiAgICAgICAgdGhpcy5fcmF3VGltZXNMb29rdXBbcmF3RHRlXSA9IG51bGw7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByb3RlY3RlZFxyXG4gICAgICovXHJcbiAgICBfbG9hZExhdGVzdCgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoc3VwZXIuX2xvYWRMYXRlc3QoKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkQXRUaW1lSW5kZXguY2FsbCh0aGlzLCB0aGlzLl9jdXJyZW50SW5kZXgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvL1xyXG4gICAgLy9odHRwOi8vcmVhbGVhcnRoLnNzZWMud2lzYy5lZHUvYXBpL2ltYWdlP3Byb2R1Y3RzPW5leHJocmVzXzIwMTYwMTA4XzIxMjUwMCZ4PTEmeT01Jno9NFxyXG4gICAgLy9cclxuICAgIC8vICAgIDIwMTYwMTA4LjIwNTUwMFxyXG4gICAgLy8gICAgaHR0cDovL3JlYWxlYXJ0aC5zc2VjLndpc2MuZWR1L2FwaS9pbWFnZT9wcm9kdWN0cz1uZXhyaHJlc18yMDE2MDEwOF8yMDU1MDAmeD0zNCZ5PTQ2Jno9N1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTG9hZCB0aGUgZmVhdHVyZXMgYXQgdGhlIGRhdGUgaW5kZXggc3BlY2lmaWVkXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gaSB0aGUgaW5kZXggb2YgdGhlIGZlYXR1cmVzIHRvIGJlIGxvYWRlZCBieSBkYXRlXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtzZXRBc1NvdXJjZT10cnVlXSBzZXQgdG8gZmFsc2UgdG8gdHJpZ2dlciBjYWNoZSBsb2FkIG9ubHlcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIF9sb2FkQXRUaW1lSW5kZXgoaTogbnVtYmVyLCBzZXRBc1NvdXJjZSA9IHRydWUpIHtcclxuICAgICAgICBzZXRBc1NvdXJjZSA9IHR5cGVvZiBzZXRBc1NvdXJjZSA9PSAnYm9vbGVhbicgPyBzZXRBc1NvdXJjZSA6IHRydWU7XHJcbiAgICAgICAgaWYgKHRoaXMuX2RhdGFDYWNoZVtpXSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvdXJjZS5jbGVhcigpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkRmVhdHVyZXModGhpcy5fZGF0YUNhY2hlW2ldKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgX190aGlzID0gdGhpcztcclxuICAgICAgICAgICAgJC5nZXQoJ2h0dHA6Ly9yZWFsZWFydGguc3NlYy53aXNjLmVkdTo4MC9hcGkvc2hhcGVzJyxcclxuICAgICAgICAgICAgICAgIHtwcm9kdWN0czogYCR7dGhpcy5fcHJvZHVjdHN9XyR7dGhpcy5fcmF3RGF0ZVN0cmluZ3NbaV19YH0sXHJcbiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIF9fdGhpcy5fZGF0YUNhY2hlW2ldID0gZDtcclxuICAgICAgICAgICAgICAgICAgICBfX3RoaXMuX3Jhd1RpbWVzTG9va3VwW19fdGhpcy5fcmF3RGF0ZVN0cmluZ3NbaV1dID0gZDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2V0QXNTb3VyY2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgX190aGlzLl9zb3VyY2UuY2xlYXIoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgX190aGlzLl9sb2FkRmVhdHVyZXMuY2FsbChfX3RoaXMsIF9fdGhpcy5fZGF0YUNhY2hlW2ldKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LCAnanNvbidcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBoZWxwZXIgdG8gbG9hZCB0aGUgZmVhdHVyZXMgYXQgdGhlIGluZGV4IHNwZWNpZmllZFxyXG4gICAgICogQHBhcmFtIHtvYmplY3R9IGdlb2pPYmogLSB0aGUgZ2VvanNvbiBvYmplY3RcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIF9sb2FkRmVhdHVyZXMoZ2Vvak9iaikge1xyXG4gICAgICAgIHRoaXMuX3NvdXJjZS5hZGRGZWF0dXJlcyh0aGlzLl9seXIuX2dlb0pzb25Gb3JtYXQucmVhZEZlYXR1cmVzKGdlb2pPYmosIHRoaXMuX2x5ci5fdHJhbnNmb3JtKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TGF5ZXJUaW1lKHRoZVRpbWU6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChzdXBlci5zZXRMYXllclRpbWUodGhlVGltZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fbG9hZEF0VGltZUluZGV4KHRoaXMuX2N1cnJlbnRJbmRleCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fc291cmNlLmNsZWFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG59XHJcblxyXG5ubS5SZWFsRWFydGhBbmltYXRlVmVjdG9yID0gUmVhbEVhcnRoQW5pbWF0ZVZlY3RvcjtcclxuZXhwb3J0IGRlZmF1bHQgUmVhbEVhcnRoQW5pbWF0ZVZlY3RvcjtcclxuIl19