} // public override string ToString() /// <summary> /// Projects each item in a geometry collection. /// </summary> /// <param name="coordinateTransform">The transformation to use.</param> /// <returns>The resulting projected geometry.</returns> public override Geometry Project(ICoordinateTransformation coordinateTransform) { if (coordinateTransform == null) { throw new ArgumentNullException("coordinateTransform"); } if (!(coordinateTransform.MathTransform is Geotools.CoordinateTransformations.MapProjection)) { throw new ArgumentException("CoordinateTransform must be a MapProjection."); } Geometry[] geometryArray = new Geometry[_geometries.Length]; Geometry geometry = null; Geometry projectedGeometry = null; for (int i = 0; i < _geometries.Length; i++) { geometry = (Geometry)_geometries.GetValue(i); projectedGeometry = (Geometry)geometry.Project(coordinateTransform); geometryArray[i] = projectedGeometry; } return(_geometryFactory.CreateGeometryCollection(geometryArray)); }