[GRASS-dev] Re: [GRASS GIS] #773: r.in.gdal unclean import of
southern UTM zone
GRASS GIS
trac at osgeo.org
Sat Oct 10 05:46:59 EDT 2009
#773: r.in.gdal unclean import of southern UTM zone
---------------------------------+------------------------------------------
Reporter: hamish | Owner: grass-dev at lists.osgeo.org
Type: defect | Status: new
Priority: major | Milestone: 6.4.0
Component: Projections/Datums | Version: svn-develbranch6
Resolution: | Keywords: r.in.gdal, utm
Platform: Unspecified | Cpu: Unspecified
---------------------------------+------------------------------------------
Comment (by hamish):
Replying to [comment:1 pkelly]:
> How long ago was the location created? g.setproj had a bugfix on
> 7 October 2003 to create a negative zone number for southern
> hemisphere UTM locations
It was created a few days ago with "grass65 -text" and a new location
name, then defined by following the prompts.
> Are you saying that that doesn't work (i.e. the negative zone
> doesn't go into the WINDOW file)
negative zone number doesn't make it into WIND, DEFAULT_WIND, or
PROJ_INFO.
> because libgis doesn't handle negative zone numbers? If so that
> would make this an incredibly long-running bug...
I've used southern hemisphere UTMs for ages without problems. I guess the
"new" thing here is r.in.gdal imported data actually gets it right?
the PROJ_INFO file has
{{{
zone: (some positive number)
south: defined
}}}
so to me putting a negative zone in PROJ_INFO is just confusing+redundant,
and so that part seems ok. (PROJ.4 uses +south to define a southern UTM
btw)
The WIND and cellhd files can not have a "south: defined" tag as south: is
used for the bound, so it should get a negative zone number there.
r.in.gdal is doing that for cellhd files (but eg r.mapcalc does not for
new maps), and WIND files are not getting it.
Part of the solution I think is to have G!__.window.zone report a negative
int for southern UTMs. That would mean that anything which writes a new
raster or WIND file should do that too.
(should opencell.c be using G_zone() instead?)
To avoid massive breakage from that we'd also have to improve the logic of
G!__open_cell_old() to test the abs() of the zone number and the south-
ness of the projection (but how?).
Everything seems to run through the WIND file and not the PROJ_INFO file,
so setting it in DEFAULT_WIND correctly seems to be the first step at
fixing this properly.
which brings us back to g.setproj/main.c which is currently asking the
'South Hemisphere? [n]' question BEFORE the 'Enter Zone:' prompt, so when
you enter the zone number it clobbers the cellhd.zone variable. The South
question has to come after, somehow.
Hamish
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/773#comment:2>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list