[GRASS-dev] Re: [GRASS GIS] #1527: vector projection over wrapping boundary is split

GRASS GIS trac at osgeo.org
Tue Jan 3 07:49:15 EST 2012


#1527: vector projection over wrapping boundary is split
-----------------------+----------------------------------------------------
  Reporter:  pertusus  |       Owner:  grass-dev@…              
      Type:  defect    |      Status:  reopened                 
  Priority:  normal    |   Milestone:  6.4.2                    
 Component:  Vector    |     Version:  svn-releasebranch64      
Resolution:            |    Keywords:                           
  Platform:  Linux     |         Cpu:  x86-64                   
-----------------------+----------------------------------------------------

Comment(by mmetz):

 Replying to [comment:11 pertusus]:
 > Replying to [comment:10 mmetz]:
 >
 > > Not sure how to handle that. The result of v.select is ok if the grid
 is created on a region with n=90 s=-90 e=360 w=0.
 >
 > But then, unless I have misunderstood something, the same issue will
 arise for the projection of another vector that crosses the 0/360 border?
 Maybe this should be discussed in another bug, but when one has vectors
 all over the world and one wants to work with those vectors, it is not
 possible to find a region in which the vectors do not overlap with a
 boundary.  But I may have missed something.

 When projecting another vector that crosses the 0/360 border, you would
 need again the new -w flag for v.proj and get a result similar to what you
 have now, i.e. in the range 0,360.

 Usually there are only 2 special cases when reprojecting vectors from
 another CRS: either a vector crosses longitude 0 or a vector crosses
 longitude -180/180. The same applies for raster maps. The general
 principle here is that you must decide how to represent the earth in
 latlon, and the two cases -180,180 and 0,360 should cover all
 possibilities.
 >
 > > This would become a problem with e.g. world boundaries wrapped to
 -180,180 instead of 0,360. In this case the world boundaries would need to
 be transformed with x shift = 360, the original and transformed world
 boundaries patched and cleaned (preferably also clipped to 0,360) and then
 used as input for v.select together with the Lambert map.
 >
 > Unless I missed something this will work if the vector boundary does not
 cross the 0/360 boundary, but will it work in a general case?

 This example is devised for a vector crossing the 0,360 boundary.
 Otherwise transformation without patching and cleaning would be
 sufficient.

 Markus M

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



More information about the grass-dev mailing list