/// <summary> /// Checks whether the values of this instance is equal to the values of another instance. /// Only parameters used for coordinate system are used for comparison. /// Name, abbreviation, authority, alias and remarks are ignored in the comparison. /// </summary> /// <param name="obj"></param> /// <returns>True if equal</returns> public override bool EqualParams(object obj) { if (!(obj is ProjectedCoordinateSystem)) { return(false); } ProjectedCoordinateSystem pcs = obj as ProjectedCoordinateSystem; if (pcs.Dimension != this.Dimension) { return(false); } for (int i = 0; i < pcs.Dimension; i++) { if (pcs.GetAxis(i).Orientation != this.GetAxis(i).Orientation) { return(false); } if (!pcs.GetUnits(i).EqualParams(this.GetUnits(i))) { return(false); } } return(pcs.GeographicCoordinateSystem.EqualParams(this.GeographicCoordinateSystem) && pcs.HorizontalDatum.EqualParams(this.HorizontalDatum) && pcs.LinearUnit.EqualParams(this.LinearUnit) && pcs.Projection.EqualParams(this.Projection)); }