geojson转esriJson

因为一些特殊需求,需要将geojson转为shp数据,网上有一些转换网站,但是存在一些问题,例如中文乱码、文件大小限制等等,折腾了一下,还是觉得用arcgis转比较好,因此先将geojson转为esriJson,再转到shp。

在openlayer3中有ol.format.EsriJSON可以进行转换,因此我们只需在ol3中将geojson文件加载至地图,执行转换即可,非常简单,省去自己写的麻烦。

代码如下:

var map = new ol.Map({
      layers: [
        new ol.layer.Tile({
          source: new ol.source.OSM()
        })
      ],
      target: 'map',
      controls: ol.control.defaults({
        attributionOptions: /** @type {olx.control.AttributionOptions} */
          ({
            collapsible: false
          })
      }),
      view: new ol.View({
        projection: 'EPSG:4326',
        center: [118.07554927400008, 24.501877295000055],
        zoom: 11
      })
    });
    let url = './商事主体.json';
    var layer = new ol.layer.Vector({
      source: new ol.source.Vector({
        projection: 'EPSG:4326',
        url: url, // 地图来源
        format: new ol.format.GeoJSON(), // 解析矢量地图的格式化类
        wrapX: false
      })
    });
    map.addLayer(layer);
    setTimeout(() => {
      let features = layer.getSource().getFeatures();
      let fat=new ol.format.EsriJSON();
      let str = fat.writeFeatures(features);
      console.log(str);//输出至控制台
    }, 3000);

 

posted @ 2018-07-27 16:11  Hxxxxxxyyyyyy  阅读(1065)  评论(0编辑  收藏  举报