Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Extent metadata support.
Improved show methods for GeoDataFrames and GeometryVectors.
v0.4.4
Added
Added a native CSV driver extension, allowing reading and writing of WKT/WKB geometry columns in CSV files via CSV.jl.
Automatic creation of a spatial index on reading, speeding up subsequent spatial operations.
Added a DimensionalData extension to convert a
Raster/RasterStackto aGeoDataFrame, turning bands into columns while preserving geometry and CRS.Expanded and restructured the documentation, following the Diataxis framework.
v0.4.3
Added
Auto-add GDAL virtual filesystem prefixes (
/vsicurl/,/vsis3/,/vsizip/, etc.) for URLs, cloud storage (S3, GCS, Azure, OSS, Swift) and archives (zip, gz, tar, ...), so these paths can be read directly.Keyword argument checking is now improved and more consistent across driver extensions.
Changed
Read errors are now thrown by default, replacing the unhelpful generic "Unable to open file." message with the underlying GDAL error.
Networked paths are now always read through GDAL's virtual filesystem handling.
Driver options are no longer mutated when passed to
read/write.
Fixed
Error instead of silently misbehaving on schemaless tables.
Fixed writing of empty geometries.
Fixed native Arrow format detection.
Fixed field access on a
DataFrameRow.Fixed
GeometryVectorbecoming 2D when used withsimilar.
v0.4.2
Added
- Implements metadata passthrough for GDAL, allowing table metadata to be preserved on reading/writing when supported by the driver.
Fixed
GeometryVectornow implementdeleteat!correctly, so DataFramesfilter!and similar functions work as expected.
v0.4.1
Added
Keyword argument checking for all driver extensions.
Added
setcrs!andsetgeometrycolumn!utility functions to set the corresponding metadata on a GeoDataFrame.Added a Migration Guide to the documentation.
Fixed
Set
always_xy=trueinreprojectto align with GeometryOps.jl and the wider ecosystem.reprojectnow no longer mutates ArchGDAL geometries in-place, preventing unexpected side-effects.
v0.4.0
Added
Updated documentation, now using VitePress.
Add new driver framework to read files using native drivers.
Added native driver package extensions on GeoJSON, ShapeFile, GeoParquet, GeoArrow and FlatGeobuf.
Geometry columns are now wrapped in a GeometryVector, allowing for future improvements.
Changed
💥 BREAKING: Native driver package extensions will be used instead of ArchGDAL when imported (Shapefile, GeoJSON, GeoArrow, GeoParquet, FlatGeobuf) for reading/writing files of the corresponding format. You can get the old behaviour back by explicitly using the ArchGDALDriver when reading/writing files.
read(GeoDataFrames.ArchGDALDriver(), fn; kwargs)andwrite(GeoDataFrames.ArchGDALDriver(), fn, df; kwargs). See the Migration Guide for more details.💥 BREAKING: Now exports GeometryOps and GeoInterface methods instead of ArchGDAL methods for geometry operations. Not all combinations between GeometryOps and native driver geometries may work (e.g. you need to import
LibGEOSforbuffer), please file an issue if you encounter such a case. You can still use ArchGDAL directly (imported asGeoDataFrames.AG) together with theread/write(ArchGDALDriver(),...)discussed above. See the Migration Guide for more details.The
geom_columnskeyword forwriteis nowgeometrycolumn, and also accepts a single Symbol.
Removed
- Removed automatic broadcast implementations of operations like buffer.
v0.3.13
- Support updating/appending to existing files, by specifying
update=truein thewritefunction.
v0.3.12
- Add
always_xykeyword toreproject.
v0.3.11
Changed
reprojectto work on a DataFrame, correctly setting the (crs) metadataHandle empty layers
Re-export GeoFormatTypes and Extents, making things like
CRSandExtentavailableWarn on possible geometry column instead of throwing an error.
Improve error message when file is not found.
v0.3.10
- Changed DataFrame metadata style to
:note, preserving crs after DataFrame operations.
v0.3.9
Implemented GeoInterface methods on DataFrame(Rows).
Implements transaction support on writing, notably improving writing performance.
v0.3.8
- Retrieve CRS from layer, instead of dataset, preventing some
nothingcrs.
v0.3.7
- Correctly write 3d geometries (which were previously flattened to 2d).
v0.3.6
- Use GDAL to identify drivers, instead of relying only on file extension.
v0.3.5
- Drop support for ArchGDAL 0.9.
v0.3.4
- Use GeoInterface to convert geometries.
v0.3.3
Update to ArchGDAL 0.10
Change default geometry column name to
geometry(wasgeom).
v0.3.2
- Use metadata to store/retrieve CRS and geometry column information.
v0.3.1
- Error out early on non existent files.
v0.3.0
Change
geom_columntogeom_columns, defaulting to using GeoInterface.jl.Added options keyword to pass configuration to the GDAL driver.
Allow any GeoInterface.jl compatible geometry to be written (was only ArchGDAL geometries).
v0.2.4
- Upgrade GeoFormatTypes to v0.4
v0.2.3
- Update ArchGDAL compat to v0.9
v0.2.2
Expanded documentation
Free GDAL structures as soon as possible
v0.2.1
Don't export
isemptyas it clashes with other exportsCompatability with ArchGDAL v0.8 (adds missing support when reading 🎉)
v0.2.0
[breaking] Changed default CRS to
nothinginstead of WGS84.Users can provide a GDAL driver when writing.
v0.1.6
- Add support for (U)Int8,UInt16,UInt32 datatypes
v0.1.5
- Compatability with ArchGDAL v0.7
v0.1.4
readnow accepts layer keywordEnables writing of missing data
v0.1.3
- Forwards kwargs in the
readfunction to ArchGDAL
v0.1.2
- Changed
writeto have keyword arguments
v0.1.1
- Small internal fixes
v0.1.0
- First release 🎉