[ANN] GeoArtifacts.jl - Artifacts for Geospatial Data Science in Julia

GeoArtifacts.jl

The package provides various artifacts (e.g., datasets) for geospatial data science, from various sources (e.g., GADM, INMET, NaturalEarth). The result is always a GeoTable as discussed in the GDSJL book.

Examples

Download administrative boundaries from the GADM repository:

using GeoArtifacts

julia> GADM.get("BRA", depth=1)
27×12 GeoTable over 27 GeometrySet{2,Float64}
┌─────────────┬─────────────┬─────────────┬────────────────────┬──────────────────────┬─────────────┬──────────────────┬──────────────────┬─────────────┬─────────────┬─────────────┬─────────────
│    GID_1    │    GID_0    │   COUNTRY   │       NAME_1       │      VARNAME_1       │  NL_NAME_1  │      TYPE_1      │    ENGTYPE_1     │    CC_1     │   HASC_1    │    ISO_1    │      geome ⋯
│ Categorical │ Categorical │ Categorical │    Categorical     │     Categorical      │ Categorical │   Categorical    │   Categorical    │ Categorical │ Categorical │ Categorical │    MultiPo ⋯
│  [NoUnits]  │  [NoUnits]  │  [NoUnits]  │     [NoUnits]      │      [NoUnits]       │  [NoUnits]  │    [NoUnits]     │    [NoUnits]     │  [NoUnits]  │  [NoUnits]  │  [NoUnits]  │            ⋯
├─────────────┼─────────────┼─────────────┼────────────────────┼──────────────────────┼─────────────┼──────────────────┼──────────────────┼─────────────┼─────────────┼─────────────┼─────────────
│   BRA.1_1   │     BRA     │   Brazil    │        Acre        │          NA          │     NA      │      Estado      │      State       │     NA      │    BR.AC    │    BR-AC    │ Multi(3×Po ⋯
│   BRA.2_1   │     BRA     │   Brazil    │      Alagoas       │          NA          │     NA      │      Estado      │      State       │     NA      │    BR.AL    │    BR-AL    │ Multi(2×Po ⋯
│   BRA.3_1   │     BRA     │   Brazil    │       Amapá        │          NA          │     NA      │      Estado      │      State       │     NA      │    BR.AP    │     NA      │ Multi(3×Po ⋯
│   BRA.4_1   │     BRA     │   Brazil    │      Amazonas      │       Amazone        │     NA      │      Estado      │      State       │     NA      │    BR.AM    │    BR-AM    │ Multi(1×Po ⋯
│   BRA.5_1   │     BRA     │   Brazil    │       Bahia        │         Ba¡a         │     NA      │      Estado      │      State       │     NA      │    BR.BA    │    BR-BA    │ Multi(21×P ⋯
│   BRA.6_1   │     BRA     │   Brazil    │       Ceará        │          NA          │     NA      │      Estado      │      State       │     NA      │    BR.CE    │     NA      │ Multi(1×Po ⋯
│   BRA.7_1   │     BRA     │   Brazil    │  Distrito Federal  │          NA          │     NA      │ Distrito Federal │ Federal District │     NA      │    BR.DF    │    BR-DF    │ Multi(1×Po ⋯
│   BRA.8_1   │     BRA     │   Brazil    │   Espírito Santo   │    Espiritu Santo    │     NA      │      Estado      │      State       │     NA      │    BR.ES    │     NA      │ Multi(84×P ⋯
│   BRA.9_1   │     BRA     │   Brazil    │       Goiás        │     Goiáz|Goyáz      │     NA      │      Estado      │      State       │     NA      │    BR.GO    │     NA      │ Multi(1×Po ⋯
│  BRA.10_1   │     BRA     │   Brazil    │      Maranhão      │ São Luíz de Maranhão │     NA      │      Estado      │      State       │     NA      │    BR.MA    │     NA      │ Multi(61×P ⋯
│  BRA.12_1   │     BRA     │   Brazil    │    Mato Grosso     │     Matto Grosso     │     NA      │      Estado      │      State       │     NA      │    BR.MT    │    BR-MT    │ Multi(1×Po ⋯
│      ⋮      │      ⋮      │      ⋮      │         ⋮          │          ⋮           │      ⋮      │        ⋮         │        ⋮         │      ⋮      │      ⋮      │      ⋮      │         ⋮  ⋱
└─────────────┴─────────────┴─────────────┴────────────────────┴──────────────────────┴─────────────┴──────────────────┴──────────────────┴─────────────┴─────────────┴─────────────┴─────────────
                                                                                                                                                                      1 column and 16 rows omitted

or from the NaturalEarth repository:

julia> NaturalEarth.get("admin_0_countries", 110)
177×169 GeoTable over 177 GeometrySet{2,Float32}
┌─────────────┬───────────────┬───────────────────────┬─────────────┬─────────────┬─────────────┬────────────────────────────────────
│  FCLASS_IL  │   CONTINENT   │        NAME_FA        │    WB_A3    │ ADM0_A3_WB  │  FCLASS_SE  │             NAME_RU               ⋯
│ Categorical │  Categorical  │      Categorical      │ Categorical │ Categorical │ Categorical │           Categorical             ⋯
│  [NoUnits]  │   [NoUnits]   │       [NoUnits]       │  [NoUnits]  │  [NoUnits]  │  [NoUnits]  │            [NoUnits]              ⋯
├─────────────┼───────────────┼───────────────────────┼─────────────┼─────────────┼─────────────┼────────────────────────────────────
│   missing   │    Oceania    │         فیجی          │     FJI     │     -99     │   missing   │              Фиджи                ⋯
│   missing   │    Africa     │       تانزانیا        │     TZA     │     -99     │   missing   │             Танзания              ⋯
│   missing   │    Africa     │      صحرای غربی       │     -99     │     -99     │   missing   │         Западная Сахара           ⋯
│   missing   │ North America │        کانادا         │     CAN     │     -99     │   missing   │              Канада               ⋯
│   missing   │ North America │  ایالات متحده آمریکا  │     USA     │     -99     │   missing   │               США                 ⋯
│      ⋮      │       ⋮       │           ⋮           │      ⋮      │      ⋮      │      ⋮      │                ⋮                  ⋱
└─────────────┴───────────────┴───────────────────────┴─────────────┴─────────────┴─────────────┴────────────────────────────────────
                                                                                                     162 columns and 172 rows omitted

Download meteorological stations from the INMET service:

julia> INMET.stations()
566×13 GeoTable over 566 PointSet{3,Float64}
┌─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬────────────────┬─────────────────┬─────────────────────────┬─────────────┬───────────────────────────────┬────────────────
│ TP_ESTACAO  │ CD_ESTACAO  │  SG_ESTADO  │ CD_SITUACAO │ CD_DISTRITO │    CD_OSCAR    │ DT_FIM_OPERACAO │         CD_WSI          │ SG_ENTIDADE │      DT_INICIO_OPERACAO       │        DC_NOM ⋯
│ Categorical │ Categorical │ Categorical │ Categorical │ Categorical │  Categorical   │     Missing     │       Categorical       │ Categorical │          Categorical          │      Categori ⋯
│  [NoUnits]  │  [NoUnits]  │  [NoUnits]  │  [NoUnits]  │  [NoUnits]  │   [NoUnits]    │    [NoUnits]    │        [NoUnits]        │  [NoUnits]  │           [NoUnits]           │       [NoUnit ⋯
├─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼────────────────┼─────────────────┼─────────────────────────┼─────────────┼───────────────────────────────┼────────────────
│ Automatica  │    A422     │     BA      │    Pane     │      04     │ 0-2000-0-86765 │     missing     │ 0-76-0-2906907000000408 │    INMET    │ 2008-07-20T21:00:00.000-03:00 │       ABROLHO ⋯
│ Automatica  │    A360     │     CE      │  Operante   │      03     │ 0-2000-0-81755 │     missing     │ 0-76-0-2300200000000446 │    INMET    │ 2009-04-21T21:00:00.000-03:00 │        ACARAU ⋯
│ Automatica  │    A657     │     ES      │  Operante   │      06     │ 0-2000-0-86827 │     missing     │ 0-76-0-3200102000000478 │    INMET    │ 2011-09-23T21:00:00.000-03:00 │    AFONSO CLA ⋯
│ Automatica  │    A908     │     MT      │  Operante   │      09     │ 0-2000-0-86686 │     missing     │ 0-76-0-5100201000000157 │    INMET    │ 2006-12-15T21:00:00.000-03:00 │       AGUA BO ⋯
│ Automatica  │    A756     │     MS      │  Operante   │      07     │ 0-2000-0-86812 │     missing     │ 0-76-0-5000203000000463 │    INMET    │ 2010-08-13T21:00:00.000-03:00 │      AGUA CLA ⋯
│ Automatica  │    A045     │     DF      │  Operante   │      10     │ 0-2000-0-86716 │     missing     │ 0-76-0-5300108000000435 │    INMET    │ 2008-10-02T21:00:00.000-03:00 │    AGUAS EMEN ⋯
│ Automatica  │    A549     │     MG      │  Operante   │      05     │ 0-2000-0-86722 │     missing     │ 0-76-0-3101003000000252 │    INMET    │ 2007-09-08T21:00:00.000-03:00 │    AGUAS VERM ⋯
│ Automatica  │    A534     │     MG      │  Operante   │      05     │ 0-2000-0-86803 │     missing     │ 0-76-0-3101102000000239 │    INMET    │ 2007-08-04T21:00:00.000-03:00 │        AIMORE ⋯
│ Automatica  │    A617     │     ES      │  Operante   │      06     │ 0-2000-0-86828 │     missing     │ 0-76-0-3200201000000125 │    INMET    │ 2006-10-24T21:00:00.000-03:00 │        ALEGRE ⋯
│ Automatica  │    A826     │     RS      │  Operante   │      08     │ 0-2000-0-86975 │     missing     │ 0-76-0-4300406000000113 │    INMET    │ 2006-09-27T21:00:00.000-03:00 │       ALEGRET ⋯
│ Automatica  │    A615     │     ES      │  Operante   │      06     │ 0-2000-0-86829 │     missing     │ 0-76-0-3200300000000135 │    INMET    │ 2006-11-02T21:00:00.000-03:00 │    ALFREDO CH ⋯
│      ⋮      │      ⋮      │      ⋮      │      ⋮      │      ⋮      │       ⋮        │        ⋮        │            ⋮            │      ⋮      │               ⋮               │           ⋮   ⋱
└─────────────┴─────────────┴─────────────┴─────────────┴─────────────┴────────────────┴─────────────────┴─────────────────────────┴─────────────┴───────────────────────────────┴────────────────
                                                                                                                                                                    3 columns and 555 rows omitted

If you would like to see a dataset added, please open an issue and we can try to add it to the list. Our experience shows that the package is really useful for teaching.

12 Likes

GeoArtifacts.jl v1.1

This release comes with a complete refactor of the internals to benefit from the various repairs of geometries implemented in GeoIO.jl.

The NaturalEarth submodule is very comprehensive now, allowing users to download all sorts of datasets with clean syntax.

Below is an example where we create a 3D visualization with a “raster” of the Earth, country borders, airports and water ports:

using GeoStats
using GeoArtifacts

import GLMakie as Mke

# download artifacts from naturalearthdata.com
earth    = NaturalEarth.naturalearth1("water")
borders  = NaturalEarth.borders()
airports = NaturalEarth.airports()
ports    = NaturalEarth.ports()

# initialize viewer with a coarse "raster"
earth |> Upscale(10, 5) |> viewer

# add other elements to the visualization
viz!(borders.geometry, color = "cyan")
viz!(airports.geometry, color = "black", pointsize=10, pointmarker='✈')
viz!(ports.geometry, color = "blue", pointsize=10, pointmarker='⚓')

If we append Proj(Robinson) to to all artifacts as in

earth |> Proj(Robinson)

we get a 2D geographic map instead:

5 Likes