Re: [GRASS-user] v.proj pj_transform() failed for points but not for a vector grid

2015-02-03 Thread Patrice Dumas
On Mon, Feb 02, 2015 at 09:29:18AM +0100, Markus Metz wrote:
 On Sat, Jan 31, 2015 at 5:41 PM, Patrice Dumas pertu...@free.fr wrote:
 
  v.proj --verbose input=lon_lat_demand_relocated 
  location=whole_region_demand_map_asiamed_cities
 
 Is lon_lat_demand_relocated really the point selection?

It was not.  I couldn't see that visually, but in fact I had relocated
some points after the v.select and the visual inspection was not enough 
to check that they were out of the grid.

 From your description, the workflow is

It was almost that, as said above, with a relocation of points that
moved some of them outside of the grid.  I readded a last v.select and now
it works correctly.

Thanks a lot, and sorry for the noise.

-- 
Pat
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] v.proj pj_transform() failed for points but not for a vector grid

2015-02-02 Thread Markus Metz
On Sat, Jan 31, 2015 at 5:41 PM, Patrice Dumas pertu...@free.fr wrote:
 Hello,

 grass 6.4.4 on Centos 6 (from EPEL).

 Before I try to turn this into a bug I'd like to be sure that I am not
 doing something stupid with projections (happened in the past...).

 I have a Lambert equal area location and a lon-lat location, the lon-lat
 location covers the whole earth, the Lambert does not.  I would like to
 project some points from the lon-lat location to the Lambert one,
 selecting only those points in a specific region on the Lambert map
 which is much smaller than the whole Lambert map.

 To that aim, I first do a grid vector over the region of interest in
 the Lambert location with v.mkgrid map=region_countries_whole_grid
 grid=40,40 (a rather loose grid such that it is easier to project on
 different locations).  I import that grid in the lon-lat location, use
 it to select points and then, back in the Lambert location use v.proj to
 import the points.  Except that it gives me


 v.proj --verbose input=lon_lat_demand_relocated 
 location=whole_region_demand_map_asiamed_cities

Is lon_lat_demand_relocated really the point selection?

 Input Projection Parameters:  +proj=longlat +a=6378137 +rf=298.257223563 
 +no_defs +towgs84=0.000,0.000,0.000
 Input Unit Factor: 1
 Output Projection Parameters:  +proj=laea +lat_0=55 +lon_0=20 +x_0=0 +y_0=0 
 +no_defs +a=6370997 +b=6370997
 Output Unit Factor: 1
 Reprojecting primitives: WARNING: pj_transform() failed: latitude or 
 longitude exceeded limits
 ERROR: Error in pj_do_transform


 Visually it seems that all the points are on the grid vector (which is
 obviously not a regular grid once projected on the lon-lat location).
 What is very strange is that projecting the grid vector back to the
 Lambert location works, but not projecting the points back??

From your description, the workflow is

# create grid in LAEA
v.mkgrid map=region_countries_whole_grid grid=40,40

# reproject grid to latlong
v.proj in=region_countries_whole_grid location= mapset=

# select points with grid in latlong
v.select ainput=points binput=region_countries_whole_grid atype=point
btype=area operator=overlap output=points_selected

# reproject selected points to LAEA
v.proj in=points_selected
location=whole_region_demand_map_asiamed_cities mapset=

# test: project grid back to LAEA
v.proj in=region_countries_whole_grid
location=whole_region_demand_map_asiamed_cities mapset=


 Am I doing something silly, or does it looks like a bug?

If you are sure that v.proj fails with the selected points, it is a bug.

v.proj will likely fail with all points if the points are distributed
all over the world, that would be correct.


 The Lambert location map comes from HYDRO1K (the eu basins):
   http://edcftp.cr.usgs.gov/pub/data/gtopo30hydro/
   https://lta.cr.usgs.gov/HYDRO1K
   https://lta.cr.usgs.gov/HYDRO1KReadMe
 I used the grass helper to setup the region and it didn't set a datum
 (but it set an ellipsoid).  In the .prj file that comes with vectors,
 there is
   
 PROJCS[Sphere_ARC_INFO_Lambert_Azimuthal_Equal_Area,GEOGCS[GCS_Sphere_ARC_INFO,DATUM[D_Sphere_ARC_INFO,SPHEROID[Sphere_ARC_INFO,6370997.0,0.0]],PRIMEM[Greenwich,0.0],UNIT[Degree,0.0174532925199433]],PROJECTION[Lambert_Azimuthal_Equal_Area],PARAMETER[False_Easting,0.0],PARAMETER[False_Northing,0.0],PARAMETER[Central_Meridian,20.0],PARAMETER[Latitude_Of_Origin,55.0],UNIT[Meter,1.0]]
 but I couldn't find the D_Sphere_ARC_INFO datum in the datum proposed
 by grass.

It's a simple sphere with radius 6370997.0, without datum.

Markus M

 The other information from the .prj file were correctly
 extracted by the grass helper, as far as I can tell.

 --
 Pat
 ___
 grass-user mailing list
 grass-user@lists.osgeo.org
 http://lists.osgeo.org/mailman/listinfo/grass-user
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


[GRASS-user] v.proj pj_transform() failed for points but not for a vector grid

2015-01-31 Thread Patrice Dumas
Hello,

grass 6.4.4 on Centos 6 (from EPEL).

Before I try to turn this into a bug I'd like to be sure that I am not
doing something stupid with projections (happened in the past...).

I have a Lambert equal area location and a lon-lat location, the lon-lat
location covers the whole earth, the Lambert does not.  I would like to
project some points from the lon-lat location to the Lambert one,
selecting only those points in a specific region on the Lambert map
which is much smaller than the whole Lambert map.

To that aim, I first do a grid vector over the region of interest in
the Lambert location with v.mkgrid map=region_countries_whole_grid
grid=40,40 (a rather loose grid such that it is easier to project on
different locations).  I import that grid in the lon-lat location, use
it to select points and then, back in the Lambert location use v.proj to
import the points.  Except that it gives me


v.proj --verbose input=lon_lat_demand_relocated 
location=whole_region_demand_map_asiamed_cities
Input Projection Parameters:  +proj=longlat +a=6378137 +rf=298.257223563 
+no_defs +towgs84=0.000,0.000,0.000
Input Unit Factor: 1
Output Projection Parameters:  +proj=laea +lat_0=55 +lon_0=20 +x_0=0 +y_0=0 
+no_defs +a=6370997 +b=6370997
Output Unit Factor: 1
Reprojecting primitives: WARNING: pj_transform() failed: latitude or longitude 
exceeded limits
ERROR: Error in pj_do_transform


Visually it seems that all the points are on the grid vector (which is
obviously not a regular grid once projected on the lon-lat location).
What is very strange is that projecting the grid vector back to the
Lambert location works, but not projecting the points back??

Am I doing something silly, or does it looks like a bug?




Additional info (similar report and lack of datum):

I found a possibly similar issue reported:
  http://lists.osgeo.org/pipermail/grass-user/2012-June/065049.html
but no definitive answer.  
In some answer to another thread that started with the same issue 
erroneously,
  http://lists.osgeo.org/pipermail/grass-user/2012-October/065805.html 
Markus asked to do a g.region -b, but in fact this does not work in the 
Lambert location for me, as there is no datum information.  Lack of
datum may be a cause of the v.proj issue above, although I doubt it.  

The Lambert location map comes from HYDRO1K (the eu basins):
  http://edcftp.cr.usgs.gov/pub/data/gtopo30hydro/
  https://lta.cr.usgs.gov/HYDRO1K
  https://lta.cr.usgs.gov/HYDRO1KReadMe
I used the grass helper to setup the region and it didn't set a datum
(but it set an ellipsoid).  In the .prj file that comes with vectors,
there is 
  
PROJCS[Sphere_ARC_INFO_Lambert_Azimuthal_Equal_Area,GEOGCS[GCS_Sphere_ARC_INFO,DATUM[D_Sphere_ARC_INFO,SPHEROID[Sphere_ARC_INFO,6370997.0,0.0]],PRIMEM[Greenwich,0.0],UNIT[Degree,0.0174532925199433]],PROJECTION[Lambert_Azimuthal_Equal_Area],PARAMETER[False_Easting,0.0],PARAMETER[False_Northing,0.0],PARAMETER[Central_Meridian,20.0],PARAMETER[Latitude_Of_Origin,55.0],UNIT[Meter,1.0]]
but I couldn't find the D_Sphere_ARC_INFO datum in the datum proposed
by grass.  The other information from the .prj file were correctly
extracted by the grass helper, as far as I can tell.

-- 
Pat
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user