internal static SqlGeometry ToSqlServerGeometry(SMGeometry smGeometry) { SqlGeometryBuilder builder = new SqlGeometryBuilder(); builder.SetSrid(smGeometry.SRID); SharpMapGeometryToSqlGeometry(builder, smGeometry); SqlGeometry geometry = builder.ConstructedGeometry; geometry = geometry.MakeValid(); return(geometry); }
private static void SharpMapGeometryToSqlGeometry(SqlGeometryBuilder geomBuilder, SMGeometry smGeometry) { switch (smGeometry.GeometryType) { case SMGeometryType.Point: SharpMapPointToSqlGeometry(geomBuilder, smGeometry as SMPoint); break; case SMGeometryType.LineString: SharpMapLineStringToSqlGeometry(geomBuilder, smGeometry as SMLineString); break; case SMGeometryType.Polygon: SharpMapPolygonToSqlGeometry(geomBuilder, smGeometry as SMPolygon); break; case SMGeometryType.MultiPoint: SharpMapMultiPointToSqlGeometry(geomBuilder, smGeometry as SMMultiPoint); break; case SMGeometryType.MultiLineString: SharpMapMultiLineStringToSqlGeometry(geomBuilder, smGeometry as SMMultiLineString); break; case SMGeometryType.MultiPolygon: SharpMapMultiPolygonToSqlGeometry(geomBuilder, smGeometry as SMMultiPolygon); break; case SMGeometryType.GeometryCollection: SharpMapGeometryCollectionToSqlGeometry(geomBuilder, smGeometry as SMGeometryCollection); break; default: throw new ArgumentException( String.Format("Cannot convert '{0}' geometry type", smGeometry.GeometryType), "smGeometry"); } }
internal static SqlGeometry ToSqlServerGeometry(SMGeometry smGeometry) { SqlGeometryBuilder builder = new SqlGeometryBuilder(); builder.SetSrid(smGeometry.SRID); SharpMapGeometryToSqlGeometry(builder, smGeometry); SqlGeometry geometry = builder.ConstructedGeometry; geometry = geometry.MakeValid(); return geometry; }
private static void SharpMapGeometryToSqlGeometry(SqlGeometryBuilder geomBuilder, SMGeometry smGeometry) { switch (smGeometry.GeometryType) { case SMGeometryType.Point: SharpMapPointToSqlGeometry(geomBuilder, smGeometry as SMPoint); break; case SMGeometryType.LineString: SharpMapLineStringToSqlGeometry(geomBuilder, smGeometry as SMLineString); break; case SMGeometryType.Polygon: SharpMapPolygonToSqlGeometry(geomBuilder, smGeometry as SMPolygon); break; case SMGeometryType.MultiPoint: SharpMapMultiPointToSqlGeometry(geomBuilder, smGeometry as SMMultiPoint); break; case SMGeometryType.MultiLineString: SharpMapMultiLineStringToSqlGeometry(geomBuilder, smGeometry as SMMultiLineString); break; case SMGeometryType.MultiPolygon: SharpMapMultiPolygonToSqlGeometry(geomBuilder, smGeometry as SMMultiPolygon); break; case SMGeometryType.GeometryCollection: SharpMapGeometryCollectionToSqlGeometry(geomBuilder, smGeometry as SMGeometryCollection); break; default: throw new ArgumentException( String.Format("Cannot convert '{0}' geometry type", smGeometry.GeometryType), "smGeometry"); } }
internal static SqlGeometry AsSqlServerGeometry(this SMGeometry smGeometry) { SqlGeometry geometry = ToSqlServerGeometry(smGeometry); return(geometry); }