[Proj] proj4 string for perfect sphere
Fischer, Robert P. (GISS-6110)[COLUMBIA UNIVERSITY]
robert.p.fischer-1 at nasa.gov
Mon Apr 16 17:24:26 EST 2012
> As for indexing on a sphere, I've used this for a few years now with
> great success:
> My GIS wanderings were to try to find a similar solution for smaller
> datasets without the overhead of creating a new schema, importing the
> data, etc. to take advantage of the optimized indexing. It might be in
> the end that implementing q3c into sqlite or through a Python
> interface is the best solution.
Have you tried creating temporary schemas/tables in PostgreSQL with q3c? Is that fast enough? It sounds like that would be by far the easiest solution for you.
> Thanks very much for the extensive comments. The biggest thing I
> learned about GIS this week (starting from knowing nothing about it
> last week) is that calculations are primarily done on an XY plane
> which are projections of a curved surface. I had naively assumed going
> in that calculations and indices (e.g. spatialite) were optimized for
> the surface of a sphere.
Yes, that's what I surmised too. The good news is, the technique works quite well for local computations, and you often choose whatever projection you like. For example, area of a general closed curve on the surface of a sphere can be computed this way, using any old equal area projection centered near your polygon.
> > 1. You can compute distance between two lat/lon points on a sphere
> > using the Haversine formula or Vincenty's formula specialized to
> > the sphere. They are described at:
> > http://en.wikipedia.org/wiki/Great-circle_distance Code for
> > Haversine is below. Fix it up as needed.
> Thanks for the code. I've been using the law of cosines and wasn't
> aware of the problem at small separations (though this seems to trade
> that problem for one at large separations).
Vincenty's formula solves that problem.
> I will also look at the other links you mentioned. Since all my source
> points are in ra/dec (not 3D cartesian), there will be the computation
> hit to convert them back and forth.
Is this signficant for your problem?
More information about the Proj