shpUtils.js 1.7 KB
import {open,openShp} from "shapefile"

export default{

    methods: {

      /**
       * @description: readShpByFile
       * @param {*} file
       * @param {*} callBackFunction
       * @author: renchao
       */
        readShpByFile(file,callBackFunction){
            var reader = new FileReader();
            reader.readAsBinaryString(file);
            reader.οnlοad=function(){
                var fileData = this.result ; //fileData就是读取到的文件的二进制数据
                openShp(fileData).then(source => source.read()
                .then(function log(result) {
                  if (result.done) return;
                  if(callBackFunction && typeof callBackFunction == 'function'){
                        callBackFunction(result.value);
                  }
                  return source.read().then(log);
                }))
              .catch(error => console.error(error.stack));
            }
        },
      /**
       * @description: readShpByFile
       * @param {*} url
       * @param {*} callBackFunction
       * @author: renchao
       */
        readShpByUrl(url,callBackFunction){
            open(url).then(source => source.read()
            .then(function log(result) {
              if (result.done) return;
              if(callBackFunction && typeof callBackFunction == 'function'){
                    callBackFunction(result.value);
              }
              return source.read().then(log);
            }))
          .catch(error => console.error(error.stack));
         }
        },
  /**
   * @description: readShpByZip
   * @param {*} zipUrl
   * @param {*} callBackFunction
   * @author: renchao
   */
        readShpByZip(zipUrl,callBackFunction){

        }

}