private static IFeatureClass GenerateWorknArea(string poterniallyVisibleAreaFCName, string pointsFCName, string workinAreaFCName) { var points = EsriTools.GetFeatreClassExtent(GdbAccess.Instance.GetCalcWorkspaceFeatureClass(pointsFCName)); var poterniallyVisibleArea = EsriTools.GetFeatreClassExtent(GdbAccess.Instance.GetCalcWorkspaceFeatureClass(poterniallyVisibleAreaFCName)); poterniallyVisibleArea.Project(EsriTools.Wgs84Spatialreference); points.Project(EsriTools.Wgs84Spatialreference); var combined = EsriTools.GetEnvelopeOfGeometriesList(new IGeometry[] { points, poterniallyVisibleArea }); var workinAreaFC = GdbAccess.Instance.GenerateTempStorage(workinAreaFCName, null, esriGeometryType.esriGeometryEnvelope, null, false, true); var area = workinAreaFC.CreateFeature(); area.Shape = combined; area.Store(); return(workinAreaFC); }