Ejemplo n.º 1
0
 public static Coordinate[] Convert(COORSYSTEM from, COORSYSTEM to, Coordinate[] coor)
 {
     Coordinate[] tmp = new Coordinate[coor.Length];
     for (int i = 0; i < coor.Length; i++)
     {
         tmp[i] = Convert(from, to, coor[i]);
     }
     return(tmp);
 }
Ejemplo n.º 2
0
 public static IMultiPolygon Convert(COORSYSTEM from, COORSYSTEM to, IMultiPolygon multipoly)
 {
     IPolygon [] polys = new Polygon [multipoly.Count];
     for (int i = 0; i < multipoly.Count; i++)
     {
         polys[i] = Convert(from, to, multipoly[i] as IPolygon);
     }
     return(GeometryFactory.Default.CreateMultiPolygon(polys));
 }
Ejemplo n.º 3
0
        public static IPolygon Convert(COORSYSTEM from, COORSYSTEM to, IPolygon poly)
        {
            var shell = GeometryFactory.Default.CreateLinearRing(Convert(from, to, poly.Shell.Coordinates));

            ILinearRing[] holes = new LinearRing[poly.Holes.Length];
            for (int i = 0; i < poly.Holes.Length; i++)
            {
                holes[i] = GeometryFactory.Default.CreateLinearRing(Convert(from, to, poly.Holes[i].Coordinates));
            }
            return(GeometryFactory.Default.CreatePolygon(shell, holes));
        }
Ejemplo n.º 4
0
        private static ICoordinateTransformation GetTransformation(COORSYSTEM from, COORSYSTEM to)
        {
            CoordinateSystems cs = new CoordinateSystems();

            if (from == COORSYSTEM.NAD83 && to == COORSYSTEM.WGS84)
            {
                return(cs.FootToDeg);
            }
            else if (from == COORSYSTEM.WGS84 && to == COORSYSTEM.NAD83)
            {
                return(cs.DegToFoot);
            }
            return(null);
        }
Ejemplo n.º 5
0
        public static IGeometry Convert(COORSYSTEM from, COORSYSTEM to, IGeometry geometry)
        {
            IGeometry geo = null;

            switch (geometry.GeometryType)
            {
            case "Polygon":
                var poly = geometry as Polygon;
                geo = Convert(from, to, poly);
                break;

            case "MultiPolygon":
                var multipoly = geometry as MultiPolygon;
                geo = Convert(from, to, multipoly);
                break;
            }
            return(geo);
        }
Ejemplo n.º 6
0
        public static double[] Convert(COORSYSTEM from, COORSYSTEM to, double lat, double lng)
        {
            ICoordinateTransformation cs = GetTransformation(from, to);

            return(cs.MathTransform.Transform(new double[] { lng, lat }));
        }
Ejemplo n.º 7
0
        public static Coordinate Convert(COORSYSTEM from, COORSYSTEM to, Coordinate coor)
        {
            ICoordinateTransformation cs = GetTransformation(from, to);

            return(cs.MathTransform.Transform(coor));
        }