was: [GRASS-dev] porting r.in.wms to python wrt: angle between grid north and true north
> Hamish wrote: > > does anyone know of a libgis function that will return > > the current projection+coordinate's convergence angle WRT true north? > > A method to find that with the `proj` program is given here: > http://grass.osgeo.org/wiki/Ps.map_scripts#Creating_a_fancy_North_Arrow Glynn: > The -V option is handled by vprocess() in proj.c (in PROJ); after > converting to/from lat/lon, it basically just calls pj_factors() (in > pj_factors.c) then prints out all of the values. > > The following code (from r.proj) will get you the "struct pj_info" for > the current location. > > struct pj_info oproj; > > /* Get projection info for output mapset */ > if ((out_proj_info = G_get_projinfo()) == NULL) > G_fatal_error(_("Unable to get projection info of output raster map")); > > if ((out_unit_info = G_get_projunits()) == NULL) > G_fatal_error(_("Unable to get projection units of output raster map")); > > if (pj_get_kv(&oproj, out_proj_info, out_unit_info) < 0) > G_fatal_error(_("Unable to get projection key values of output raster > map")); > > The "pj" field (i.e. oproj.pj) is the projPJ* which the PROJ library > wants. You should then be able to use pj_factors() directly to get the > convergence angle, e.g.: > > LP lp = { <lat, long> }; > struct FACTORS fact; > pj_factors(lp, oproj.pj, 0.0, &fac); > convergence = fac.conv; Hi, I am trying to add this as "g.region -n" now, some questions: 1) local_proto.h: what's next in this series: #define PRINT_REG 0x01 #define PRINT_SH 0x02 #define PRINT_LL 0x04 #define PRINT_EXTENT 0x08 #define PRINT_CENTER 0x10 #define PRINT_METERS 0x20 #define PRINT_3D 0x40 #define PRINT_MBBOX 0x80 #define PRINT_NANGLE 0x ??? 2) #include <projects.h> to get LP, FACTOR, and pj_factors() ? 3) The compiler complains that arg 2 of pj_factors(, oproj.pj,) is of an incompatible pointer type. If I make it *oproj.pj it doesn't complain but the output fact.conv is always 0.00000. ? thanks, Hamish _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev