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);