# Workflow for flotting GPS data over map background

**URL:** <https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522>\
**Category:** Geo\
**Created:** [June 7, 2021, 2:07pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522 "2021-06-07T14:07:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 2:07pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/1 "2021-06-07T14:07:53Z")

</div>

The workflow for plotting GPS data over a map background with a given projection is pretty common. However, I did not find any tutorial or documentation about it. [https://juliageo.org/](https://juliageo.org/) mentions many packages to deal with this kind of data but all deal with specific part of the job.  
These examples ([1](https://gist.github.com/jpwspicer/bd738886467c56c5d029), [2](https://gist.github.com/jpwspicer/91c75f5cf7a2354fbb2d)) look like what I’m looking for but deal with python bindings. Any pointer?

---

<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:** [June 7, 2021, 2:14pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/2 "2021-06-07T14:14:32Z")

</div>

If you can share an example data set we can try to help you. If you are after a pure Julia experience, check the GeoStats.jl stack. It contains all sorts of visualizations of geospatial data with a consistent interface: [[ANN] Announcing Meshes.jl - #33 by juliohm](https://discourse.julialang.org/t/ann-announcing-meshes-jl/53973/33)

---

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 2:27pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/3 "2021-06-07T14:27:37Z")

</div>

I’m planning to plot this open data: [https://g1-stats.axiom-team.fr/data/geoloc-members.json](https://g1-stats.axiom-team.fr/data/geoloc-members.json). Here is a detailed example workflow that could be automatized:

- download geo data
- download vector objects like country boundaries, main cities boundaries
- plot one on top of the other with custom colors
- repeat plot for many frames to produce an animation

I’ll explore GeoStats.

PS:  
these data can already be visualized in browser at this link: [WorldWotMap Ğ1](https://txmn.tk/g1/worldwotmap/)  
but I wish to fit it in my Julia workflow.

---

<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:** [June 7, 2021, 2:45pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/4 "2021-06-07T14:45:34Z")

</div>

First try to load the data with GeoJSON.jl or alternative package. At the end you should have a table with a `geometry` column. This table could then be plotted directly.

For the country boundaries, etc. You can use GeoTables.jl directly to download any region in the world. The link I shared above has examples.

---

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 3:05pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/5 "2021-06-07T15:05:11Z")

</div>

> [@juliohm](#):
>
> For the country boundaries, etc. You can use GeoTables.jl directly to download any region in the world. The link I shared above has examples.

Thanks for GeoTables utility which helps automating the download of shapefile!

In the example, you’re plotting the geo data using MeshViz. I don’t feel it’s the good way to go to display vectorial data (why would you like tho turn them to a mesh?). Plus I get a crash with this stacktrace:

```julia
julia> viz(FRA.geometry)
Illegal inttoptr
          %269 = ptrtoint [1 x [1 x [2 x double]]] addrspace(13)* %259 to i64, !dbg !264
Illegal inttoptr
          %270 = inttoptr i64 %269 to {} addrspace(10)*, !dbg !264

signal (6): Abandon
in expression starting at REPL[31]:1
gsignal at /usr/bin/../lib/libc.so.6 (unknown line)
abort at /usr/bin/../lib/libc.so.6 (unknown line)
unknown function (ip: 0x7f84c8a8a333)
_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
unknown function (ip: 0x7f84c8b95a2c)
_ZN4llvm3orc14IRCompileLayer4emitENS0_29MaterializationResponsibilityENS0_16ThreadSafeModuleE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
_ZN4llvm3orc31BasicIRLayerMaterializationUnit11materializeENS0_29MaterializationResponsibilityE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
unknown function (ip: 0x7f84c55aaaff)
unknown function (ip: 0x7f84c55aac5d)
_ZN4llvm3orc16ExecutionSession17runOutstandingMUsEv at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
_ZN4llvm3orc16ExecutionSession6lookupENS0_10LookupKindERKSt6vectorISt4pairIPNS0_8JITDylibENS0_19JITDylibLookupFlagsEESaIS8_EENS0_15SymbolLookupSetENS0_11SymbolStateENS_15unique_functionIFvNS_8ExpectedINS_8DenseMapINS0_15SymbolStringPtrENS_18JITEvaluatedSymbolENS_12DenseMapInfoISI_EENS_6detail12DenseMapPairISI_SJ_EEEEEEEEESt8functionIFvRKNSH_IS6_NS_8DenseSetISI_SL_EENSK_IS6_EENSN_IS6_SV_EEEEEE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
_ZN4llvm3orc16ExecutionSession6lookupERKSt6vectorISt4pairIPNS0_8JITDylibENS0_19JITDylibLookupFlagsEESaIS7_EERKNS0_15SymbolLookupSetENS0_10LookupKindENS0_11SymbolStateESt8functionIFvRKNS_8DenseMapIS5_NS_8DenseSetINS0_15SymbolStringPtrENS_12DenseMapInfoISK_EEEENSL_IS5_EENS_6detail12DenseMapPairIS5_SN_EEEEEE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
_ZN4llvm3orc16ExecutionSession6lookupERKSt6vectorISt4pairIPNS0_8JITDylibENS0_19JITDylibLookupFlagsEESaIS7_EENS0_15SymbolStringPtrENS0_11SymbolStateE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
_ZN4llvm3orc16ExecutionSession6lookupENS_8ArrayRefIPNS0_8JITDylibEEENS0_15SymbolStringPtrENS0_11SymbolStateE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
_ZN4llvm3orc16ExecutionSession6lookupENS_8ArrayRefIPNS0_8JITDylibEEENS_9StringRefENS0_11SymbolStateE at /usr/bin/../lib/julia/../libLLVM-11.so (unknown line)
unknown function (ip: 0x7f84c8b99544)
unknown function (ip: 0x7f84c8b9b22b)
unknown function (ip: 0x7f84c8b9c5f2)
unknown function (ip: 0x7f84c8b9dab0)
unknown function (ip: 0x7f84c8b1670f)
jl_apply_generic at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
iterate at ./generator.jl:47 [inlined]
collect at ./array.jl:678
unknown function (ip: 0x7f84507b44b1)
bridge at /home/hugo/.julia/packages/Meshes/5SpQw/src/polytopes.jl:173
unknown function (ip: 0x7f84507b41a1)
unknown function (ip: 0x7f84507ae4c6)
unknown function (ip: 0x7f84507ae490)
|> at ./operators.jl:858 [inlined]
discretize at /home/hugo/.julia/packages/Meshes/5SpQw/src/discretization.jl:25
#195 at /home/hugo/.julia/packages/Meshes/5SpQw/src/discretization.jl:20 [inlined]
MappingRF at ./reduce.jl:93 [inlined]
_foldl_impl at ./reduce.jl:58
foldl_impl at ./reduce.jl:48 [inlined]
mapfoldl_impl at ./reduce.jl:44 [inlined]
#mapfoldl#214 at ./reduce.jl:160 [inlined]
mapfoldl at ./reduce.jl:160 [inlined]
#mapreduce#218 at ./reduce.jl:287 [inlined]
mapreduce at ./reduce.jl:287 [inlined]
discretize at /home/hugo/.julia/packages/Meshes/5SpQw/src/discretization.jl:19 [inlined]
triangulate at /home/hugo/.julia/packages/MeshViz/GpoD2/src/collection.jl:21 [inlined]
_broadcast_getindex_evalf at ./broadcast.jl:648 [inlined]
_broadcast_getindex at ./broadcast.jl:621 [inlined]
getindex at ./broadcast.jl:575 [inlined]
copy at ./broadcast.jl:922 [inlined]
materialize at ./broadcast.jl:883
unknown function (ip: 0x7f84507aee21)
plot! at /home/hugo/.julia/packages/MeshViz/GpoD2/src/collection.jl:40
unknown function (ip: 0x7f845401b1d1)
plot! at /home/hugo/.julia/packages/Makie/u02af/src/interfaces.jl:815
#plot!#218 at /home/hugo/.julia/packages/Makie/u02af/src/interfaces.jl:642 [inlined]
plot!##kw at /home/hugo/.julia/packages/Makie/u02af/src/interfaces.jl:641
unknown function (ip: 0x7f8454015f66)
unknown function (ip: 0x7f84c8b26f24)
#viz!#2 at /home/hugo/.julia/packages/Makie/u02af/src/recipes.jl:19
unknown function (ip: 0x7f84c8b26f24)
viz!##kw at /home/hugo/.julia/packages/Makie/u02af/src/recipes.jl:19
plot! at /home/hugo/.julia/packages/MeshViz/GpoD2/src/fallbacks.jl:21
plot! at /home/hugo/.julia/packages/Makie/u02af/src/interfaces.jl:787
unknown function (ip: 0x7f845400f5ea)
#plot!#222 at /home/hugo/.julia/packages/Makie/u02af/src/interfaces.jl:698
plot!##kw at /home/hugo/.julia/packages/Makie/u02af/src/interfaces.jl:667 [inlined]
#plot#934 at /home/hugo/.julia/packages/Makie/u02af/src/figureplotting.jl:28
plot at /home/hugo/.julia/packages/Makie/u02af/src/figureplotting.jl:18 [inlined]
#viz#1 at /home/hugo/.julia/packages/Makie/u02af/src/recipes.jl:15
unknown function (ip: 0x7f8453fda2b6)
viz at /home/hugo/.julia/packages/Makie/u02af/src/recipes.jl:15
unknown function (ip: 0x7f8453fcf7d5)
unknown function (ip: 0x7f84c8b30115)
unknown function (ip: 0x7f84c8b2fcd5)
unknown function (ip: 0x7f84c8b308d0)
unknown function (ip: 0x7f84c8b313d0)
unknown function (ip: 0x7f84c8b4c5c7)
unknown function (ip: 0x7f84c8b4d257)
jl_toplevel_eval_in at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7f84b74ac1a0)
unknown function (ip: 0x7f84b74ac72b)
unknown function (ip: 0x7f84b74acd0d)
unknown function (ip: 0x7f84b74b94d6)
unknown function (ip: 0x7f84b74b9598)
unknown function (ip: 0x7f84b771c448)
unknown function (ip: 0x7f84b771c4e8)
jl_f__call_latest at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7f84b76c0e78)
unknown function (ip: 0x7f84b76d9300)
unknown function (ip: 0x7f84b76e49ec)
unknown function (ip: 0x7f84b76e4b55)
unknown function (ip: 0x7f84c8b6f72e)
repl_entrypoint at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
main at julia (unknown line)
__libc_start_main at /usr/bin/../lib/libc.so.6 (unknown line)
_start at julia (unknown line)
Allocations: 126602262 (Pool: 126546939; Big: 55323); GC: 159
Abandon (core dumped)

```

---

<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:** [June 7, 2021, 3:12pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/6 "2021-06-07T15:12:42Z")

</div>

> [@HugoTrentesaux](#):
>
> In the example, you’re plotting the geo data using MeshViz. I don’t feel it’s the good way to go to display vectorial data (why would you like tho turn them to a mesh?)

Vectorial data is geometric data, and in order to fill it colors you will need to create a mesh. This is what plotting libraries do behind the scenes and is exactly what is done in MeshViz.jl

> [@HugoTrentesaux](#):
>
> Plus I get a crash with this stacktrace:

This issue is unrelated to our stack. Make sure you have a working Makie.jl installation in your system. The latest version is assumed, which I think is Makie.jl 0.13 or something.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [June 7, 2021, 3:16pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/7 "2021-06-07T15:16:04Z")

</div>

You mean, to do plots like this?  
[https://www.google.com/search?source=univ&tbm=isch&q=GPS+vectors+GMT&client=firefox-b-d&sa=X&ved=2ahUKEwj6ksjX5oXxAhUvx4UKHY4iAgcQjJkEegQIFRAB&biw=1309&bih=689](https://www.google.com/search?source=univ&tbm=isch&q=GPS+vectors+GMT&client=firefox-b-d&sa=X&ved=2ahUKEwj6ksjX5oXxAhUvx4UKHY4iAgcQjJkEegQIFRAB&biw=1309&bih=689)

[GMT.jl](https://github.com/GenericMappingTools/GMT.jl)

---

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 3:20pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/8 "2021-06-07T15:20:12Z")

</div>

I thought that plotting libraries did some kind of polygon filling algorithm (counting crosses) when producing a raster image, did not know that they used mesh internally.

Makie seems correctly installed:

```julia
(@v1.6) pkg> status Makie
      Status `~/.julia/environments/v1.6/Project.toml`
  [ee78f7c6] Makie v0.13.12

```

@joa-quim, not plotting vectors on a map background, but interpreting vector data (like roads and buildings) to plot them in a raster way.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [June 7, 2021, 3:24pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/9 "2021-06-07T15:24:09Z")

</div>

Well all plots shown in the links of your first post can be done with GMT

---

<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:** [June 7, 2021, 3:24pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/10 "2021-06-07T15:24:14Z")

</div>

@HugoTrentesaux it worked fine for me:

```julia
julia> FRA = GeoTables.gadm("FRA", children=true)
13 GeoTable{2,Float64}
  variables (rank 2)
    └─CC_1 (String)
    └─ENGTYPE_1 (String)
    └─GID_0 (String)
    └─GID_1 (String)
    └─HASC_1 (String)
    └─NAME_0 (String)
    └─NAME_1 (String)
    └─NL_NAME_1 (String)
    └─TYPE_1 (String)
    └─VARNAME_1 (String)
  domain: 13 GeometrySet{2,Float64}

julia> viz(FRA.geometry, decimation=0.01)

```

 ![image](https://global.discourse-cdn.com/julialang/original/3X/d/6/d65fc8b823dec66dcd7a04d9c7855dac7d985ef4.png)

---

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 3:32pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/11 "2021-06-07T15:32:18Z")

</div>

> [@juliohm](#):
>
> it worked fine for me:

It’s strange. I ran Makie tests successfully:

```julia
(@v1.6) pkg> test Makie
# [...]
Test Summary: | Pass Total
Record tests | 112 112

Test Summary: | Pass Total
Unit tests | 625 625

```

But `viz` stills give me this stacktrace.

I’ll have a look at GMT too 🙂

---

<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:** [June 7, 2021, 3:39pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/12 "2021-06-07T15:39:14Z")

</div>

I am using GLMakie.jl, maybe you are using another backend?

---

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 3:49pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/13 "2021-06-07T15:49:00Z")

</div>

juliohm : My first install of Makie is as a dependency of MeshViz. I did not change anything. It failed out of the box 🙈

joa-quim : GMT fails at loading maps trough ftp. I’d rather avoid dealing with this mess.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [June 7, 2021, 3:58pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/14 "2021-06-07T15:58:02Z")

</div>

> GMT fails at loading maps trough ftp

```julia
grdimage("https://www.researchgate.net/profile/Ayca-Cirmik/publication/331309175/figure/fig1/AS:730109086531601@1551082979853/GPS-velocities-and-their-95-confidence-ellipses-in-a-Eurasia-fixed-reference-frame.png", frame=:none, show=1)

```

 ![GMTjl_tmp](https://global.discourse-cdn.com/julialang/original/3X/8/d/8ddee32e6dd7c1d91961a7b956970d2f8161af74.png)

---

<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:** [June 7, 2021, 4:00pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/15 "2021-06-07T16:00:07Z")

</div>

Try to install GLMakie.jl instead of Makie.jl and things should work.

---

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 4:07pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/16 "2021-06-07T16:07:38Z")

</div>

> [@juliohm](#):
>
> install GLMakie.jl

Installing gives me the same stacktrace. Should I activate it somehow? I do not find it on GLMakie readme.

---

<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:** [June 7, 2021, 4:14pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/17 "2021-06-07T16:14:32Z")

</div>

No you should just import it as in the examples. Perhaps you have older versions of other packages installed. Try to install in a fresh environment. ] activate @myenv

---

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 4:25pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/18 "2021-06-07T16:25:48Z")

</div>

Fresh environment and following code still gives me the same stacktrace.

```julia
using GeoTables, MeshViz
import GLMakie
FRA = GeoTables.gadm("FRA", children=true)
viz(FRA.geometry) # crashes julia

```

I’ll look VegaLite and GeoMakie.

---

<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:** [June 7, 2021, 4:33pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/19 "2021-06-07T16:33:40Z")

</div>

Please share your environment `] status -m`. GeoMakie is outdated and VegaLite has a separate pipeline, you won’t be able to plot GeoTables data directly with it. They have a different method for plotting shape files.

---

<div class="post-metadata">

**Author:** ![HugoTrentesaux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hugotrentesaux/32/12583_2.png) [@HugoTrentesaux](https://discourse.julialang.org/u/HugoTrentesaux)\
**Post date:** [June 7, 2021, 4:40pm UTC](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522/20 "2021-06-07T16:40:10Z")

</div>

`(@v1.6) pkg> status -m` returns:

> **Hidden**
>
> ```julia
> (@v1.6) pkg> status -m
> Status `~/.julia/environments/v1.6/Manifest.toml`
> [621f4979] AbstractFFTs v1.0.1
> [1520ce14] AbstractTrees v0.3.4
> [79e6a3ab] Adapt v3.3.1
> [27a7e980] Animations v0.4.1
> [c9ce4bd3] ArchGDAL v0.6.0
> [dce04be8] ArgCheck v2.1.0
> [4fba245c] ArrayInterface v3.1.17
> [77b51b56] AverageShiftedHistograms v0.8.6
> [13072b0f] AxisAlgorithms v1.0.0
> [198e06fe] BangBang v0.3.30
> [9718e550] Baselet v0.1.1
> [b99e7846] BinaryProvider v0.5.10
> [fa961155] CEnum v0.4.1
> [336ed68f] CSV v0.8.5
> [324d7699] CategoricalArrays v0.10.0
> [d360d2e6] ChainRulesCore v0.10.2
> [7a955b69] CircularArrays v1.2.0
> [944b1d66] CodecZlib v0.7.0
> [a2cac450] ColorBrewer v0.4.0
> [35d6a980] ColorSchemes v3.12.1
> [3da002f7] ColorTypes v0.10.12
> [c3611d14] ColorVectorSpace v0.9.5
> [5ae59095] Colors v0.12.8
> [861a8166] Combinatorics v1.0.2
> [bbf7d656] CommonSubexpressions v0.3.0
> [34da2185] Compat v3.30.0
> [a33af91c] CompositionsBase v0.1.0
> [8f4d0f93] Conda v1.5.2
> [187b0558] ConstructionBase v1.2.1
> [d38c429a] Contour v0.5.7
> [adafc99b] CpuId v0.3.0
> [a8cc5b0e] Crayons v4.0.4
> [75c7ada1] DBFTables v0.2.3
> [9a962f9c] DataAPI v1.6.0
> [124859b0] DataDeps v0.7.7
> [864edb3b] DataStructures v0.18.9
> [e2d170a0] DataValueInterfaces v1.0.0
> [e7dc6d0d] DataValues v0.4.13
> [244e2a9f] DefineSingletons v0.1.1
> [ab46fb84] DensityRatioEstimation v0.4.3
> [85a47980] Dictionaries v0.3.8
> [163ba53b] DiffResults v1.0.3
> [b552c78f] DiffRules v1.0.2
> [3c3547ce] DiskArrays v0.2.9
> [b4f34e82] Distances v0.10.3
> [31c24e10] Distributions v0.25.2
> [ffbed154] DocStringExtensions v0.8.4
> [497a8b3b] DoubleFloats v1.1.22
> [da5c29d0] EllipsisNotation v1.1.0
> [e2ba6199] ExprTools v0.1.3
> [8f5d6c58] EzXML v1.1.0
> [c87230d0] FFMPEG v0.4.1
> [7a1cc6ca] FFTW v1.4.1
> [5789e2e9] FileIO v1.9.1
> [8fc22ac5] FilePaths v0.8.3
> [48062228] FilePathsBase v0.9.10
> [1a297f60] FillArrays v0.11.7
> [6a86dc24] FiniteDiff v2.8.0
> [53c48c17] FixedPointNumbers v0.8.4
> [59287772] Formatting v0.4.2
> [f6369f11] ForwardDiff v0.10.18
> [b38be410] FreeType v4.0.0
> [663a7486] FreeTypeAbstraction v0.9.1
> [a8dd9ffe] GADM v0.2.1
> [add2ef01] GDAL v1.2.2
> [f7f18e0c] GLFW v3.4.1
> [e9467ef8] GLMakie v0.3.3
> [5752ebe1] GMT v0.33.0
> [14197337] GenericLinearAlgebra v0.2.5
> [c145ed77] GenericSchur v0.5.0
> [7472b188] GeoClustering v0.1.4
> [a4aa24f8] GeoEstimation v0.7.2
> [68eda718] GeoFormatTypes v0.3.0
> [cf35fbd7] GeoInterface v0.5.5
> [61d90e0f] GeoJSON v0.5.1
> [90c4468e] GeoLearning v0.1.4
> [220efe8a] GeoSimulation v0.3.6
> [dcc97b0b] GeoStats v0.25.1
> [323cb8eb] GeoStatsBase v0.21.8
> [e502b557] GeoTables v0.1.5
> [5c1252a2] GeometryBasics v0.3.12
> [a2bd30eb] Graphics v1.1.0
> [3955a311] GridLayoutBase v0.5.4
> [42e2da0e] Grisu v1.0.2
> [708ec375] Gumbo v0.8.0
> [cd3eb016] HTTP v0.9.9
> [615f187c] IfElse v0.1.0
> [a09fc81d] ImageCore v0.9.0
> [82e4d734] ImageIO v0.5.5
> [313cdc1a] Indexing v1.1.1
> [9b13fd28] IndirectArrays v0.5.1
> [83e8ac13] IniFile v0.5.0
> [22cec73e] InitialValues v0.2.10
> [a98d9a8b] Interpolations v0.13.2
> [8197267c] IntervalSets v0.5.3
> [d8418881] Intervals v1.5.0
> [f1662d9f] Isoband v0.1.1
> [c8e1da08] IterTools v1.3.0
> [1c8ee90f] IterableTables v1.0.0
> [82899510] IteratorInterfaceExtensions v1.0.0
> [692b3bcd] JLLWrappers v1.3.0
> [682c06a0] JSON v0.21.1
> [0f8b85d8] JSON3 v1.8.2
> [7d188eb4] JSONSchema v0.3.3
> [5ab0869b] KernelDensity v0.6.3
> [d293930c] KrigingEstimators v0.7.5
> [7f8f8fb0] LearnBase v0.4.1
> [d3d80556] LineSearches v7.1.1
> [2ab3a3ac] LogExpFunctions v0.2.4
> [30fc2ffe] LossFunctions v0.7.0
> [e80e1ace] MLJModelInterface v1.1.0
> [1914dd2f] MacroTools v0.5.6
> [ee78f7c6] Makie v0.13.12
> [dbb5928d] MappedArrays v0.4.0
> [7eb4fadd] Match v1.1.0
> [739be429] MbedTLS v1.0.3
> [7269a6da] MeshIO v0.4.7
> [9ecf9c4f] MeshViz v0.1.3
> [eacbb407] Meshes v0.16.4
> [128add7d] MicroCollections v0.1.0
> [e1d29d7a] Missings v0.4.5
> [78c3b35d] Mocking v0.7.1
> [66fc600b] ModernGL v1.1.2
> [e94cdb99] MosaicViews v0.3.3
> [d8a4904e] MutableArithmetics v0.2.19
> [d41bc354] NLSolversBase v7.8.0
> [77ba4419] NaNMath v0.3.5
> [b8a86587] NearestNeighbors v0.4.8
> [f09324ee] Netpbm v1.0.2
> [2bd173c7] NodeJS v1.3.0
> [4d1e1d77] Nullables v1.0.0
> [510215fc] Observables v0.4.0
> [6fe1bfb0] OffsetArrays v1.9.2
> [429524aa] Optim v1.3.0
> [bac558e1] OrderedCollections v1.4.1
> [90014a1f] PDMats v0.11.0
> [f57f5aa1] PNGFiles v0.3.7
> [19eb6ba3] Packing v0.4.1
> [5432bcbf] PaddedViews v0.5.8
> [d96e819e] Parameters v0.12.2
> [69de0a69] Parsers v1.1.0
> [eebad327] PkgVersion v0.1.1
> [995b91a9] PlotUtils v1.0.10
> [e61b41b6] PointPatterns v0.3.8
> [647866c9] PolygonOps v0.1.1
> [f27b6e38] Polynomials v2.0.12
> [2dfb63ee] PooledArrays v1.2.1
> [85a6dd25] PositiveFactorizations v0.2.4
> [21216c6a] Preferences v1.2.2
> [92933f4c] ProgressMeter v1.7.1
> [1fd47b50] QuadGK v2.4.1
> [be4d8f0f] Quadmath v0.5.5
> [c84ed2f1] Ratios v0.4.0
> [3cdcf5f2] RecipesBase v1.1.1
> [189a3867] Reexport v1.1.0
> [74f56ac7] ReferenceFrameRotations v1.0.0
> [ae029012] Requires v1.1.3
> [79098fc4] Rmath v0.7.0
> [321657f4] ScientificTypes v1.1.2
> [91c51154] SentinelArrays v1.3.2
> [efcf1570] Setfield v0.7.0
> [65257c39] ShaderAbstractions v0.2.6
> [8e980c4a] Shapefile v0.7.1
> [992d4aef] Showoff v1.0.3
> [73760f76] SignedDistanceFields v0.4.0
> [699a6c99] SimpleTraits v0.9.3
> [a2af1166] SortingAlgorithms v1.0.0
> [276daf66] SpecialFunctions v1.5.1
> [03a91e81] SplitApplyCombine v1.1.4
> [171d559e] SplittablesBase v0.1.13
> [cae243ae] StackViews v0.1.1
> [aedffcd0] Static v0.2.5
> [90137ffa] StaticArrays v1.2.2
> [64bff920] StatisticalTraits v1.1.0
> [82ae8749] StatsAPI v1.0.0
> [2913bbd2] StatsBase v0.33.8
> [4c63d2b9] StatsFuns v0.9.8
> [09ab397b] StructArrays v0.5.1
> [856f2bd8] StructTypes v1.7.2
> [ab02a1b2] TableOperations v1.0.0
> [5e66a065] TableShowUtils v0.2.5
> [3783bdb8] TableTraits v1.0.1
> [382cd787] TableTraitsUtils v1.0.1
> [bd369af6] Tables v1.4.3
> [62fd8b95] TensorCore v0.1.1
> [e0df1984] TextParse v1.0.1
> [731e570b] TiffImages v0.3.2
> [f269a46b] TimeZones v1.5.5
> [3bb67fe8] TranscodingStreams v0.9.5
> [28d57a85] Transducers v0.4.65
> [9d95f2ec] TypedTables v1.2.4
> [30578b45] URIParser v0.4.1
> [5c2747f8] URIs v1.3.0
> [3a884ed6] UnPack v1.0.2
> [1cfade01] UnicodeFun v0.4.1
> [b8865327] UnicodePlots v1.3.0
> [04a0146e] Variography v0.12.8
> [239c3e63] Vega v2.3.0
> [0ae4a718] VegaDatasets v2.1.1
> [112f6efa] VegaLite v2.6.0
> [81def892] VersionParsing v1.2.0
> [ea10d353] WeakRefStrings v0.6.2
> [efce3f68] WoodburyMatrices v0.5.3
> [a5390f91] ZipFile v0.9.3
> [700de1a5] ZygoteRules v0.2.1
> [6e34b625] Bzip2_jll v1.0.8+0
> [83423d85] Cairo_jll v1.16.1+0
> [5ae413db] EarCut_jll v2.1.5+1
> [2e619515] Expat_jll v2.2.10+0
> [b22a6f82] FFMPEG_jll v4.4.0+0
> [f5851436] FFTW_jll v3.3.9+7
> [a3f928ae] Fontconfig_jll v2.13.93+0
> [d7e528f0] FreeType2_jll v2.10.4+0
> [559328eb] FriBidi_jll v1.0.10+0
> [a7073274] GDAL_jll v300.202.100+0
> [d604d12d] GEOS_jll v3.9.0+0
> [0656b61e] GLFW_jll v3.3.5+0
> [78b55507] Gettext_jll v0.21.0+0
> [7746bdde] Glib_jll v2.68.1+0
> [3b182d85] Graphite2_jll v1.3.14+0
> [528830af] Gumbo_jll v0.10.1+1
> [2e76f6c2] HarfBuzz_jll v2.8.1+0
> [1d5cc7b8] IntelOpenMP_jll v2018.0.3+2
> [aacddb02] JpegTurbo_jll v2.1.0+0
> [c1c5ebd0] LAME_jll v3.100.1+0
> [dd4b983a] LZO_jll v2.10.1+0
> [e9f186c6] Libffi_jll v3.2.2+0
> [d4300ac3] Libgcrypt_jll v1.8.7+0
> [7e76a0d4] Libglvnd_jll v1.3.0+3
> [7add5ba3] Libgpg_error_jll v1.42.0+0
> [94ce4f54] Libiconv_jll v1.16.1+0
> [4b2f31a3] Libmount_jll v2.35.0+0
> [89763e89] Libtiff_jll v4.3.0+0
> [38a345b3] Libuuid_jll v2.36.0+0
> [d3a379c0] LittleCMS_jll v2.9.0+0
> [856f044c] MKL_jll v2021.1.1+1
> [e7412a2a] Ogg_jll v1.3.5+0
> [643b3616] OpenJpeg_jll v2.3.1+0
> [458c3c95] OpenSSL_jll v1.1.10+0
> [efe28fd5] OpenSpecFun_jll v0.5.5+0
> [91d4177d] Opus_jll v1.3.2+0
> [2f80f16e] PCRE_jll v8.44.0+0
> [58948b4f] PROJ_jll v700.202.100+0
> [30392449] Pixman_jll v0.40.1+0
> [f50d1b31] Rmath_jll v0.3.0+0
> [76ed43ae] SQLite_jll v3.35.5+0
> [02c8fc9c] XML2_jll v2.9.12+0
> [aed1982a] XSLT_jll v1.1.34+0
> [4f6342f7] Xorg_libX11_jll v1.6.9+4
> [0c0b7dd1] Xorg_libXau_jll v1.0.9+4
> [935fb764] Xorg_libXcursor_jll v1.2.0+4
> [a3789734] Xorg_libXdmcp_jll v1.1.3+4
> [1082639a] Xorg_libXext_jll v1.3.4+4
> [d091e8ba] Xorg_libXfixes_jll v5.0.3+4
> [a51aa0fd] Xorg_libXi_jll v1.7.10+4
> [d1454406] Xorg_libXinerama_jll v1.1.4+4
> [ec84b674] Xorg_libXrandr_jll v1.5.2+4
> [ea2f1a96] Xorg_libXrender_jll v0.9.10+4
> [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
> [c7cfdc94] Xorg_libxcb_jll v1.13.0+3
> [c5fb5394] Xorg_xtrans_jll v1.4.0+3
> [3161d3a3] Zstd_jll v1.5.0+0
> [9a68df92] isoband_jll v0.2.2+0
> [0ac62f75] libass_jll v0.15.1+0
> [f638f0a6] libfdk_aac_jll v2.0.2+0
> [06c338fa] libgeotiff_jll v1.6.0+1
> [b53b4c65] libpng_jll v1.6.38+0
> [f27f6e37] libvorbis_jll v1.3.7+0
> [1270edf5] x264_jll v2021.5.5+0
> [dfaa095f] x265_jll v3.5.0+0
> [0dad84c5] ArgTools
> [56f22d72] Artifacts
> [2a0f44e3] Base64
> [ade2ca70] Dates
> [8bb1440f] DelimitedFiles
> [8ba89e20] Distributed
> [f43a241f] Downloads
> [9fa8497b] Future
> [b77e0a4c] InteractiveUtils
> [4af54fe1] LazyArtifacts
> [b27032c2] LibCURL
> [76f85450] LibGit2
> [8f399da3] Libdl
> [37e2e46d] LinearAlgebra
> [56ddb016] Logging
> [d6f4376e] Markdown
> [a63ad114] Mmap
> [ca575930] NetworkOptions
> [44cfe95a] Pkg
> [de0858da] Printf
> [3fa0cd96] REPL
> [9a3f8284] Random
> [ea8e919c] SHA
> [9e88b42a] Serialization
> [1a1011a3] SharedArrays
> [6462fe0b] Sockets
> [2f01184e] SparseArrays
> [10745b16] Statistics
> [4607b0f0] SuiteSparse
> [fa267f1f] TOML
> [a4e569a6] Tar
> [8dfed614] Test
> [cf7118a7] UUIDs
> [4ec0a83e] Unicode
> [e66e0078] CompilerSupportLibraries_jll
> [deac9b47] LibCURL_jll
> [29816b5a] LibSSH2_jll
> [c8ffd9c3] MbedTLS_jll
> [14a3606d] MozillaCACerts_jll
> [83775a58] Zlib_jll
> [8e850ede] nghttp2_jll
> [3f19e933] p7zip_jll
> 
> ```

(I installed other things in the meanwhile)

Maybe the best will be if I write my own library using Compose.jl 😸

> [@juliohm](#):
>
> GeoMakie is outdated

That’s not what they’re saying on GitHub ([GitHub - MakieOrg/GeoMakie.jl: Geographical plotting utilities for Makie.jl](https://github.com/JuliaPlots/GeoMakie.jl)) :

> This package is **in development**

[Next page](https://discourse.julialang.org/t/workflow-for-flotting-gps-data-over-map-background/62522.md?page=2)
