Generic Mapping Tools Library Wrapper for Julia



Julia wrapper for the Generic Mapping Tools GMT

Documentation Build Status (Julia 0.7)

The Generic Mapping Tools, GMT, is an open source collection of tools for manipulating geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, etc.) and producing PostScript illustrations ranging from simple x–y plots via contour maps to artificially illuminated surfaces and 3D perspective views.

This wrapper works only with GMT5.3.1 and above


Use the new Pkg3 to install current version.

]add GMT

A word of warning about the installation. The GMT.jl Julia wrapper does NOT install the GMT program. It's the user responsability to do that.

On OSX, with a manual GMT build and dependencies obtained with Homebrew (that are installed at /user/local/lib), I had to help Julia finding MY libgmt.dylib, with (this line should than be added to the ~/.julia/config/startup.jl file)

push!(Libdl.DL_LOAD_PATH, "/Users/j/programs/gmt5/lib")


The GMT Julia wrapper was designed to work in a way the close as possible to the command line version and yet to provide all the facilities of the Julia language. In this sense, all GMT options are put in a single text string that is passed, plus the data itself when it applies, to the gmt() command. However, we also acknowledge that not every one is comfortable with the GMT syntax. This syntax is needed to accommodate the immense pool of options that let you control all details of a figure but that also makes it harder to read/master.

To make life easier we provide also a new mechanism that use the GMT module name directly and where the program's options are set via keyword arguments. While the monolotic way of using this package is robust and keeps being updated to latestes GMT developments, this By modules alternative is a Work In Progress (the GMT supplements were not ported yet) and some things may not work yet. So all help is most than wellcome.


Latest Docs


Some examples


The GMT.jl is free software: you can redistribute it and/or modify it under the terms of the MIT "Expat" License. A copy of this license is provided in LICENSE.txt

First Commit


Last Touched

4 days ago


1076 commits