GenericMappingTools / gmt

The Generic Mapping Tools
https://www.generic-mapping-tools.org
Other
853 stars 357 forks source link

Have "true" bezier splines on spheres #3058

Open KristofKoch opened 4 years ago

KristofKoch commented 4 years ago

Description of the desired feature

Have GMT support "true" bezier splines on the surface of a sphere/geoid.

When plotting lines/polygons it might be desirable to have them plotted as bezier splines. This is already supported with -W+s but it works correctly only on cartesian projections as it is not a GMT function but mainly done in PostScript. This brings some disadvantages when trying to plot ship tracks or meteorological fronts/features on a map. If implemented, it might also allow for some options to be available on bezier splines as well for example -S~.

Below is an example how in currently works using de11caf. Note the left vertical part where the red bezier spline should be on the left side of the green great circle line if plotted on a sphere/geoid.

#!/usr/bin/env bash

cat > path.txt << END
 30  -15
 30   45
-30   45
-30  -15
END

gmt begin earth_bezier_spline
  gmt basemap -Rg -JG30/50/15c -Bpg15d -Bsg30d --MAP_GRID_PEN_SECONDARY=1p,black
  gmt plot path.txt -W2p,green
  gmt plot path.txt -W2p,red+s -A
  gmt plot path.txt -Skcrosshair/0.5c -Wthinnest,black
gmt end show

2D-bezier-splines

KristofKoch commented 3 years ago

This feature request stems from this forum post.

Any new thoughts on the feasibility by the devs? If implemented could make good use of this feature.