juliohm
November 10, 2023, 12:00pm
1
GeoIO.jl uses various backend packages spread across different Julia organizations to load a universal representation of geospatial data as discussed in the book Geospatial Data Science with Julia .
The current list of supported formats can be obtained with:
julia> using GeoIO
julia> GeoIO.formats()
┌───────────┬───────────────┬───────────────┐
│ extension │ load │ save │
├───────────┼───────────────┼───────────────┤
│ .geojson │ GeoJSON.jl │ GeoJSON.jl │
│ .gpkg │ ArchGDAL.jl │ ArchGDAL.jl │
│ .gslib │ GslibIO.jl │ GslibIO.jl │
│ .jpeg │ ImageIO.jl │ ImageIO.jl │
│ .jpg │ ImageIO.jl │ ImageIO.jl │
│ .kml │ ArchGDAL.jl │ │
│ .parquet │ GeoParquet.jl │ GeoParquet.jl │
│ .ply │ PlyIO.jl │ │
│ .png │ ImageIO.jl │ ImageIO.jl │
│ .shp │ Shapefile.jl │ Shapefile.jl │
│ .tif │ ImageIO.jl │ ImageIO.jl │
│ .tiff │ ImageIO.jl │ ImageIO.jl │
│ .vtp │ ReadVTK.jl │ │
│ .vtu │ ReadVTK.jl │ │
└───────────┴───────────────┴───────────────┘
Many other formats are being added. If you would like to help, check the list here .
If you are good at reducing pre-compilation time of Julia packages, we highly appreciate your help here .
20 Likes
juliohm
November 13, 2023, 9:15pm
2
GeoIO.jl v1.4.0
Added support to load/save all non-parallel VTK formats with ReadVTK.jl and WriteVTK.jl: .vtu, .vtp, .vts, .vtr, .vti
Needs more testing, but the release is out.
3 Likes
juliohm
December 12, 2023, 8:44pm
3
GeoIO.jl v1.8.0
Added support to load/save STL files with triangle meshes and NetCDF and GRIB files with NCDatasets.jl and GRIBDatasets.jl
4 Likes
GeoIO.jl v1.12
Added support to load/save OBJ, OFF and MSH files with unstructured meshes, and GeoTIFF with lazy transformed grids.
2 Likes
GeoIO.jl v1.14
GeoJSON files are now loaded with native coordinate reference system (CRS) from CoordRefSystems.jl:
Closer look:
1 Like
GeoIO.jl v1.15
Shapefiles are now loaded with native Julia CRS, assuming ESRI WKT or OGC WKT 2 string formats.
4 Likes
GeoIO.jl v1.16
The fix
option in GeoIO.load
was replaced by repair
as explained in the new docstring. The option can be set to false
if repairing geometries by default is not desired (e.g., large geotables).
All repairs are now implemented using Repair
transforms from Meshes.jl
3 Likes
GeoTIFF files are now loaded with native Julia CRS, assuming a projected coordinate system (e.g., Mercator, UTM, etc.). Geographic coordinates are not supported yet.
1 Like
GeoIO.jl v1.16.5
All GeoTIFF files are now loaded with native Julia CRS, including those with a geographic coordinate system.
Cross-posting a concrete example:
A few tweaks here and there, and we are now able to visualize moderately large “raster” data stored in GeoTIFF files with any CRS in native Julia.
To illustrate the feature, consider the following example with data from the NaturalEarth project:
using GeoStats
using GeoIO
import GLMakie as Mke
# https://www.naturalearthdata.com/downloads/50m-raster-data/50m-gray-earth
raster = GeoIO.load("GRAY_50M_SR_OB.tif") |> Coerce(Continuous)
# upscale for 3D mesh visualization
coarse = raster |> Upsca…
GeoIO.jl v1.17
New option lenunit
to specify the unit of coordinates in file formats that don’t include units in their specs (e.g., obj, msh, off, stl)
juliohm
September 25, 2024, 7:18pm
12
GeoIO.jl v1.18
The option lenunit
is now available in all backends.
Breaking
Predefined columns in specific backends are now lowercase.
Example: COLOR → color, DATA → data
1 Like
juliohm
September 30, 2024, 10:35pm
13
GeoIO.jl v1.18.1
All file formats of the CommonDataModel.jl are now loaded with native Julia CRS. This includes the NetCDF format with CF conventions.
1 Like
juliohm
November 1, 2024, 1:51pm
14
GeoIO.jl v1.19
GeoTIFF files are now loaded with native Julia code.
1 Like