Yes views are ceirtanly an option, if you're just going to process data.
But if you want to display the information with some graphical control, you have again a problem. If I have a layer of states, for example, I want to display all in the same layer, and to be able to do searching in all the set.
Imagine that you have a table of points projected to UTM (X,Y,UTM_ZONE), it's possible to have even intersecting geometries with different srids.
I think the provider must be responsible for doing this work, for example, in a box query:
1) Find the different srids in the table
2) Project the box to all this srids, and make independent querys
3) Return all the results sequentally, projected to the same srid, in the same data reader
To implement this, I see two ways:
- Create a base class wich this data providers will inherit
- Implement a meta-provider, giving in the constructor a list of srid,provider and of course a coordinatetransformationfactory
Maybe the second way is faster, and less dependendant on the coding of each dataprovider. If you like this solution, i would love to collaborate and do the coding. Anyway i need it, the only difference it to share it ;)