Skip to content

Vectorized geodesic area / length calculations #1487

@brendan-ward

Description

@brendan-ward

As mentioned in GeoPandas #3539, there is interest in using pyproj to calculate geodesic areas and lengths. The current pyproj API (Geod::geometry_area_perimeter) for this uses singular shapely objects, which is less than ideal for (potentially large) arrays of geometries. Given the push for vectorized APIs in Shapely 2.0 and their adoption in GeoPandas, it seems like there would be considerable performance benefit to providing a vectorized API in pyproj for calculating geodesic area and length. These would need to be implemented in the Cython wrapper on top of GeographicLib (I have a starting point for geodesic area I'd be happy to share).

However, it looks like numpy is only a test dependency here rather than a hard dependency, and I think we'd need to rely on numpy (in the Cython wrapper) to vectorize this properly (i.e., accept an array of shapely geometries). I suspect that the decision about integrating numpy is the more substantive part of this idea.

Is there interest in providing vectorized capabilities for geodesic area / length? What are your thoughts about integrating numpy for this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    proposalIdea for a new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions