public static LineString LineStringFromDbGeometry(DbGeometry inp) { if (inp.SpatialTypeName != "LineString") { throw new ArgumentException(); } var coordinates = new List <Position>(); for (var i = 1; i <= inp.PointCount; i++) { coordinates.Add(new Position(inp.PointAt(i).YCoordinate.Value, inp.PointAt(i).XCoordinate.Value, null)); } var lineString = new LineString(coordinates); return(lineString); }
public static LineString LineStringFromDbGeometry(DbGeometry inp) { if (inp.SpatialTypeName != "LineString") { throw new ArgumentException(); } var coordinates = new List <GeographicPosition>(); for (var i = 1; i <= inp.PointCount; i++) { coordinates.Add(new GeographicPosition(inp.PointAt(i).YCoordinate.GetValueOrDefault(), // due to the throw above, this will never default inp.PointAt(i).XCoordinate.GetValueOrDefault(), null)); } var lineString = new LineString(coordinates); return(lineString); }
private static List <double[]> GetRingCoordinates(DbGeometry catchmentGeometryExteriorRing) { var coordinates = new List <double[]>(); for (var j = 1; j <= catchmentGeometryExteriorRing.PointCount; j++) { var point = catchmentGeometryExteriorRing.PointAt(j); var lon = point.XCoordinate.GetValueOrDefault(); var lat = point.YCoordinate.GetValueOrDefault(); coordinates.Add(new[] { lon, lat }); } return(coordinates); }