private static void AddRing(SqlGeometryBuilder builder, SMLinearRing linearRing) { SMPoint pt = linearRing.StartPoint; builder.BeginFigure(pt.X, pt.Y); for (int i = 1; i < linearRing.NumPoints; i++) { pt = linearRing.Point(i); builder.AddLine(pt.X, pt.Y); } builder.EndFigure(); }
private static IList <SMPoint> GetPoints(SqlGeometry geometry) { int pointsNum = (int)geometry.STNumPoints(); SMPoint[] pts = new SMPoint[pointsNum]; for (int i = 1; i <= pointsNum; i++) { SqlGeometry ptGeometry = geometry.STPointN(i); double z = ptGeometry.Z == SqlDouble.Null ? (double)ptGeometry.Z : 0; pts[i - 1] = new SMPoint((double)ptGeometry.STX, (double)ptGeometry.STY, z); } return(pts); }
private static void SharpMapLineStringToSqlGeometry(SqlGeometryBuilder geomBuilder, SMLineString lineString) { geomBuilder.BeginGeometry(OpenGisGeometryType.LineString); SMPoint point = lineString.StartPoint; geomBuilder.BeginFigure(point.X, point.Y); for (int i = 1; i < lineString.NumPoints; i++) { point = lineString.Point(i); geomBuilder.AddLine(point.X, point.Y); } geomBuilder.EndFigure(); geomBuilder.EndGeometry(); }
private static void SharpMapPointToSqlGeometry(SqlGeometryBuilder geomBuilder, SMPoint point) { try { geomBuilder.BeginGeometry(OpenGisGeometryType.Point); geomBuilder.BeginFigure(point.X, point.Y, point.Z, null); geomBuilder.EndFigure(); geomBuilder.EndGeometry(); } catch (Exception ex) { string exMessage = string.Format("Failed Point X [{0}] Y [{1}] Z[{2}]", point.X, point.Y, point.Z); Exception wrappingException = new Exception(exMessage, ex); throw wrappingException; } }
private static IList<SMPoint> GetPoints(SqlGeometry geometry) { int pointsNum = (int)geometry.STNumPoints(); SMPoint[] pts = new SMPoint[pointsNum]; for (int i = 1; i <= pointsNum; i++) { SqlGeometry ptGeometry = geometry.STPointN(i); double z = ptGeometry.Z == SqlDouble.Null ? (double)ptGeometry.Z : 0; pts[i - 1] = new SMPoint((double)ptGeometry.STX, (double)ptGeometry.STY, z); } return pts; }
private static void SharpMapPointToSqlGeometry(SqlGeometryBuilder geomBuilder, SMPoint point) { try { geomBuilder.BeginGeometry(OpenGisGeometryType.Point); geomBuilder.BeginFigure(point.X, point.Y, point.Z, null); geomBuilder.EndFigure(); geomBuilder.EndGeometry(); } catch (Exception ex) { string exMessage = string.Format("Failed Point X [{0}] Y [{1}] Z[{2}]", point.X, point.Y, point.Z); Exception wrappingException = new Exception(exMessage, ex); throw wrappingException; } }