[GRASS-dev] Re: [GRASS GIS] #1603: vector points made from global raster won't display or interplolate across meridian 0 (was: v.surf.bspline won't interplolate across meridian 0)

GRASS GIS trac at osgeo.org
Sat Mar 17 14:25:36 EDT 2012


#1603: vector points made from global raster won't display or interplolate across
meridian 0
----------------------------+-----------------------------------------------
 Reporter:  cmbarton        |       Owner:  grass-dev@…              
     Type:  defect          |      Status:  new                      
 Priority:  major           |   Milestone:  6.4.3                    
Component:  Raster          |     Version:  unspecified              
 Keywords:  v.surf.bspline  |    Platform:  Unspecified              
      Cpu:  Unspecified     |  
----------------------------+-----------------------------------------------

Comment(by cmbarton):

 Markus,

 I can give some more info on this. I no longer think that it is a problem
 with v.surf.bspline specifically, but with how vectors (and maybe rasters)
 are read in a latlon region. I'll described what I did that caused the
 problem and the work around I discovered.

 **THE PROBLEM**
 I imported a global raster file (paleoclimate file). It's extents are from
 s=90S n=90N w=0W e=0E. I used r.to.vect to create a set of points from the
 center of each grid cell.

 Then I created a region with extents s=24N n=90N w=85W e=35E. I wanted to
 interpolate the points to a higher resolution within this smaller region.
 Only the portion from 0-35E OR 0-85W was interpolated. But when I
 displayed the points, only the points from 0-35E OR 0=85W were displayed.
 So I think that even though I have points both east and west of
 longitude=0, GRASS will only read them on one side or the other of the
 central meridian.

 **THE WORK AROUND**
 After some experimentation, I did made a mask that matched the new region
 (24-90N and 85W-35E) and use r.mapcalc to create a new raster that was
 cropped to match this region. Note that there is no problem in displaying
 or creating a RASTER for this region from the original one.

 Then I made a new point-set from the cropped raster. THIS point-set did
 display correctly in this region and DID interpolate correctly using
 v.surf.bspline. Note that this new point-set is a geographic subset of the
 original global point-set but it displays and is read correctly while the
 portion of the global point-set that lies within the reduced region does
 not.

 So I think the problem is how GRASS is creating and reading the vector
 points. AFAICT, the points in global set that are located geographically
 in my region from 85W to 35E look exactly the same coordinate-wise as the
 points created from the raster cropped to match the region. But somehow
 they are different.

 We need to relabel this ticket, but I'm not sure how best to label it.
 Maybe you can suggest a better label. Something with a vector library or
 other library perhaps? I've changed the name of the ticket.

 Michael

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/1603#comment:4>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list