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

**URL:** <https://discourse.julialang.org/t/ann-geoartifacts-jl-artifacts-for-geospatial-data-science-in-julia/114508>\
**Category:** Package Announcements\
**Tags:** package, announcement, data, geo\
**Created:** [May 21, 2024, 12:32pm UTC](https://discourse.julialang.org/t/ann-geoartifacts-jl-artifacts-for-geospatial-data-science-in-julia/114508 "2024-05-21T12:32:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [May 21, 2024, 12:32pm UTC](https://discourse.julialang.org/t/ann-geoartifacts-jl-artifacts-for-geospatial-data-science-in-julia/114508/1 "2024-05-21T12:32:24Z")

</div>

# 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](https://juliaearth.github.io/geospatial-data-science-with-julia) book.

## Examples

Download administrative boundaries from the GADM repository:

```julia
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
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
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.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [August 22, 2024, 10:47pm UTC](https://discourse.julialang.org/t/ann-geoartifacts-jl-artifacts-for-geospatial-data-science-in-julia/114508/2 "2024-08-22T22:47:46Z")

</div>

## 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:

```julia
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='⚓')

```

 ![image](https://global.discourse-cdn.com/julialang/original/3X/4/c/4cd753706a5c7d5a99bc9e2fed469a6aff01de6e.jpeg)

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

```julia
earth |> Proj(Robinson)

```

we get a 2D geographic map instead:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/a/c/ac3817ec8ab23c8c46a83595b7325096be5643be.jpeg)

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [September 26, 2024, 12:36pm UTC](https://discourse.julialang.org/t/ann-geoartifacts-jl-artifacts-for-geospatial-data-science-in-julia/114508/3 "2024-09-26T12:36:43Z")

</div>

# GeoArtifacts.jl v1.2

The INMET submodule is back again to download real time meteorological data referenced as LatLon or LatLonAlt across the Brazil territory.

New GeoBR submodule to download carefully revised data of various entities in Brazil, including indigineous areas, regions, states, etc. This dataset can be very useful for urban planning in the country.
