GMT.jl ticks all the boxes, except perhaps the last one (with the simpler syntax in Julia).
The mother GMT library ticks them all. Linking also this GMT6 overview article.
I have to admit that I am very curious about opinion of Julia Geo Community about kepler.gl. Do you think that it might be possible to use it explicitly with Julia in any foreseeable future? I just took a quick look at it, I understand its not as versatile as GMT.jl, however, I have to admit that I was impressed by its abilities and particularly its ease of use.
There is also the historical collection but I’m not sure it all works. I lost the scripts file and possibly many examples (that are here more complex) may need re-work.
Thank you @joa-quim! I am really new to GMT.jl. Actually, I have never used it, however, several times I briefly familiarized myself with the documentation. I was not aware you are so close to it. Heaving the opportunity, may I ask you a short and a very general question? My aim is to produce about 15k plots a day consisting of i) a map in Mercator projection, ii) heatmap generated with the use of netCDF file, iii) lines of points encoded in a gpx / kml file and maybe in the future iv) additional layer with geotiff rasters. Is GMT a right tool?
I guess GDAL is another Swiss knife, and GPX is a very popular format so I am not expecting any problems in this field. I just installed GMT.jl and was able to prepare the first plots.
Cool, let me take the risk (several things may go wrong) of suggesting these commands. If you have a GDAL built with expat (you do if you installed GMT.jl on Windows), do
So far, I have been using Gadfly to prepare statistical plots and CairoMakie to do quasi geo plotting in a sense that I plotted my geo data. However, my plots were missing coastlines and there was no proper reference to latitues and longitudes. Despite it, the plots were very helpful with understanding the subject. I also used kepler.gl to do a little more interactive analysis especially in reference to GPX data. I really like the ease of use of GMT.jl in relation to plotting coastalines and geo referenced netCDF data. This is my understanding after some very preliminary tests.
The image seems to be plotteing correctly, saved to /home/username/tmp/GMTjl_tmp.png (its possible to open this file and to see the plot), however, I am getting:
ERROR 4: `/path/to/gpx' not recognized as a supported file format.
grdinfo (gmtapi_import_grid): Not a supported grid format [/path/to/gpx]
[Session GMT (2)]: Error returned from GMT API: GMT_GRID_READ_ERROR (18)
[Session GMT (2)]: Error returned from GMT API: GMT_GRID_READ_ERROR (18)
ERROR: LoadError: BoundsError: attempt to access 0-element Vector{GMTdataset} at index [1]
Stacktrace:
[1] getindex(A::Vector{GMTdataset}, i1::Int64)
@ Base ./array.jl:921
[2] snif_GI_set_CTRLlimits(G_I::String)
@ GMT ~/.julia/packages/GMT/TPV4a/src/imshow.jl:133
[3] imshow(arg1::String, x::Vector{Float64}, y::Vector{Float64}; kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ GMT ~/.julia/packages/GMT/TPV4a/src/imshow.jl:45
[4] imshow (repeats 3 times)
@ ~/.julia/packages/GMT/TPV4a/src/imshow.jl:36 [inlined]
[5] top-level scope
@ ~/data/geo_gmt/geo_gmt.jl:116
in expression starting at /home/username/data/geo_gmt/geo_gmt.jl:116
Similar errors I am getting when trying to plot the same data that is encoded in gpx when using csv, json, geojson, kml, txt files.
I also tried gdal-config --version 3.3.1 from conda_channels = [“nasa-ames-stereo-pipeline”]. In this case, there were some conflicts when trying to install GMT 6.2.0 and there seems to be no support for gpx in this GDAL version as well.
Is there any GDAL version at Conda that is supporting gpx? How complicated / difficult is the build process? I’ve been using Linux for about 1 year. I have done only a few builds with cmake of Fortran and Go software. This is a hobby project, I can not commit all my time, however, should you be willing to provide some advice, I would be very interested to try to make it work. Also pls be informed that I might not reply immediately to your potential messages as I have some due answers to prepare also on this forum. However, I would really appreciate some additional info!
Problem 1: With one exception, GMT produces PostScript only that is automatically converted into raster formats by the psconvert program. Next, each OS calls the program that automatically displays the figs. In Linux it’s xdg-open, and that normally comes with Linux. It seems that it’s not your case. You will have to install it.
Problem 2:imshow is a convenient function that parses input and calls the grdimage or grdview modules for grids/images and in a lesser extent, the plot command for vector data. This later ability needs further improvements, specially when you pass the file name instead of the data. Please try as I said: data = gmtread("/path/to/gpx"); imshow(data) but be aware that the full control for line plots is provided by the plot function.
See this GADM example. Data comes in geopackage format.
EDIT: I remembered that gpx may not be an automatically detected format (by extension) so you probably will need to do