|
Science Forum Index » Geology - Satellite Navigation Forum » polygonal area on a sphere
Page 1 of 2 Goto page 1, 2 Next
|
| Author |
Message |
| Guest |
Posted: Wed Feb 21, 2007 10:15 am |
|
|
|
|
Hi,
please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
Thanks in advance.
Moltilimits |
|
|
| Back to top |
|
| Sam Wormley |
Posted: Wed Feb 21, 2007 10:30 am |
|
|
|
Guest
|
moltilimits@gmail.com wrote:
Quote: Hi,
please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
Since you know the coordinates of every vertex, break it into
triangles. The area of every triangle is that triangle's base
times its height divided by two. Sum the areas. |
|
|
| Back to top |
|
| Ed |
Posted: Wed Feb 21, 2007 11:52 am |
|
|
|
Guest
|
Wouldn't that only apply to a plane? For small areas, it likely
wouldn't matter much, but ...
Arthur Hass
Sam Wormley wrote:
Quote: moltilimits@gmail.com wrote:
Hi,
please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
Since you know the coordinates of every vertex, break it into
triangles. The area of every triangle is that triangle's base
times its height divided by two. Sum the areas. |
|
|
| Back to top |
|
| Sam Wormley |
Posted: Wed Feb 21, 2007 12:13 pm |
|
|
|
Guest
|
|
| Back to top |
|
| Ed |
Posted: Wed Feb 21, 2007 1:25 pm |
|
|
|
Guest
|
Well, in "plane geometry," yes. However, the original poster refers to
the "earth's surface." Clearly the earth's surface is not a plane.
I only mean to point out that your suggestion may not arrive at an
acceptable answer for the posters uses.
Sam Wormley wrote:
|
|
|
| Back to top |
|
| Sam Wormley |
Posted: Wed Feb 21, 2007 1:32 pm |
|
|
|
Guest
|
Ed wrote:
Quote: Well, in "plane geometry," yes. However, the original poster refers to
the "earth's surface." Clearly the earth's surface is not a plane.
I only mean to point out that your suggestion may not arrive at an
acceptable answer for the posters uses.
Sam Wormley wrote:
Ed wrote:
Wouldn't that only apply to a plane? For small areas, it likely
wouldn't matter much, but ...
Polygons http://mathworld.wolfram.com/Polygon.html are made up
of planar surfaces.
Least squares fit of an ellipsoid to data points--followed by
http://en.wikipedia.org/wiki/Ellipsoid#Surface_area |
|
|
| Back to top |
|
| Ed |
Posted: Wed Feb 21, 2007 1:42 pm |
|
|
|
Guest
|
Bravo! The web is amazing.
Sam Wormley wrote:
Quote: Ed wrote:
Well, in "plane geometry," yes. However, the original poster refers
to the "earth's surface." Clearly the earth's surface is not a plane.
I only mean to point out that your suggestion may not arrive at an
acceptable answer for the posters uses.
Sam Wormley wrote:
Ed wrote:
Wouldn't that only apply to a plane? For small areas, it likely
wouldn't matter much, but ...
Polygons http://mathworld.wolfram.com/Polygon.html are made up
of planar surfaces.
Least squares fit of an ellipsoid to data points--followed by
http://en.wikipedia.org/wiki/Ellipsoid#Surface_area
|
|
|
| Back to top |
|
| Guest |
Posted: Thu Feb 22, 2007 5:02 am |
|
|
|
|
Quote: Hi,
please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
Since you know the coordinates of every vertex, break it into
triangles. The area of every triangle is that triangle's base
times its height divided by two. Sum the areas.
It's ok like idea, but doesn't exists a formula that uses vertex
coordinates to obtain the result?
Break the area in small trangles is allright, but practically how can
I implement it? I must find a point internal to the polygon and then
consider all the triangles? So, the calculus of the areas isn't very
easy: I know the vertex of the triangle and the calculus of the height
can be difficult.
Must I use the Erone's formula?
Sorry for the questions but I see this problem very difficult for me :-
(
Bye,
moltilimits |
|
|
| Back to top |
|
| Colin Barker |
Posted: Thu Feb 22, 2007 5:29 am |
|
|
|
Guest
|
<moltilimits@gmail.com> a écrit dans le message de news:
1172134968.890468.317230@v45g2000cwv.googlegroups.com...
Quote: Hi,
please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
Since you know the coordinates of every vertex, break it into
triangles. The area of every triangle is that triangle's base
times its height divided by two. Sum the areas.
It's ok like idea, but doesn't exists a formula that uses vertex
coordinates to obtain the result?
Break the area in small trangles is allright, but practically how can
I implement it? I must find a point internal to the polygon and then
consider all the triangles? So, the calculus of the areas isn't very
easy: I know the vertex of the triangle and the calculus of the height
can be difficult.
Must I use the Erone's formula?
Sorry for the questions but I see this problem very difficult for me :-
If you convert your coordinates from latitude/longitude to UTM, and assuming
the points are sufficiently close that they can be considered to be on a
plane, you could calculate the area using the following C code:
/*
* Returns the area of the polygon enclosed by the n points (x[0],y[0])
* to (x[n-1],y[n-1]). The sign of the result is positive if the
* orientation of the polygon is counterclockwise, and negative if it
* is clockwise.
*/
double area(double x[], double y[], unsigned n)
{
unsigned i;
double area;
area = x[n-1]*y[0] - y[n-1]*x[0];
for (i = 0; i < n-1; i++) {
area += x[i]*y[i+1] - y[i]*x[i+1];
}
return area / 2;
}
--
Colin |
|
|
| Back to top |
|
| Dale DePriest |
Posted: Thu Feb 22, 2007 12:13 pm |
|
|
|
Guest
|
moltilimits@gmail.com wrote:
Quote: Hi,
please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
Since you know the coordinates of every vertex, break it into
triangles. The area of every triangle is that triangle's base
times its height divided by two. Sum the areas.
It's ok like idea, but doesn't exists a formula that uses vertex
coordinates to obtain the result?
Break the area in small trangles is allright, but practically how can
I implement it? I must find a point internal to the polygon and then
consider all the triangles?
It does not need to be a point internal. You can use one of the points
you have and then compute the area of the next 2 points, then from the
second point to the third point, etc. until all the area is covered.
This will work so long as all the points are in one direction around the
area. If some points result in a triangle outside the polygon then they
need to be subtracted.
So, the calculus of the areas isn't very
While tedious it is not very hard. It only requires high school level
geometry or trigonometry to perform the calculation. No calculus is
needed. You can get a rough idea simply by plotting the points on a
piece of graph paper. You could even use a protractor (or drafting
triangle for 90 degrees) and dividers to measure the distances. This is
not as accurate but a good learning exercise so that you can get a
handle on what is really going on.
I know the vertex of the triangle and the calculus of the height
Quote: can be difficult.
Must I use the Erone's formula?
Sorry for the questions but I see this problem very difficult for me :-
(
Bye,
moltilimits
Dale
--
_ _ Dale DePriest
/`) _ // http://users.cwnet.com/dalede
o/_/ (_(_X_(` For GPS and GPS/PDAs |
|
|
| Back to top |
|
| J. J. Lodder |
Posted: Thu Feb 22, 2007 6:56 pm |
|
|
|
Guest
|
<moltilimits@gmail.com> wrote:
Quote: Hi,
please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
The area is equal to the spherical excess,
which can be calculated directly from the coordinates.
For small polygons use plane trig,
Jan |
|
|
| Back to top |
|
| Ted Edwards |
Posted: Fri Feb 23, 2007 2:03 pm |
|
|
|
Guest
|
moltilimits@gmail.com wrote:
Quote: please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
If your polygon is small enough to allow you to ignore the Earth's
curvature, you can use the following formula. You need to convert
lat/lon to x-y coordinates. If the polygon lies within one UTM region,
you can just convert lat/lon to UTM and use the UTM coordinates.
area = sum_{i=0}^{n-1} ((x_i + x_{i+1}) (y_{i+1} - y_i)) / 2
where point 0 = point N.
Ted |
|
|
| Back to top |
|
| Guest |
Posted: Mon Feb 26, 2007 7:35 am |
|
|
|
|
Quote: If your polygon is small enough to allow you to ignore the Earth's
curvature, you can use the following formula. You need to convert
lat/lon to x-y coordinates. If the polygon lies within one UTM region,
you can just convert lat/lon to UTM and use the UTM coordinates.
area = sum_{i=0}^{n-1} ((x_i + x_{i+1}) (y_{i+1} - y_i)) / 2
where point 0 = point N.
Is there a general formula in case of the area is between two UTM
regions? |
|
|
| Back to top |
|
| Guest |
Posted: Mon Feb 26, 2007 8:15 am |
|
|
|
|
Quote: Hi,
please, someone can tell me how can I to calculate the area of a
polygon on the earth's surface where I know the coordinates (lat/lon)
of its points?
The area is equal to the spherical excess,
which can be calculated directly from the coordinates.
For small polygons use plane trig,
Please, can you teach me or indicate an url where I can learn to
calculate the spherical excees from (lon, lat) coordinates?
Thanks |
|
|
| Back to top |
|
| Ted Edwards |
Posted: Mon Feb 26, 2007 2:49 pm |
|
|
|
Guest
|
luca.beltramo@gmail.com wrote:
Quote: If your polygon is small enough to allow you to ignore the Earth's
curvature, you can use the following formula. You need to convert
lat/lon to x-y coordinates. If the polygon lies within one UTM region,
you can just convert lat/lon to UTM and use the UTM coordinates.
area = sum_{i=0}^{n-1} ((x_i + x_{i+1}) (y_{i+1} - y_i)) / 2
where point 0 = point N.
Is there a general formula in case of the area is between two UTM
regions?
If you wish constructive answers, you need to provide more information:
Purpose of calculation
Accuracy required
"diameter" of polygon. i.e. what is the maximum of distance between
any two points on the polygon.
How is your math? Calculus? Trig?
If you intend to program the solution, what language?
Ted |
|
|
| Back to top |
|
| |