因为一些特殊需求,需要将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);
转载于:https://www.cnblogs.com/dullfish/p/9378198.html
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删