[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