> In my previous example, if one compares the responses to GetAxisMappingStrategy(), the original SRS and that returned by the layer are different: > >>> projection.GetAxisMappingStrategy() == osr.OAMS_AUTHORITY_COMPLIANT > > # True > > >>> projFromLayer.GetAxisMappingStrategy() == osr.OAMS_TRADITIONAL_GIS_ORDER > > # True > > > Is the change to this value in this circumstance intentional?
Yes. By default OGRSpatialReference object are authority compliant, since that's normative. But the reality is that 99% of GDAL code doesn't like that, so most drivers will hastily change to OAMS_TRADITIONAL_GIS_ORDER > If so, does it > mean that I have to repeatedly enforce the axis mapping strategy, because I > don't know whether it will have been modified or not, depending on the > provenance of the SRS object? If you get vector data + a OGRSpatialReference object from a OGR driver you shouldn't override its axis mapping strategy if you intend to reproject from it to something else. 99% of the time it will be OAMS_TRADITIONAL_GIS_ORDER, but in the rare cases where it would be OAMS_AUTHORITY_COMPLIANT and the SRS would be a EPSG geographic CRS, it means that for example the first element in the coordinate tuple would be latitude. If you don't override the axis mapping strategy, then OGRCoordinateTransformation will do the right thing knowing that the first element in the coordinate tuple is a latitude. Even -- Spatialys - Geospatial professional services http://www.spatialys.com _______________________________________________ gdal-dev mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/gdal-dev
