Thats a great question, and i'm sure you'll get lots of answers! heres some of my thoughts....
- Feature R/W lets you control exactly when data is read/written in your process
- Feature R/W, you can specify logic to write data then read it back in (eg get a database generated field)
- Feature R/W, you can easily write data out then use external libraries to read it (arcpy with Python Caller, LAS Tools with system caller)
- Feature R/W, read data in based on attribute values
- Feature R/W lean themselves more to dynamic processes
- Standard R/W are generally easier yo work with in simple work flows
- Some of the feature types have more control with certain feature types
- using a feature R/W allows for external logging pre/post reading/writing
If i'm quickly building a one off process i'll general start with a standard feature reader, i'f i'm building a more complexe workflow often there is a lot of pre reader setup eg date/time stamp, external logging, parameter fetching so makes sense to start with a creator then read/write data when needed with a feature writer
and heres some others who will no doubt have some additional points to add
@mark2atsafe @david_r @ebygomm @virtualcitymatt
An additional benefit is that FeatureReaders allow you to do spatial filtering of the dataset you're reading, based on the initiator feature. So for reading from a spatial database that's a big plus.
- Using a FeatureWriter the fanout (result filename based off attribute) is more intuitive than with classic writers.
- Using a FeatureReader you can easily select or deselect featureclasses / autocad layers. With a classic reader you need to go through the "Update Feature Types" menu.
- FeatureWriters have output port(s) which you can use to initiate new processes downstream.
Thanks,
FeatureReader/Writing for added flexibilty/functionality.
Is there something that the Reader/Writer can do that the FeatureReader/Writer can't?
Thanks,
FeatureReader/Writing for added flexibilty/functionality.
Is there something that the Reader/Writer can do that the FeatureReader/Writer can't?
Yes, I don't believe that a FeatureReader can act as the schema source for a dynamic writer.
About 90% of the time I still use readers and writers, but I suspect that's mostly because it's how I started on workspaces. I do think the different colour of the objects make them stand out better. I suggested we change the FeatureReader/Writer to match, but it wasn't a popular idea.
I generally use a FeatureReader/Writer only when I need to read or write the data mid-translation. Also if you need to fan out the data the FeatureWriter is going to be quicker than the equivalent writer. The FeatureReader is also useful when you need to read in a dataset specified in an attribute - although often I use a WorkspaceRunner to do that anyway.
I think most of the other reasons or differences have been covered by other answers.