/// <summary>
/// 合并多个GeoJSON的多段线
/// </summary>
/// <param name="alist"></param>
/// <returns></returns>
private static GeoJSON.Net.Geometry.MultiLineString MergeMultiLine(List<GeoJSON.Net.Geometry.MultiLineString> alist)
{
GeoJSON.Net.Geometry.LineString resultLineString = new GeoJSON.Net.Geometry.LineString();
resultLineString.Coordinates = new List<GeoJSON.Net.Geometry.Position>();
foreach (GeoJSON.Net.Geometry.MultiLineString aMultiLineString in alist)
{
foreach (GeoJSON.Net.Geometry.LineString aLineString in aMultiLineString.Coordinates)
{
foreach(GeoJSON.Net.Geometry.Position aPos in aLineString.Coordinates)
{
if (0 < resultLineString.Coordinates.Count && resultLineString.Coordinates.Any(x => CalculateDistance.Calculate(x.X, x.Y, x.Z, aPos.X, aPos.Y, aPos.Z) < 1e-5))
{
continue;
}
resultLineString.Coordinates.Add(aPos);
}
}
}
return new GeoJSON.Net.Geometry.MultiLineString(new List<GeoJSON.Net.Geometry.LineString>() { resultLineString });
}C#合并多个GeoJSON的多段线
最新推荐文章于 2025-09-22 09:19:14 发布
本文介绍了一种方法,用于合并多个GeoJSON格式的多段线数据为单一的多段线。通过遍历每个多段线集合中的线,并进一步遍历每条线中的坐标点进行合并,同时排除重复的坐标点。
999

被折叠的 条评论
为什么被折叠?



