9 | | The OGRSpatialReference and OGRCoordinateTransformation classes assume that all coordinate systems use x=easting, y=northing (or in geographic terms x=longitude, y=longitude). In practice some coordinate systems use alternate axis orientations (such as the Krovak projection), a some standards (GML, WMS 1.3, WCS 1.1) require honouring the EPSG declaration that all it's geographic coordinates refer to x as latitude and y as longitude. |
| 9 | The OGRSpatialReference and OGRCoordinateTransformation classes assume that all coordinate systems use x=easting, y=northing (or in geographic terms x=longitude, y=latitude). In practice some coordinate systems use alternate axis orientations (such as the Krovak projection), and some standards (GML, WMS 1.3, WCS 1.1) require honouring the EPSG declaration that all it's geographic coordinates refer to x as latitude and y as longitude. |
| 45 | {{{ |
| 46 | const char *GetAxis( const char *pszTargetKey, int iAxis, |
| 47 | int *pnOrientation ); |
| 48 | }}} |
| 49 | |
| 50 | {{{ |
| 51 | OGRErr SetAxes( const char *pszTargetKey, |
| 52 | const char *pszXAxisName, int nXAxisOrientation, |
| 53 | const char *pszYAxisName, int nYAxisOrientation ); |
| 54 | }}} |
| 55 | |
| 56 | Defines the X and Y axes for a given target key (PROJCS or GEOGCS). |
| 57 | |
| 58 | {{{ |
| 59 | int EPSGTreatsAsLatLong(); |
| 60 | }}} |
| 61 | |
| 62 | Note that OGRSpatialReference::StripNodes( "AXIS" ); can be used to strip axis definitions where they are not desired. |
| 63 | |
| 64 | Changed Methods: |
| 65 | |
| 66 | * Modify importFromURN() to set AXIS values properly for EPSG and OGC geographic coordinate systems. So urn:...:EPSG: will be assumed to really honour EPSG conventions. |
| 67 | * Modify SetWellKnownGeogCS() to *not* set AXIS values, and strip AXIS values out of any other hardcoded WKT definitions. |
| 68 | * importFromEPSG() will continue to *not* set AXIS values for GEOGCS coordinate systems. |
| 69 | * importFromEPSG() *will* now set axis values for projected coordinate systems (at least in cases like Krovak where it is a non-default axis orientation). |
| 70 | |
| 71 | == OGRCoordinateTransformation == |
| 72 | |
| 73 | If AXIS values are set on source and/or destination coordinate system, the OGRCoordinateTransformation code will take care of converting into normal easting/northing before calling PROJ.4. |
| 74 | |
| 75 | |
| 76 | |
| 77 | == Questions == |
| 78 | |
| 79 | # Should we try and address the Z axis too? |
| 80 | # Are there values other than EAST, WEST, NORTH and SOUTH in the specification? |
| 81 | # Should we use an enumeration for EAST, WEST, NORTH and SOUTH instead of #define's. |
| 82 | # |