public ICoordinateSequence ToSequence(SpatialLite.Core.API.ICoordinateList list) { var c = list[0]; var kind = Ordinates.XY | (c.Is3D ? Ordinates.Z : Ordinates.None) | (c.IsMeasured ? Ordinates.M : Ordinates.None); return(ToSequence(list, kind)); }
private ICoordinateSequence ToSequence(SpatialLite.Core.API.ICoordinateList list, Ordinates kind) { var res = _factory.Create(list.Count, kind); kind = res.Ordinates; for (var i = 0; i < list.Count; i++) { var c = list[i]; res.SetOrdinate(i, Ordinate.X, c.X); res.SetOrdinate(i, Ordinate.Y, c.Y); if ((kind & Ordinates.Z) == Ordinates.Z) { res.SetOrdinate(i, Ordinate.Z, c.Z); } if ((kind & Ordinates.M) == Ordinates.M) { res.SetOrdinate(i, Ordinate.M, c.M); } } return(res); }