UNPKG

terriajs

Version:

Geospatial data visualization platform.

30 lines (26 loc) 1.38 kB
'use strict'; /*global require*/ var defined = require('terriajs-cesium/Source/Core/defined'); var GeoJsonCatalogItem = require('./GeoJsonCatalogItem'); /** * Updates the {@link CatalogItem#rectangle} property of a {@link CatalogItem} to be the bounding rectangle * of a given region. * @param {CatalogItem} catalogItem The catalog item to update. * @param {RegionProvider} regionProvider The region provider. * @param {Object} region The region from which to update the rectangle. The region must be known to the region provider. * @return {Promise} A promise that resolves when the rectangle has been updated. This promise silently resolves * if an error occurs while trying to update the rectangle. */ var updateRectangleFromRegion = function(catalogItem, regionProvider, region) { return regionProvider.getRegionFeature(catalogItem.terria, region).then(function(feature) { if (defined(feature) && feature.type === 'Feature') { var geojsonCatalogItem = new GeoJsonCatalogItem(catalogItem.terria); geojsonCatalogItem.data = feature; return geojsonCatalogItem.load().then(function() { catalogItem.rectangle = geojsonCatalogItem.rectangle; }); } }).otherwise(function() { }); }; module.exports = updateRectangleFromRegion;