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); }
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)); }
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)); }
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); }
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); }
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 })); }
public static Coordinate Convert(COORSYSTEM from, COORSYSTEM to, Coordinate coor) { ICoordinateTransformation cs = GetTransformation(from, to); return(cs.MathTransform.Transform(coor)); }