/GeoParquet.jl

Geospatial data in Parquet files

Primary LanguageJuliaMIT LicenseMIT

GeoParquet

Stable Dev Build Status Coverage

Adding geospatial data to Parquet. Follows the GeoParquet v0.4 spec.

Usage

Reading geoparquet files can be done with read.

julia> import GeoParquet as GP

julia> url = "https://github.com/opengeospatial/geoparquet/raw/v0.4.0/examples/example.parquet"
julia> fn = download(url)
julia> df = GP.read(fn)
5×6 DataFrame
 Row │ pop_est    continent      name                      iso_a3   gdp_md_est    geometry
     │ Int64?     String?        String?                   String?  Float64?      WellKnow
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1920938  Oceania        Fiji                      FJI        8374.0      WellKnownBinary{Geom, Vector{UIn
   253950935  Africa         Tanzania                  TZA      150600.0      WellKnownBinary{Geom, Vector{UIn
   3603253  Africa         W. Sahara                 ESH         906.5      WellKnownBinary{Geom, Vector{UIn
   435623680  North America  Canada                    CAN           1.674e6  WellKnownBinary{Geom, Vector{UIn
   5326625791  North America  United States of America  USA           1.856e7  WellKnownBinary{Geom, Vector{UIn

Writing requires Table like input with geometry columns that are WellKnownBinary from GeoFormatTypes.

julia> GeoParquet.write("test.parquet", df, (:geometry,))
test.parquet

Features not yet implemented

  • Strict schema and version support
  • GeoInterface FeatureCollection implementation
  • Better access to metadata in read
  • Lazy read option
  • Easier support for ProjJSON

We thank Julia Computing for supporting contributions to this package.