Ну, turf.buffer
создает новый объект из предоставленного и не отслеживает его предыдущее состояние. Кроме того, как вы сказали, polygonToLine
, а также polygonToLineString
будут преобразовывать только границу многоугольника в строку - они не функционируют как обратное buffer
.
Что turf.buffer
действительно сохраняет properties
оригинальной функции. Таким образом, мы можем сохранить исходную геометрию в свойствах строки:
const linestring1 = turf.lineString([
[-24, 63],
[-23, 60],
[-25, 65],
[-20, 69]
], {
name: 'line 1'
});
linestring1.properties.original_geometry = linestring1.geometry;
const bufferedPolygon = turf.buffer(linestring1, 2, {
units: 'kilometers'
});
, тем самым сохранив оригинал, к которому можно вернуться:
{
"type":"Feature",
"properties":{
"name":"line 1",
"original_geometry":{
"type":"LineString",
"coordinates":[[-24,63],[-23,60],[-25,65],[-20,69]]
}
},
"geometry":{
"type":"Polygon",
"coordinates":[...]
}
}