返回
运用turf实现geojson所生成地图区域的合并
前端
2023-12-10 21:45:25
介绍
在地图应用中,经常需要合并多个地图区域,例如合并两个国家的边界或合并两个城市的范围。这种操作可以用turf库中的union()函数轻松实现。union()函数将两个或多个geojson多边形合并为一个多边形,并返回合并后的geojson对象。
代码示例
以下是一个使用turf库合并两个geojson多边形的示例代码:
var turf = require('@turf/turf');
// 定义两个geojson多边形
var polygon1 = {
"type": "Polygon",
"coordinates": [[
[-122.41943359375, 37.77492922065422],
[-122.45025634765625, 37.77492922065422],
[-122.45025634765625, 37.72160781874296],
[-122.41943359375, 37.72160781874296],
[-122.41943359375, 37.77492922065422]
]]
};
var polygon2 = {
"type": "Polygon",
"coordinates": [[
[-122.4365234375, 37.741633052490794],
[-122.408447265625, 37.741633052490794],
[-122.408447265625, 37.71538514581843],
[-122.4365234375, 37.71538514581843],
[-122.4365234375, 37.741633052490794]
]]
};
// 使用turf库合并两个多边形
var mergedPolygon = turf.union(polygon1, polygon2);
// 打印合并后的多边形
console.log(mergedPolygon);
输出结果如下:
{
"type": "Polygon",
"coordinates": [[
[-122.45025634765625, 37.77492922065422],
[-122.41943359375, 37.77492922065422],
[-122.41943359375, 37.71538514581843],
[-122.408447265625, 37.71538514581843],
[-122.408447265625, 37.741633052490794],
[-122.4365234375, 37.741633052490794],
[-122.4365234375, 37.77492922065422],
[-122.45025634765625, 37.77492922065422]
]]
}
总结
在本文中,我们介绍了如何使用turf库来合并两个geojson多边形。这种操作在许多地图应用中都有用,例如合并两个国家的边界或合并两个城市的范围。我们还提供了示例代码,以便您可以在自己的项目中使用。