[GRASS-dev] [GRASS GIS] #3750: Grass 7.7.svn (r74061): CLI location creation: cannot read .prj file for new location
GRASS GIS
trac at osgeo.org
Sat Feb 9 09:46:25 PST 2019
#3750: Grass 7.7.svn (r74061): CLI location creation: cannot read .prj file for
new location
-----------------------+---------------------------------------
Reporter: rshepard | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone:
Component: wxGUI | Version: svn-trunk
Resolution: | Keywords: locaton wizard, .prj file
CPU: x86-32 | Platform: Linux
-----------------------+---------------------------------------
Comment (by mmetz):
Replying to [comment:2 neteler]:
>
>
> {{{
> # write out user's WKT string as .prj file
> echo
'PROJCS["NAD_1983_UTM_Zone_11N",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]]'
> bla.prj
>
> # attempt to generate a new location from it:
> grass77 -c bla.prj ~/grassdata/mylocation
> Starting GRASS GIS...
> Creating new GRASS GIS location <mylocation>...
> ERROR: ERROR 4: `bla.prj' not recognized as a supported file format.
> ERROR: Unable to read georeferenced file <bla.prj> using GDAL library
> }}}
>
>
> I checked further and found a difference between g.proj and
> gdalsrsinfo opening files:
>
> general/g.proj/input.c, line 271 :
> (inofficially: https://github.com/GRASS-GIS/grass-
ci/blob/master/general/g.proj/input.c#L271)
>
> {{{
> if ((gdal_ds = GDALOpen(geofile, GA_ReadOnly))) {
> }}}
>
> apps/gdalsrsinfo.cpp, line 306
> https://github.com/OSGeo/gdal/blob/master/gdal/apps/gdalsrsinfo.cpp#L306
>
> {{{
> poGDALDS = static_cast<GDALDataset *>(GDALOpenEx( pszInput, 0,
> nullptr, nullptr, nullptr ));
> }}}
>
>
> It seems that GDALOpenEx() is more flexible concerning the input (it
> exists since GDAL 2.0):
No, the trick is here:
https://github.com/OSGeo/gdal/blob/a0e1932541cb4edc6d2e254d7af6f64cd0dc0806/gdal/apps/gdalsrsinfo.cpp#L334
If `GDALOpenEx()` fails, it checks if it is a *.prj file
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3750#comment:4>
GRASS GIS <https://grass.osgeo.org>
More information about the grass-dev
mailing list