What is the difference between feature class and feature layer?
To me they seems very similar in concept.
Vector data can have properties stored at two levels. File level or Layer level.
For feature class (a type of vector data), file level information is stored in a geodatabase. This consists of properties like feature class geometry, attribute table, assigned subtypes and domains, a coordinate system, etc:. All these file level properties make up the actual feature class data.
Feature layers are properties you assign to a feature class to define how it is rendered in a client (read ArcMap). This includes Symbology, Labels, Scale Range, Joins, Relates, Definition Query, 'Data Source to the feature class it renders' and so on. These properties can be stored as layer files on disk or when you look at feature classes in an ArcMap document, they are actually feature layers referencing the feature class.
These terms specifically relate to the ESRI software and data schemas.
A feature class is a set of common geographic features, for example roads, or parcels, or land use, as they are stored in a geodatabase or shapefile, or other storage format. Here is the help file on Feature Class Basics.
A feature layer is the representation of a feature class after it is loaded into ArcMap. Here are some of the properties to describe a Layer.
It might be better to not just think in terms of feature class or feature layer, but to think just in terms of class or layer. This is because there are more types of classes or layers, than just feature. The other types are:
what it means as conceptual, you can check out GIS Dictionary from ESRI, here.
i hope it helps you...
In simple terms ...
I try to think of a feature class being a spatial dataset, i.e. not much more than x,y coords and attributes on disk, while a layer applies symbology (and many other lesser known properties) to a spatial dataset.
A layer does not store data, just symbology and a link to where the data is located on a disk somewhere.
Feature classes and shapefiles don't store symbology, just x,y coords and attributes, etc
Only when a feature class is added to a map (or is abstracted using Make Feature Layer outside of ArcMap) does it become a layer.
A Feature Class is a database table with geometries (points, lines or polygons). A Feature Layer is the rendering of a table of geometries, for display on computer screen, or map printout.
Esri invented these terms to describe their database tables (with geometries) and the rendering of them on screen or map. "Spatially Enabling" those databases allows for the query of the databases based on various coordinate systems, and where the geometries fall within them. An Esri Geodatabase is considered to be, therefore, spatially enabled, and contains feature classes that can be loaded into GIS desktops for view, query or map printout.
If you're using Esri software and Geodatabases, the industry standard, then you hear those terms used frequently. If you're using other GIS software and databases, then you can still run across the exact same concepts and features, but not hear them used at all. For example, with QGis users, you might here of only a "table" or a "layer", and they would be equivalent to "feature class" or "feature layer"