Zane Selvans wrote: > Well, the translation/rotation on a sphere is just a kind of wish-list > thing... but it would be awfully nice. It seems like someone must > have done that, for re-drawing continental outlines as they drift > across the surface of the earth over time or something. > > What I do need, for instance, is to be able to build up a polyline > object given a starting (lat,lon), an azimuth, and a distance to go. > Like: > > start at (lat0,lon0) > go 10km at a heading (calculated based on my location and time) > what is my new (lat,lon)? > Calculate a new heading (based on my new location and time) > go another 10km along that heading. > etc. > etc. > > saving each of the (lat,lon) points that I stop at, every X km along > the way. > > It needs to work even if I go near a pole, or across the "wrap-around" > point in Longitude. > > Then I need to be able to take that lineament (list of lat,lon points) > and compare its shape to the great circle which best fits its overall > trajectory, e.g. distance to the best-fit great circle from the > lineament as a function of distance along the lineament. > > I want to be able to generate statistically similar synthetic > lineaments, based on a mapped lineament, like, lineaments that have a > similar power spectrum (compared to their best fit great circle), but > a different overall shape, or orientation. > > And I need to be able to calculate the points at which different > lineaments intersect, and the ordering of the intersections along > lineaments... I.e. the lineament object needs to be able to answer the > question, given a set of other lineament obejcts, "who do I intersect > with, and in what order, and how far along me is each of those > intersections?" > > It's only at the very end that I need to be able to take one of these > polylines and send it to the map for visualization. Mostly I need to > be able to analyze it. > > Thanks for any suggestions on packages to look at. > > I should dig deeper into Basemap to see what all it does. > > Zane
Zane: Check out the pyproj module included in basemap, specifically pyproj.Geod (http://pyproj.googlecode.com/svn/trunk/README.html). It can accessed by doing from mpl_toolkits.basemap import pyproj (in svn) from matplotlib.toolkits.basemap import pyproj (in the released version) -Jeff > > Jeff Whitaker wrote: >> Zane Selvans wrote: >>> Hello all, >>> >>> I need to do analysis of vector data (linear features, polylines) on >>> the surface of a sphere. Many of the lines span a significant >>> portion of the circumferance of the the body in question (Jupiter's >>> moon Europa), and I want to be able to do the display of the data >>> and analysis within Matplotlib. >>> >>> Rather than writing my own (probably lame) module for manipulating >>> and generating linear features stored as lists of (lat,lon) points, >>> I'd prefer to build on someone else's work. >>> >>> After a little searching around, it seems like most open GIS >>> packages (e.g. OGL, GDAL) seem to work exclusively within a >>> projected planar space. Am I missing something? Is there anyone >>> else out there that does this kind of thing? What solutions do >>> people have that work well with Matplotlib and the Basemap toolkit? >>> >>> Ideally, I'd like to have the ability to perform transformations on >>> the polylines, rotating and translating them on the surface of the >>> sphere (without having to do the spherical trig myself), and I have >>> to be able to have features cross the "date line" and wrap-around >>> intelligently, calculate great-circle distances (and forward/back >>> azimuths), best-fit great circles, etc. >>> >>> Thanks for any recommendations you might have, >>> Zane >>> >> >> Zane: Basemap can calculate great-circle distances (with >> forward/back azimuths). I'm not to clear on the types of >> transformations you need, but Basemap basically just does the forward >> and inverse transformations from map projection to geographic >> (lat/lon) coordinates. My guess is that it won't do the type of >> rotation and translation that you want to do. >> >> -Jeff >> > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > ------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Jeffrey S. Whitaker Phone : (303)497-6313 NOAA/OAR/CDC R/PSD1 FAX : (303)497-6449 325 Broadway Boulder, CO, USA 80305-3328 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users