Thanks for the appreciation and your link. But I must say that this is not centroid in the strictest sense.
What I have done is to find a latitude which lies between the latitudes of the vertices of the polygon and a longitude which lies between the longitudes of the vertices of the polygon. This is clearly not the centroid of the polygon in spherical geometry, as I discover it now. However this serves my purpose in my project, though the real centroid would have been the much desired utopia. I will try to work on this problem of finding the exact centroid of a spherical polygon in my spare time. I have few ideas in my mind which I want to test. Thanks once again. -- regards, ~Apurv Verma B. Tech.(CSE) IIT- Ropar Mobile - 09256587545 On Mon, Aug 1, 2011 at 8:11 AM, Michael Bedward <[email protected]>wrote: > Hi Apurv, > > Many thanks for the link to your code. I've only had a quick scan so > far (sorry - busy with other things at the moment) but if I have any > useful comments to offer when I look at it properly, I'll post them > here. > > Meanwhile, have you seen this polygon-based approach ? (approach > described in last third of doc) It includes some error comparisons > between lat/lon and projected coordinate centroids. > > http://www.jennessent.com/downloads/Graphics_Shapes_Online.pdf > > Michael > > > On 31 July 2011 09:25, Apurv Verma <[email protected]> wrote: > > Hi all, > > Here is a method to calculate a centroid which lies inside a region. > > Well I seem to have finished this coding. > > I have shared a link to the class. > > You just need to invoke the public method findMeanPosition(<the vector of > > longitudes>), This will give you the mean longitude. > > Calculating the mean latitude is easy, it is just a normal mean because > > latitude values range from -90 to 90 so they don't bother us about caring > > about crossing the 180. > > > > At present there are a lot of print statements, which I will remove once > I > > am done with writing the tests for this class. > > > > > https://github.com/dapurv5/phyloGeoRef/blob/master/phyloGeoRef/src/nescent/phylogeoref/processor/utility/ComputeUtility.java > > This is an O (n log n) algorithm where n is the number of points of the > > polygon. Atleast theoretically it works out to be it. > > > > > > -- > > thanks and regards, > > > > ~Apurv Verma > > B. Tech.(CSE) > > IIT- Ropar > > Mobile - 09256587545 > > > > > > > > > > > > > > On Tue, Jul 26, 2011 at 7:55 AM, Michael Bedward < > [email protected]> > > wrote: > >> > >> If the data points span most of the globe then the definition of > >> inside-ness becomes a little difficult :) > >> > >> A link to your algorithm posted to the list would be much appreciated. > >> It could well be useful for other applications. > >> > >> Good luck with it. > >> Michael > >> > >> On 26 July 2011 00:44, Apurv Verma <[email protected]> wrote: > >> > Hi Mike, > >> > Yes on the plane it's easy. But in spherical geometry it's not more so > >> > when > >> > the points may span the entire globe, I have a previous algorithm but > >> > just > >> > wanted to know if there is something ready made already. > >> > Once I implement that algorithm I will post a link to it on the list > >> > here so > >> > that people interested in calculating centroids on the surface of > earth > >> > might use it. > >> > > >> > Sure I will look at R. > >> > > >> > You are really doing a wonderful job, I see you handle a lot of emails > >> > everyday. :P > >> > > >> > ~Apurv Verma > >> > B. Tech.(CSE) > >> > IIT- Ropar > >> > Mobile - 09256587545 > >> > > >> > > >> > > >> > > >> > > >> > > >> > On Mon, Jul 25, 2011 at 6:20 PM, Michael Bedward > >> > <[email protected]> > >> > wrote: > >> >> > >> >> Hi Apurv, > >> >> > >> >> Thanks for that - I understand better now. > >> >> > >> >> I guess by multidimensional scaling you mean any heuristic that would > >> >> give a "good enough" solution with some indication of goodness of > fit, > >> >> e.g. classic MDS but also simulated annealing etc. I don't think > >> >> either GeoTools, or the JTS library which it uses for geometry > >> >> operations, have what you want, though I'd be happy to be corrected > by > >> >> someone else here. > >> >> > >> >> In the plane I **think** that the coordinate that minimizes the sum > of > >> >> distances to all points in a set is the median, ie. centroid.x = > >> >> median of point.xs, centroid.y = median of point.ys. If your points > >> >> are often close together (local or regional scales) you could just > >> >> work with Cartesian coordinates in some convenient map projection. > >> >> However, you emphasize spheroidal distance in your post so I'm > >> >> guessing that your point sets cover a large area. In that case I've > no > >> >> idea whether there is an easy solution, but once again it depends on > >> >> how critical the minimum sum of distances criterion is for your > >> >> application. > >> >> > >> >> GeoTools does have the GeodeticCalculator class which can compute > >> >> distances between points on a spheroid. So you could use that in > >> >> conjunction with an optimizing algorithm from another library. > >> >> > >> >> As an aside, why are you searching in GeoTools for this ? I would > >> >> have thought the first stop would have been R (which has many > packages > >> >> for spatial analysis) or similar. > >> >> > >> >> Sorry I can't be more directly helpful but please let us know how you > >> >> go. > >> >> > >> >> Michael > >> >> > >> >> > >> >> On 25 July 2011 19:32, Apurv Verma <[email protected]> wrote: > >> >> > Hi Michael, > >> >> > I am extremely sorry that I did not cc my message to the list last > >> >> > time. > >> >> > Thanks for providing me with the link. > >> >> > > >> >> > Well let me tell me you my problem in detail. > >> >> > From the pdf I found that the minimum distance centroid would be > the > >> >> > closest > >> >> > that I would want. How can I compute it. However it would be better > >> >> > if > >> >> > something of the following is provided. > >> >> > I have a set of points on the surface of earth. I want to calculate > a > >> >> > central point such that the distance from it to the given points is > >> >> > in > >> >> > required proportion with the additional requirement that this point > >> >> > should > >> >> > be inside the polygon obtained by joining the points. > >> >> > It's easy to see that a such a requirement cannot be perfectly met. > >> >> > Let > >> >> > me > >> >> > give you an analogy in the euclidean geometry rather than spherical > >> >> > geometry. > >> >> > Suppose I have 4 points in the Euclidean plane. I want to calculate > a > >> >> > point > >> >> > which is equidistant/distances in equal proportions to the 4 > points. > >> >> > Now > >> >> > this is not always possible because if I choose a circle to pass > >> >> > through > >> >> > 3 > >> >> > points, it's not necessary that the fourth point too lies on the > >> >> > circle. > >> >> > (because 3 points uniquely define a circle.) > >> >> > So then we can do a kind of multidimensional scaling. Such that we > >> >> > try > >> >> > to > >> >> > find a point which satisfies the criterion as best as it can. > >> >> > While this is challenging enough to calculate on a euclidean plane. > >> >> > Spherical geometry makes things even worse!! > >> >> > > >> >> > I hope I was able to explain myself. Please do ask me if I was not > >> >> > clear. > >> >> > > >> >> > -- > >> >> > thanks and regards, > >> >> > > >> >> > ~Apurv Verma > >> >> > B. Tech.(CSE) > >> >> > IIT- Ropar > >> >> > Mobile - 09256587545 > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > On Mon, Jul 25, 2011 at 1:10 PM, Michael Bedward > >> >> > <[email protected]> > >> >> > wrote: > >> >> >> > >> >> >> Hello, > >> >> >> > >> >> >> Please reply via the list. > >> >> >> > >> >> >> So what sort of centroid do you want ? There are many in common > use > >> >> >> (see > >> >> >> > http://user.gs.rmit.edu.au/rod/files/publications/MSIA_Centroid.pdf > >> >> >> for a comparison of some). > >> >> >> > >> >> >> Or is it enough to have any point that is inside some polygon > formed > >> >> >> by the data points e.g. the convex hull ? > >> >> >> > >> >> >> Michael > >> >> >> > >> >> >> > >> >> >> On 25 July 2011 16:58, Apurv Verma <[email protected]> wrote: > >> >> >> > Yes it is a type of centroid calculation only. > >> >> >> > Given a polygon on the surface of earth, I need to calculate its > >> >> >> > centroid. > >> >> >> > Have a look at this page. > >> >> >> > http://www.fmepedia.com/index.php/InsidePointReplacer > >> >> >> > > >> >> >> > thanks and regards, > >> >> >> > > >> >> >> > ~Apurv Verma > >> >> >> > B. Tech.(CSE) > >> >> >> > IIT- Ropar > >> >> >> > Mobile - 09256587545 > >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > On Mon, Jul 25, 2011 at 10:37 AM, Michael Bedward > >> >> >> > <[email protected]> wrote: > >> >> >> >> > >> >> >> >> Hello Apurv, > >> >> >> >> > >> >> >> >> > I am absolutely new to the geo tool library. In fact I want > to > >> >> >> >> > use > >> >> >> >> > it > >> >> >> >> > for a > >> >> >> >> > specific purpose in the open source project "phyloGeoRef". > >> >> >> >> > >> >> >> >> Great to see taxonomy / biogeography making an appearance here > :) > >> >> >> >> > >> >> >> >> > Here is the > >> >> >> >> > functionality that I want. > >> >> >> >> > >> >> >> >> > Given a set of (lat,long) pairs on the globe. I have to > >> >> >> >> > calculate > >> >> >> >> > the > >> >> >> >> > inside > >> >> >> >> > point replacer for these set of nodes. Is there some function > >> >> >> >> > in > >> >> >> >> > Geo > >> >> >> >> > Tools > >> >> >> >> > that provides this functionality. If not, Is there any other > >> >> >> >> > method > >> >> >> >> > to > >> >> >> >> > do it > >> >> >> >> > ? > >> >> >> >> > >> >> >> >> Can you provide more detail about the required output. I'm not > >> >> >> >> familiar with the term "inside point replacer" and Wikipedia > >> >> >> >> doesn't > >> >> >> >> seem to know it either. Is it a type of centroid calculation ? > >> >> >> >> > >> >> >> >> Michael > >> >> >> > > >> >> >> > > >> >> > > >> >> > > >> > > >> > > > > > >
------------------------------------------------------------------------------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey
_______________________________________________ Geotools-gt2-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
