[GRASS-dev] [GRASS GIS] #2456: read CSV from GDAL data directory
Paul Kelly
paul-grass at stjohnspoint.co.uk
Mon Apr 25 16:34:24 PDT 2016
Hi Markus,
On 04/25/2016 11:27 PM, Markus Neteler wrote:
>
> I have now submitted the changes along with the addition of some code
> comments as per your emails in:
> https://trac.osgeo.org/grass/changeset/68308
>
> Hope I got it right! If yes, I'll backport that.
Yes, that all looks correct to me.
> Now I have recompiled trunk and made a new test with SIRGAS2000 (seems
> to be an interesting test case besides Krovak):
>
> grass71 -c epsg:4674 ~/grassdata/SIRGAS2000
>
> GRASS 7.1.svn (SIRGAS2000):~ > g.proj -w
> PROJCS["SIRGAS 2000",
> GEOGCS["grs80",
> DATUM["Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000",
> SPHEROID["Geodetic_Reference_System_1980",6378137,298.257222101]],
> PRIMEM["Greenwich",0],
> UNIT["degree",0.0174532925199433]]]
>
> ... which still differs from ...
>
> GRASS 7.1.svn (SIRGAS2000):~ > testepsg epsg:4674
> Validate Succeeds.
> WKT[epsg:4674] =
> GEOGCS["SIRGAS 2000",
> DATUM["Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000",
> SPHEROID["GRS 1980",6378137,298.257222101,
> AUTHORITY["EPSG","7019"]],
> TOWGS84[0,0,0,0,0,0,0],
> AUTHORITY["EPSG","6674"]],
> PRIMEM["Greenwich",0,
> AUTHORITY["EPSG","8901"]],
> UNIT["degree",0.0174532925199433,
> AUTHORITY["EPSG","9122"]],
> AUTHORITY["EPSG","4674"]]
> ...
>
> The main difference is that GRASS actually generates it as PROJCS
> while GDAL generates it as GEOGCS. Hence a reverse test of the g.proj
> output checked in testepsg fails at time.
The code handling this was changed pretty recently:
https://trac.osgeo.org/grass/changeset/68131/
Simply deleting three lines from that revision fixes it for me (see
below) - the PROJCS name seems to be being set unconditionally even when
it's not a projected co-ordinate system. Deleting this doesn't seem to
cause any regression as the PROJCS name is already set later in the
GPJ_grass_to_osr() function.
I haven't committed it as it should probably be tested first with a few
different types of co-ordinate system, and I don't have time for that at
the minute unfortunately.
Paul
--- lib/proj/convert.c (revision 68310)
+++ lib/proj/convert.c (working copy)
@@ -141,9 +141,6 @@
return NULL;
}
G_free(proj4mod);
- sysname = G_find_key_value("name", proj_info);
- if (sysname)
- OSRSetProjCS(hSRS, sysname);
if ((errcode = OSRExportToWkt(hSRS, &wkt)) != OGRERR_NONE) {
G_warning(_("OGR can't get WKT-style parameter string "
More information about the grass-dev
mailing list