| 1184 | } |
| 1185 | |
| 1186 | static double getRingArea(lineObj *ring) |
| 1187 | { |
| 1188 | int i; |
| 1189 | double s=0; |
| 1190 | |
| 1191 | for(i=0; i<ring->numpoints-1; i++) |
| 1192 | s += (ring->point[i].x*ring->point[i+1].y - ring->point[i+1].x*ring->point[i].y); |
| 1193 | |
| 1194 | return (MS_ABS(s/2)); |
| 1195 | } |
| 1196 | |
| 1197 | double msGetPolygonArea(shapeObj *p) |
| 1198 | { |