Beispiel #1
0
        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;
 }
Beispiel #4
0
        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");
            }
        }
Beispiel #5
0
        internal static SqlGeometry AsSqlServerGeometry(this SMGeometry smGeometry)
        {
            SqlGeometry geometry = ToSqlServerGeometry(smGeometry);

            return(geometry);
        }