py-v0.2.0
New! ✨
New I/O support for reading and writing to geospatial formats
- Asynchronous FlatGeobuf reader. This also supports passing a spatial filter.
- Initial support for reading from PostGIS. Note that not all Postgres data types are supported yet. Create an issue if your query fails.
- Reading and writing newline-delimited GeoJSON.
- Pyogrio integration for reading from OGR/GDAL.
- Asynchronous GeoParquet reader for reading from remote files. By @weiji14 in #493
- Also new support for writing GeoParquet files.
- Most I/O readers and writers support Python file-like objects (in binary mode).
- Support for reading and writing Arrow IPC files.
Better interoperability with the Python geospatial ecosystem.
- Import from and export to GeoPandas GeoDataFrames. Refer to the GeoPandas interoperability documentation.
- Import from and export to Shapely arrays. Refer to the Shapely interoperability documentation.
- Better integration with Lonboard for fast visualization in Jupyter.
- All scalars, arrays, chunked arrays, and table objects implement
__geo_interface__
for interoperability with existing tools. - Numpy interoperability for float array output from algorithms. Pass any
Float64Array
orBooleanArray
tonumpy.asarray
. You can also pass a numpy array as vectorized input into a function likeline_interpolate_point
.
New algorithms!
- Explode a Table where each multi-geometry expands into multiple rows of single geometries.
total_bounds
- Unified
area
function for planar and geodesic area. - Unified
simplify
function for multiple simplification methods. Also new support for topology-preserving simplification. - Unified
length
function for euclidean and geodesic length calculations. frechet_distance
for LineString similarity.affine_transform
, which integrates with the Pythonaffine
library.line_interpolate_point
andline_locate_point
for linear referencing.polylabel
for polygon labeling.
Improved display of Python objects:
- Scalars now display as SVG geometries inside Jupyter environments.
- Tables, arrays, and chunked arrays implement
__repr__
so that you can inspect data easily.
Improved usability:
PointArray.from_xy
to simplify creating a point array from numpy arrays of coordinates.- Index into arrays and chunked arrays with square brackets. E.g.
point_array[0]
will access the first point in the array. Negative indexing is also supported, sopoint_array[-1]
will get the last item in the array. - New top-level docs website.
New Contributors
- @Robinlovelace made their first contribution in #484
- @weiji14 made their first contribution in #493
Full Changelog: py-v0.1.0...py-v0.2.0