I've got a large polygon feature class that covers the whole of GB and contains about 120k features. I need to do a spatial filter on this feature class in FME workbench. I've done this in Arc ModelBuilder in the past using 'selectbylocation' which can return an output instantly, however FME seems to read through each of the 120k features individually which takes forever (5 mins) which is too long. Can someone explain why Arc can do this instantly and whether this can be replicated in FME workbench quickly?
Sounds like you're using a Reader followed by a SpatialFilter in FME. In that workflow we do have to read everything.
Suggest instead you use a FeatureReader transformer to read the big feature class. And route your search area into that transformer as the Initiator. Then ask the FeatureReader to do a spatial envelope search. We'll then use the spatial index of the original feature class, presuming it is coming from a format that has one (like Geodatabase).