Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo
Close
From: Apurv Verma <dapurv5@gm...>  20110725 00:50:00
Attachments:
Message as HTML

Hii all, 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". 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 ?  thanks and regards, ~Apurv Verma B. Tech.(CSE) IIT Ropar 
From: Michael Bedward <michael.bedward@gm...>  20110725 05:07:45

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 
From: Michael Bedward <michael.bedward@gm...>  20110725 07:40:21

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 <dapurv5@...> 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 > <michael.bedward@...> 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 > > 
From: Apurv Verma <dapurv5@gm...>  20110725 09:32:40
Attachments:
Message as HTML

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 <michael.bedward@...>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 <dapurv5@...> 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 > > <michael.bedward@...> 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 > > > > > 
From: Michael Bedward <michael.bedward@gm...>  20110725 12:50:49

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 <dapurv5@...> 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 <michael.bedward@...> > 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 <dapurv5@...> 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 >> > <michael.bedward@...> 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 >> > >> > > > 
From: Apurv Verma <dapurv5@gm...>  20110725 14:44:41
Attachments:
Message as HTML

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 <michael.bedward@...>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 <dapurv5@...> 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 < > michael.bedward@...> > > 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 <dapurv5@...> 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 > >> > <michael.bedward@...> 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 > >> > > >> > > > > > > 
From: Michael Bedward <michael.bedward@gm...>  20110726 02:25:21

If the data points span most of the globe then the definition of insideness 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 <dapurv5@...> 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 <michael.bedward@...> > 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 <dapurv5@...> 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 >> > <michael.bedward@...> >> > 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 <dapurv5@...> 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 >> >> > <michael.bedward@...> 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 >> >> > >> >> > >> > >> > > > 
From: Apurv Verma <dapurv5@gm...>  20110730 23:26:00
Attachments:
Message as HTML

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 <michael.bedward@...>wrote: > If the data points span most of the globe then the definition of > insideness 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 <dapurv5@...> 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 < > michael.bedward@...> > > 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 <dapurv5@...> 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 > >> > <michael.bedward@...> > >> > 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 <dapurv5@...> 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 > >> >> > <michael.bedward@...> 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 > >> >> > > >> >> > > >> > > >> > > > > > > 
From: Michael Bedward <michael.bedward@gm...>  20110801 02:41:18

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 polygonbased 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 <dapurv5@...> 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 <michael.bedward@...> > wrote: >> >> If the data points span most of the globe then the definition of >> insideness 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 <dapurv5@...> 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 >> > <michael.bedward@...> >> > 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 <dapurv5@...> 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 >> >> > <michael.bedward@...> >> >> > 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 <dapurv5@...> 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 >> >> >> > <michael.bedward@...> 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 >> >> >> > >> >> >> > >> >> > >> >> > >> > >> > > > 
From: Apurv Verma <dapurv5@gm...>  20110801 03:51:41
Attachments:
Message as HTML

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 <michael.bedward@...>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 polygonbased 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 <dapurv5@...> 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 < > michael.bedward@...> > > wrote: > >> > >> If the data points span most of the globe then the definition of > >> insideness 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 <dapurv5@...> 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 > >> > <michael.bedward@...> > >> > 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 <dapurv5@...> 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 > >> >> > <michael.bedward@...> > >> >> > 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 <dapurv5@...> 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 > >> >> >> > <michael.bedward@...> 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 > >> >> >> > > >> >> >> > > >> >> > > >> >> > > >> > > >> > > > > > > 