#654: g.proj -c fails with ERROR: region for current mapset is not set run
"g.region"
----------------------+-----------------------------------------------------
Reporter: hamish | Owner: grass-dev@lists.osgeo.org
Type: defect | Status: new
Priority: critical | Milestone: 6.4.0
Component: default | Version: 6.4.0 RCs
Keywords: g.proj | Platform: All
Cpu: All |
----------------------+-----------------------------------------------------
As reported on grass-user
{{{
g.proj -c georef=swilAlphaTIFF.tif location=tset
}}}
fails with recent builds. I can reproduce on linux.
I traced this back to r37726 where wind_format.c's format_double()
uses G_projection() which wants to check the projection type (and that
hasn't been created yet).
I think the solution is to create a new lib fn
{{{
char *G_format_number(double value, int dp);
}}}
so modules don't have to lie to G_format_northing() about their projection
type in order to get numeric output from lat/lon locations. then we can
get rid of G_projection() from format_double().
Either that or finally implement GRASS_DMS_STYLE variable and temporarily
set that to numeric degree style.
#654: g.proj -c fails with ERROR: region for current mapset is not set run
"g.region"
-----------------------+----------------------------------------------------
Reporter: hamish | Owner: grass-dev@lists.osgeo.org
Type: defect | Status: new
Priority: critical | Milestone: 6.4.0
Component: default | Version: 6.4.0 RCs
Resolution: | Keywords: g.proj
Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by hamish):
Replying to [ticket:654 hamish]:
> wind_format.c's format_double() uses G_projection() which wants
> to check the projection type (and that hasn't been created yet).
actually it has in a way,
the top two lines of PERMANENT/DEFAULT_WIND are written:
{{{
proj: 99
zone: 0
}}}
#654: g.proj -c fails with ERROR: region for current mapset is not set run
"g.region"
-----------------------+----------------------------------------------------
Reporter: hamish | Owner: grass-dev@lists.osgeo.org
Type: defect | Status: new
Priority: critical | Milestone: 6.4.0
Component: default | Version: 6.4.0 RCs
Resolution: | Keywords: g.proj
Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by hamish):
> I think the solution is to create a new lib fn
> char *G_format_number(double value, int dp);
better, path of least change: allow G_format_northing() etc to accept "-1"
for projection type which in this instance can mean use "%.15g"
independent of the projection.
#654: g.proj -c fails with ERROR: region for current mapset is not set run
"g.region"
-----------------------+----------------------------------------------------
Reporter: hamish | Owner: grass-dev@lists.osgeo.org
Type: defect | Status: new
Priority: critical | Milestone: 6.4.0
Component: default | Version: 6.4.0 RCs
Resolution: | Keywords: g.proj
Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by hamish):
patch attached, but that's the easy part. It turns out a lot of modules
are already using proj == -1 or similar to fool G_format_*() into
outputting numerical output instead of DMS for certain tasks. i.e. this
patch, or something like it, is long overdue.
need to audit all of the custom workarounds before applying..
#654: g.proj -c fails with ERROR: region for current mapset is not set run
"g.region"
-----------------------+----------------------------------------------------
Reporter: hamish | Owner: grass-dev@lists.osgeo.org
Type: defect | Status: new
Priority: critical | Milestone: 6.4.0
Component: default | Version: 6.4.0 RCs
Resolution: | Keywords: g.proj
Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by hamish):