Major enhancements
- support for reading from file-like objects and in-memory buffers (#25)
- index of GeoDataFrame created by
read_dataframe
can now optionally be set
to the FID of the features that are read, asint64
dtype. Note that some
drivers start FID numbering at 0 whereas others start numbering at 1. - generalize check for VSI files from
/vsizip
to/vsi
(#29) - add dtype for each field to
read_info
(#30) - support writing empty GeoDataFrames (#38)
- support URI schemes (
zip://
,s3://
) (#43) - add keyword to promote mixed singular/multi geometry column to multi geometry type (#56)
- Python wheels built for Windows, MacOS (x86_64), and Linux (x86_64) (#49, #55, #57, #61, #63)
- automatically prefix zip files with URI scheme (#68)
- support use of a sql statement in read_dataframe (#70)
- correctly write geometry type for layer when dataset has multiple geometry types (#82)
- support reading
bool
,int16
,float32
into correct dtypes (#83) - add
geometry_type
towrite_dataframe
to set geometry type for layer (#85) - Use certifi to set
GDAL_CURL_CA_BUNDLE
/PROJ_CURL_CA_BUNDLE
defaults (#97) - automatically detect driver for
.geojson
,.geojsonl
and.geojsons
files (#101) - read DateTime fields with millisecond accuracy (#111)
- support writing object columns with np.nan values (#118)
- add support to write object columns that contain types different than string (#125)
- support writing datetime columns (#120)
- support for writing missing (null) geometries (#59)
Breaking changes
read
now also returns an optional FIDs ndarray in addition to meta,
geometries, and fields; this is the 2nd item in the returned tuple.
Potentially breaking changes
- Consolidated error handling to better use GDAL error messages and specific
exception classes (#39). Note that this is a breaking change only if you are
relying on specific error classes to be emitted. - by default, writing GeoDataFrames with mixed singular and multi geometry
types will automatically promote to the multi type if the driver does not
support mixed geometry types (e.g.,FGB
, though it can write mixed geometry
types ifgeometry_type
is set to"Unknown"
) - the geometry type of datasets with multiple geometry types will be set to
"Unknown"
unless overridden usinggeometry_type
. Note:
"Unknown"
may be ignored by some drivers (e.g., shapefile)