Source: dataSources/fileEsriJsonVectorSource.js

let ol = require('openlayers');
let AbstractDataSource = require('./abstractDataSource');

/**
 * Класс FileEsriJsonVectorSource предназначен для создания векторного источника данных для WFS-T сервисов
 * @extends AbstractDataSource
 */
class FileEsriJsonVectorSource extends AbstractDataSource {
    /**
     * Создает экземпляр класса GeoJsonVectorSource
     * @param params
     */
    constructor(params) {
        super(params);
        this.type = "FileJsonVectorSource";
        this.source = this.create(params);
    }

    getSource() {
        return this.source;
    }

    setSource(source) {
        this.source = source;
    }

    create(params) {
        let source = new ol.source.Vector({
            features: (new ol.format.EsriJSON()).readFeatures(params.data, {
                featureProjection: params.projection || 'EPSG:3857'
            }),
            projection: params.projection || 'EPSG:3857'
        });
        return source;
    }
}

module.exports = FileEsriJsonVectorSource;