Skip to content

Experimental C and C++ implementation of the GeoArrow specification

License

Notifications You must be signed in to change notification settings

paleolimbot/geoarrow-c

 
 

Repository files navigation

geoarrow-c

Codecov test coverage Documentation nanoarrow on GitHub

The geoarrow C library is a geospatial type system and generic coordinate-shuffling library written in C with bindings in C++, R, and Python. The library supports well-known binary (WKB), well-known text (ISO) and geoarrow encodings as Arrow extension types with all possible mutual conversions including support for Z, M, and ZM geometries.

The library and bindings are still in draft form pending an initial release of the geoarrow specification.

Get started in Python

import geoarrow.pyarrow as ga

ga.point()
# PointType(geoarrow.point)
ga.point().storage_type
# StructType(struct<x: double, y: double>)
ga.as_geoarrow(["POINT (0 1)"])
# PointArray:PointType(geoarrow.point)[1]
# <POINT (0 1)>

About

Experimental C and C++ implementation of the GeoArrow specification

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 66.5%
  • C++ 20.3%
  • Python 11.1%
  • Cython 1.5%
  • Other 0.6%