[GRASS-dev] G_area_of_polygon through ctypes return 0.0
Pietro
peter.zamb at gmail.com
Sun Jan 20 08:26:45 PST 2013
Hi all,
I'm not able to compute the area of a polygon using G_area_of_polygon,
I define a square with coords: [(0, 0), (0, 2), (2, 2), (2, 0), (0, 0)]) with:
>>> from pygrass.vector.geometry import Boundary
>>> bound = Boundary(points=[(0, 0), (0, 2), (2, 2), (2, 0), (0, 0)])
Check the content of the C structure, with:
>>> for i in xrange(bound.c_points.contents.n_points):
... print i, " (%.1f, %.1f)" % (bound.c_points.contents.x[i],
bound.c_points.contents.y[i])
...
0 (0.0, 0.0)
1 (0.0, 2.0)
2 (2.0, 2.0)
3 (2.0, 0.0)
4 (0.0, 0.0)
It seems ok to me, now use the G_area_polygon function...
>>> import grass.lib.gis as libgis
>>> libgis.G_area_of_polygon(bound.c_points.contents.x,
... bound.c_points.contents.y,
... bound.c_points.contents.n_points)
0.0
Why G_area_of_polygon doesn't return 4.0? What is it wrong?
Best regards
Pietro
More information about the grass-dev
mailing list