1.前言
現在需要將cad的dxf數據轉化為GeoJSON格式的數據,使用在線工具http://ogre.adc4gis.com/轉完之后發現了一個問題,那就是在cad中閉合的面轉成GeoJSON后都成了LineString類型的多段線,所以需要進行處理一下。
2.方法
2.1思路
(1)將LineString類型的GeoJSON讀取成features
(2)獲取每個feature的坐標串Coordinates
(3)利用坐標串創建新的Polygon類型的feature
(4)最后將features再讀取成GeoJSON
2,2代碼實現
let oljson = new ol.format.GeoJSON() let features = oljson.readFeatures(GeoJSON); let newFeatures=[]; for (let i=0;i<features.length;i++){ if (features[i].getGeometry().getType()!='Polygon'&&features[i].getGeometry().getType()=='LineString'){ let coordinates=features[i].getGeometry().getCoordinates(); let feature=new ol.Feature({ geometry:new ol.geom.Polygon([coordinates]), name:'Polygon' }) newFeatures.push(feature); } else { newFeatures.push(features[i]); } } //將處理好的features再轉化為geojson let newGeoJSON=oljson.writeFeaturesObject(newFeatures);