in h3_latLng.c [378:399]
H3Error H3_EXPORT(cellAreaRads2)(H3Index cell, double *out) {
LatLng c;
CellBoundary cb;
H3Error err = H3_EXPORT(cellToLatLng)(cell, &c);
if (err) {
return err;
}
err = H3_EXPORT(cellToBoundary)(cell, &cb);
if (NEVER(err)) {
// Uncoverable because cellToLatLng will have returned an error already
return err;
}
double area = 0.0;
for (int i = 0; i < cb.numVerts; i++) {
int j = (i + 1) % cb.numVerts;
area += triangleArea(&cb.verts[i], &cb.verts[j], &c);
}
*out = area;
return E_SUCCESS;
}