0

In general is it better (more efficient) to work with Feature Classes (FC) or Feature Layers (a feature layer of a FC). I know when I construct model I always (or generally) work with feature layers which got me to think that maybe layers were more efficient (especially with very very large feature classes.

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
Jeff
  • 399
  • 1
  • 17
  • Related: http://gis.stackexchange.com/questions/59837/why-is-it-important-to-use-feature-layers-in-modelbuilder – Chris W Mar 24 '15 at 20:43
  • 1
    Feature layers have more options, like Select Layer by Attribute etc.. and may not represent all the features in a feature class. Some tools (like Add Join) require a feature layer and not a feature class. Feature Layers need to be made in ArcCatalog and command but can be referenced directly from ArcMap. I would use a feature class over a feature layer unless I want to use a subset or other property of a layer, but that's just me. I don't think either one is any faster. – Michael Stimson Mar 24 '15 at 22:21
  • 1
    @MichaelMiles-Stimson I don't follow 'need to be made in ArcCatalog and command'. There is, after all, the Make Feature Layer GP tool, and the ability to right-click a layer in the ToC and create a new feature layer from selected. In fact, I thought (perhaps incorrectly) that the layers in an ArcMap ToC were feature layers (which is why some model tools can use ToC layers as inputs successfully but will fail if referencing the feature class directly). I don't know enough about programming/processing to address efficiency, but the question I linked to discusses in-memory vs disk access. – Chris W Mar 24 '15 at 23:37
  • 1
    @ChrisW, when executing a python tool in ArcMap the layers can be taken from the map by name because they already exist. If you execute a python tool from ArcCatalog or on the command line you must create a layer with MakeFeatureLayer or use a layer file (already saved) in order to use a layer. There is no mention in the question about "in_memory" although that would be one way to speed things up, especially with outputs from each step in a process, the question is about Feature Class (full path) vs Feature Layer. – Michael Stimson Mar 24 '15 at 23:56
  • 2
    @MichaelMiles-Stimson Ah, that makes more sense. The question is actually a bit broad and open to interpretation, because it's asking which is 'better or more efficient to work with' - and my first thought was work with how? I was thinking a layer was an in-memory kind of thing by default, whereas a feature class was on disk and I guess could be entirely loaded into memory. But I'm at like level 0 on programming, so how things are loaded when and where they persist vs having to be loaded again is not something I'm familiar with. – Chris W Mar 25 '15 at 00:11

1 Answers1

1

As somebody told in an ESRI forum in 2003 "Feature Layer is a layer in your map" so it means that a Feature Layer is a single entity (polilyne, point or polygon) wich can be put as a simple object in your map or consider as a "mask" of a "Feature Class". But "Feature Class is a dataset that resides on disk".