|
Geometry : |
Subject: [ggl] Move a point_ll by a distance
From: Richard Ulrich (richi)
Date: 2009-10-20 17:19:52
Hi Barend,
thanks for helping.
If I try to view the file, SVN asks me for username / password.
And updating my working copy from boost sandbox I don't see the file.
Can you send it to me?
Of course you can mention my projects although I'm using only a small
fraction of ggl:
http://sourceforge.net/projects/flugbuch2
For the flight logbook, I use the ggl classes mainly for typesafety
reasons. geometry::point_ll is more expressive and saver than
std::pair<double, double>. Additionally I use distance calculation.
And for the future, I think I read somewhere in the docs about grid
conversions (Hopefully SwissGrid and UTM are already supported)
http://sourceforge.net/projects/flightpred
For my new project I started using ggl for the same typesafety concerns.
At the moment I want to use it to define the bounding box for the
postgis indexed lookup. More will follow.
At work we develop a commercial CAD system. I told a college about ggl
and he was interested. But for use there we would wait at least for it
to be included in the official boost distribution. And the hardest part
would be to convince our boss who prefers void pointers over templates.
Rgds
Richard
On Tue, 2009-10-20 at 12:00 -0400, ggl-request_at_[hidden] wrote:
> It is not there, but (considering the earth as a sphere) it is not
> difficult because the necessary formulae are on this (great) website:
> http://williams.best.vwh.net/avform.htm
>
> It is useful, so I added it to an example, which is (now) here:
> https://svn.geodan.nl/repos/holding/geolib/trunk/src/cpp/library/gl/libs/ggl/example/extensions/gis/latlong/point_ll_example.cpp
>
> It contains functions get_course (in case you need it) and
> point_at_distance (the one you're looking for). For Amsterdam-Paris it
> works great:
>
> // Other way round: have Amsterdam and go 430 km to the south (first calculate direction)
> double tc = get_course(amsterdam_rad, paris_rad);
> std::cout << "Course: " << (tc * ggl::math::r2d) << std::endl;
>
> point_ll_deg paris_calculated;
> point_at_distance(amsterdam_rad, 430 * 1000.0, tc, average_earth_radius, paris_calculated);
> std::cout << "Paris calculated (degree): " << ggl::dsv(paris_calculated) << std::endl;
>
> and it outputs:
> Paris: (2.33306, 48.8667)
> [...]
> Course: 154.156037
> Paris calculated (degree): (2.33150351, 48.8643588)
>
> Note that the point is calculated using spherical formulae, so not
> geodetical. If those formulae exist, I'm interested (didn't search for
> them this morning). If not, and the spherical is not satisfactory, you
> could start with the spherical and than make the point more precise in a
> few steps using the Andoyer or Vincenty distance.
>
> By the way, thanks for using GGL. Are we allowed to mention that on the
> website? If yes, can you describe your use-case in one or two lines?
>
> Regards, Barend
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://lists.osgeo.org/pipermail/ggl/attachments/20091020/480e0be2/attachment-0001.html
>
> ------------------------------
>
> _______________________________________________
> ggl mailing list
> ggl_at_[hidden]
> http://lists.osgeo.org/mailman/listinfo/ggl
>
>
> End of ggl Digest, Vol 6, Issue 13
> **********************************
>
Geometry list run by mateusz at loskot.net