[GRASS-dev] [GRASS GIS] #1988: towgs84 datum transform options not maintained with shapefile export

Casey Vandenberg casey.vandenberg at sjgeophysics.com
Tue Jun 4 08:56:38 PDT 2013


That does help, thanks.

Casey

On 13-06-03 09:34 PM, GRASS GIS wrote:
> #1988: towgs84 datum transform options not maintained with shapefile export
> --------------------------------+-------------------------------------------
>   Reporter:  voncasec            |       Owner:  grass-dev@…
>       Type:  defect              |      Status:  new
>   Priority:  normal              |   Milestone:  6.4.3
> Component:  Projections/Datums  |     Version:  unspecified
>   Keywords:  g.proj, v.out.ogr   |    Platform:  Linux
>        Cpu:  x86-64              |
> --------------------------------+-------------------------------------------
>
> Comment(by hamish):
>
>   Casey wrote: (grass-dev ML)
>   > Thanks Hamish,
>   >
>   > I assumed it needed to be looked at with GDAL/OGR first when exporting
>   > to a shapefile, I just wasn't sure if this was also the case when using
>   > g.proj -e.
>
>   Hi,
>
>   I did a little digging. You get the TOWGS84 in the WKT if you use 'g.proj
>   -w' and your PERMANENT/PROJ_INFO file has a towgs84 line, but not 'g.proj
>   -we' (-e modifies -w, and triggers it because it implies it). Grid datum
>   transform files are not handled by any variant of Well Known Text afaik (a
>   slight correction to my last comment), except perhaps by using a custom
>   osgeo-family "EXTENSION" keyword, which I'm not sure has been commonly
>   defined yet.
>
>   So the good news is that for generic Shapefile export you could leave off
>   the v.out.ogr/g.prok '-e' flag to use generic WKT, which supports TOWGS84.
>   For export to ESRI products it would be lost though, as ESRI apparently
>   (according to the OGR code) doesn't support TOWGS84 statements in the WKT.
>
>
>   specifically 'g.proj -we' calls GPJ_grass_to_wkt() which if the ESRI-
>   compatibility flag is given calls OGR's OSRMorphToESRI() (aka
>   morphToESRI()).
>
>   morphToESRI() has this comment as it strips away any TOWGS84:
>   {{{
>   /* -------------------------------------------------------------------- */
>   /*      Strip all CT parameters (AXIS, AUTHORITY, TOWGS84, etc).        */
>   /* -------------------------------------------------------------------- */
>   }}}
>
>   OGR's StripCTParms() is called in to do that:
>
>   {{{
>    * This method will remove all components of the coordinate system
>    * that are specific to the OGC CT Specification.  That is it will attempt
>    * to strip it down to being compatible with the Simple Features 1.0
>    * specification.
>   ...
>       poCurrent->StripNodes( "AUTHORITY" );
>       poCurrent->StripNodes( "TOWGS84" );
>       poCurrent->StripNodes( "AXIS" );
>       poCurrent->StripNodes( "EXTENSION" );
>
>       return OGRERR_NONE;
>   }
>   }}}
>
>
>   see grass's lib/proj/convert.c and GDAL/OGR's ogr/ogr_srs_esri.cpp +
>   ogrspatialreference.cpp.
>
>
>
>   so in the case of 'g.proj -w -e' it behaves as expected, TOWGS84 is
>   removed on purpose.
>
>
>   hope it helps,
>   Hamish
>


-- 



More information about the grass-dev mailing list