//TODO: improve hashing system private int HashCoordSystem(ICoordinateSystem sys) { if (sys is IProjectedCoordinateSystem) { return(HashProjectedCoordinateSystem(sys as IProjectedCoordinateSystem)); } if (sys is IGeographicCoordinateSystem) { return(HashGeographicCoordinateSystem(sys as IGeographicCoordinateSystem)); } if (sys is IGeocentricCoordinateSystem) { return(HashGeocentricCoordinateSystem(sys as IGeocentricCoordinateSystem)); } throw new ArgumentException(string.Format("No hash routine for coordinate sys '{0}'", sys.GetType())); }