If I have a feature source in EPSG 4326, and my map is to be displayed in EPSG 26915 (UTM NAD83, Zone 15N), a transformation is executed. At what point in the drawing process is the transformation applied? It appears that I must build the projection as a property of the FeatureSource, and set the external SRID to the 26915. In my custom FeatureSource, I build the requested Feature collection with the 4326 projection. But when drawn on the map, that are clearly transformed into 26915. Magic happened somewhere, but I'm curious as to where it happened.
I'm also surprised that I have to set the projection on the FeatureSource. Logically, that prevents me from using the same data for a map defined in 26915 and in 26916, and, yes, we do that sometimes because we have to match the selected background imagery source. It seems like the transformation should be a function of the layer, rather than of the data source.
So, as I understand it now... when I want to add a layer to a map, it is my responsibility to go to its data source and set its external projection to that of the map. And if I want to change the SRID of the map, then I need to iterate every layer and change the external SRID of the layers datasource?
Is creating a projection expensive? I'm surprised you don't have a way to define the target project on the map (as an object), and pass that into the Draw methods of the layer (or have it as a GeoCanvas property) such that the map display is fully decoupled from the data source. You've had good reasons for any other design feature I've questioned. I look forward to the reasons for this design (or a correction to my understanding of the process :))
Thanks!