Provided by: gmt-common_5.4.5+dfsg-2_all bug


       gmt2kml - Convert GMT data tables to KML files for Google Earth


       gmt2kml  [ table ] [  -Aa|g|s[alt|xscale] ] [  -Ccpt ] [  -Ddescriptfile ] [  -E[altitude]
       ] [  -Fe|s|t|l|p|w ] [  -Gf|n-|fill ] [  -Iicon ] [ -K] [  -Lcol1:name1,col2:name2,... ] [
       -N[+|name_template|name]  ]  [  -O]  [   -Qa|iaz  ] [  -Qsscale[unit] ] [  -Ra|w/e/s/n ] [
       -Sc|nscale] ] [  -Ttitle[/foldername] ] [  -V[level] ] [  -W[pen][attr] ] [   -Zargs  ]  [
       -bibinary ] [ -dinodata ] [ -eregexp ] [ -fflags ] [ -hheaders ] [ -iflags ] [ -:[i|o] ] [
       > output.kml ]

       Note: No space is allowed between the option flag and the associated arguments.


       gmt2kml reads one or more GMT table file and converts them to a single output  file  using
       Google Earth's KML format. Data may represent points, lines, polygons, or wiggles, and you
       may specify additional attributes such  as  title,  altitude  mode,  colors,  pen  widths,
       transparency,  regions,  and  data  descriptions.  You may also extend the feature down to
       ground level (assuming it is above it) and use custom icons for point  symbols.   Finally,
       there are controls on visibility depending on level of detail settings, altitude, regions,
       including the status upon loading into Google Earth as well as fading depending on zoom.

       The input files should contain the following columns:

       lon lat [ alt ] [ timestart [ timestop ] ]

       where lon and lat are required for all features, alt is optional  for  all  features  (see
       also  -A  and -C), and timestart and timestop apply to events and timespan features.   For
       wiggles, the alt column is required but is  expected  to  represent  an  along-track  data
       anomaly  such  as gravity, magnetics, etc.  These values will be scaled to yield distances
       from the line in degrees.




       table  One or more ASCII (or binary, see -bi[ncols][type]) data table  file(s)  holding  a
              number of data columns. If no tables are given then we read from standard input.

              Select  one  of three altitude modes recognized by Google Earth that determines the
              altitude (in m) of the feature: a absolute altitude, g  altitude  relative  to  sea
              surface  or ground, s altitude relative to seafloor or ground. To plot the features
              at a fixed altitude, append an altitude alt (in m). Use 0 to clamp the features  to
              the  chosen  reference  surface. Append xscale to scale the altitude from the input
              file by that factor. If no value is appended, the altitude (in m) is read from  the
              3rd  column  of  the  input  file.  [By default the features are clamped to the sea
              surface or ground].

       -Ccpt  Use the CPT for assigning colors to the symbol, event, or timespan icons, based  on
              the value in the 3rd column of the input file. For lines or polygons we examine the
              segment header for -Z<value> statements and obtain the color via  the  cpt  lookup.
              Note only discrete colors are possible.

              File  with  HTML  snippets  that  will  be included as part of the main description
              content for the KML file  [no  description].  See  SEGMENT  INFORMATION  below  for
              feature-specific descriptions.

              Extrude feature down to ground level [no extrusion].

              Sets  the  feature  type.  Choose  from  points (event, symbol, or timespan), line,
              polygon, or wiggle [symbol]. The first two columns of the input file should contain
              (lon,  lat).  When altitude or value is required (i.e., no altitude value was given
              with -A, or -C is set), the third column needs to contain the altitude  (in  m)  or
              value. The event (-Fe) is a symbol that should only be active at a particular time,
              given in the next column. Timespan (-Ft) is a symbol that  should  only  be  active
              during  a  particular  time  period  indicated  by the next two columns (timestart,
              timestop). Use NaN to indicate unbounded time limits. If used, times should  be  in
              ISO  format yyyy-mm-ddThh:mm:ss[.xxx] or in GMT relative time format (see -f).  For
              wiggles, the data anomaly is required to be in the 3rd input column.  If  you  also
              need to plot the track itself then do that separately with -Fl.

              Sets color fill (-Gf) or label font color (-Gn).  Fill: Set fill color for symbols,
              extrusions, polygons and positive anomaly wiggles [Default is light orange  at  75%
              transparency].   Optionally,  use  -Gf-  to  turn  off  polygon fill.  Text labels:
              Specify color for font [Default is white]. Optionally use -Gn- to disable labels.

       -Iicon Specify the URL to an alternative icon that should be used for the symbol  [Default
              is  a  Google  Earth  circle].  If  the  URL  starts  with  +  then we will prepend
     to the name. To turn off icons entirely (e.g.,
              when  just  wanting  a  text  label),  use  -I-.  [Default  is a local icon with no
              directory path].

       -K     Allow more KML code to be appended to the output later [finalize the KML file].

              Extended data given. Append one or more column names separated by commas.  We  will
              expect the listed data columns to exist in the input immediately following the data
              coordinates and they will be encoded in the KML file as Extended Data  sets,  whose
              attributes  will  be available in a Google Earth balloon when the item is selected.
              This option is not available unless input is an ASCII file.

              By default, if segment headers contain a -L"label string" then we use that for  the
              name  of  the  KML feature (polygon, line segment or set of symbols). Default names
              for these segments are "Line %d" and "Point Set  %d",  depending  on  the  feature,
              where  %d  is a sequence number of line segments within a file. Each point within a
              line segment will be named after the line segment plus a sequence number.   Default
              is  simply "Point %d".  Alternatively, select one of these options: (1) append - to
              supply individual symbol labels (single word) via the field  immediately  following
              the data coordinates, (2) append + to supply individual symbol labels as everything
              to the end of the data record following the data coordinates, (3) append  a  string
              that  may include %d or a similar integer format to assign unique name IDs for each
              feature, with the segment number (for lines and polygons) or point number (symbols)
              appearing  where  %d  is placed, (4) give no arguments to turn symbol labeling off;
              line segments will still be named. Note: if -N- is used with -L then the label must
              appear  before  the  extended data columns.  Also note that options (1) and (2) are
              not available unless input is an ASCII file.

       -O     Append KML code to an existing KML file [initialize a new KML file].

              Option in support of wiggle plots (requires -Fw). You may control which  directions
              the  positive wiggles will tend to point to with -Qa.  The provided azimuth defines
              a half-circle centered on the selected azimuth [0] where  positive  anomalies  will
              plot.   If  outside  then  switch  by 180 degrees.  Alternatively, use -Qi to set a
              fixed direction with no further variation.

              Required setting for wiggle plots (i.e., it requires -Fw).  Sets a wiggle scale  in
              z-data  units  per  the  user's  units  (given  via  the  trailing  unit taken from
              d|m|s|e|f|k|M|n|u [e]). This scale is then  inverted  to  yield  degrees  per  user
              z-unit and used to convert wiggle anomalies to map distances and positions.

              Issue  a  single Region tag. Append w/e/s/n to set a particular region (will ignore
              points outside the region), or append a to determine and use the actual  domain  of
              the data (single file only) [no region tags issued].

              Scale icons or labels. Here, -Sc sets a scale for the symbol icon, whereas -Sn sets
              a scale for the name labels [1 for both].

              Sets the document title [default is unset]. Optionally,  append  /FolderName;  this
              allows  you,  with  -O, -K, to group features into folders within the KML document.
              [The default folder name is "Name Features", where Name is Point, Event,  Timespan,
              Line, Polygon or Wiggle].

       -V[level] (more ...)
              Select verbosity level [c].

       -W[pen][attr] (more ...)
              Set pen attributes for lines, wiggles or polygon outlines. Append pen attributes to
              use [Defaults: width = default, color = black, style = solid]. If the modifier  +cl
              is  appended then the color of the line are taken from the CPT (see -C). If instead
              modifier +cf is appended then the color from the cpt  file  is  applied  to  symbol
              fill.   Use  just +c for both effects.  Note that for KML the pen width is given in
              (fractional) pixels and not in points (1/72 inch).

       -Zargs Set  one  or  more  attributes  of   the   Document   and   Region   tags.   Append
              +aalt_min/alt_max  to  specify  limits  on  visibility  based  on  altitude. Append
              +llod_min/lod_max to specify limits on visibility based on Level Of  Detail,  where
              lod_max  ==  -1 means it is visible to infinite size. Append +ffade_min/fade_max to
              fade in and out over a ramp [abrupt]. Append +v to make a feature not visible  when
              loaded [visible]. Append +o to open a folder or document in the sidebar when loaded

       -bi[ncols][t] (more ...)
              Select native binary input. [Default is 2  or  more  input  columns,  depending  on

       -dinodata (more ...)
              Replace input columns that equal nodata with NaN.

       -e[~]"pattern" | -e[~]/regexp/[i] (more ...)
              Only accept data records that match the given pattern.

       -f[i|o]colinfo (more ...)
              Specify data types of input and/or output columns.

       -g[a]x|y|d|X|Y|D|[col]z[+|-]gap[u] (more ...)
              Determine data gaps and line breaks.

       -h[i|o][n][+c][+d][+rremark][+rtitle] (more ...)
              Skip or produce header record(s).

       -icols[+l][+sscale][+ooffset][,...] (more ...)
              Select input columns and transformations (0 is first column).

       -:[i|o] (more ...)
              Swap 1st and 2nd column on input and/or output.

       -^ or just -
              Print a short message about the syntax of the command, then exits (NOTE: on Windows
              just use -).

       -+ or just +
              Print  an  extensive  usage  (help)  message,  including  the  explanation  of  any
              module-specific option (but not the GMT common options), then exits.

       -? or no arguments
              Print  a  complete  usage (help) message, including the explanation of all options,
              then exits.


       To convert a file with point locations (lon, lat) into a KML file with red circle symbols,

              gmt2kml mypoints.txt -Gfred -Fs > mypoints.kml

       To  convert  a  multisegment  file with lines (lon, lat) separated by segment headers that
       contain a -Llabelstring with the feature name, selecting a thick white pen, and title  the
       document, try

              gmt2kml mylines.txt -Wthick,white -Fl -T"Lines from here to there" > mylines.kml

       To  convert a multisegment file with polygons (lon, lat) separated by segment headers that
       contain  a  -Llabelstring  with  the  feature  name,  selecting  a  thick  black  pen  and
       semi-transparent yellow fill, giving a title to the document, and prescribing a particular
       region limit, try

              gmt gmt2kml mypolygons.txt -Gfyellow@50 -Fp -T"My polygons" -R30/90/-20/40 > mypolygons.kml

       To convert a file with point locations (lon, lat, time) into a KML file with green  circle
       symbols that will go active at the specified time and stay active going forward, try

              awk '{print $1, $2, $3, "NaN"}' mypoints.txt | gmt gmt2kml -Gfgreen -Ft > mytimepoints.kml

       To  extract contours and labels every 10 units from the grid and plot them in KML,
       using red lines at 75% transparency and red labels (no transparency), try

              gmt grdcontour -Jx1id -A10+tlabel.txt -C10 -Dcontours.txt
              gmt gmt2kml    contours.txt -Fl -W1p,red@75 -K > contours.kml
              gmt gmt2kml    -O -N+ -Fs -Sn2 -Gnred@0 label.txt -I- >> contours.kml

       To instead plot the contours as lines with colors taken from the  cpt  file  contours.cpt,

              gmt gmt2kml contours.txt -Fl -Ccontours.cpt > contours.kml

       To  plot  magnetic  anomalies as wiggles along track, with positive wiggles painted orange
       and the wiggle line drawn with a black pen of width 2p, scaling the magnetic anomalies (in
       nTesla)  so  that  50  nT  equals 1 nm on the map, and place the wiggles 50m above the sea
       surface, use

              gmt gmt2kml magnetics_lon_lat_mag.txt -Fw -Gforange -W2p -Ag50 -Qs50n > wiggles.kml


       Google Earth has trouble displaying filled polygons across the Dateline.  For now you must
       manually  break  any  polygon  crossing the dateline into a west and east polygon and plot
       them separately.  Google Earth also has other less obvious limitations  on  file  size  or
       line length.  These do not seem to be documented.  If features do not show and you are not
       getting an error, try to reduce the size of the file by splitting things up.


       Using the KMZ format is preferred as it takes less space. KMZ is simply a KML file and any
       data files, icons, or images referenced by the KML, contained in a zip archive. One way to
       organize large data sets is to split them into  groups  called  Folders.  A  Document  can
       contain any number of folders. Using scripts you can create a composite KML file using the
       -K, -O options just like you do with GMT plots. See -T for switching between  folders  and
       documents.   The  contains function gmt_build_kmz that can assist in
       building a KMZ file from any number of KML files (and optionally  images  they  may  refer


       GMT  stores the different features in hierarchical folders by feature type (when using -O,
       -K or -T/foldername), by input file (if not standard input), and by  line  segment  (using
       the  name  from  the  segment  header,  or -N). This makes it more easy in Google Earth to
       switch on or off parts of the contents of the Document. The following is a crude example:

       [ KML header information; not present if -O was used ]

       <Document><name>GMT Data Document</name>

       <Folder><name>Point Features</name>

       <!--This level of folder is inserted only when using -O, -K>


       <!--One folder for each input file (not when standard input)>

       <Folder><name>Point Set 0</name>

       <!--One folder per line segment>

       <!--Points from the first line segment in file file1.dat go here>

       <Folder><name>Point Set 1</name>

       <!--Points from the second line segment in file file1.dat go here>



       <Folder><name>Line Features</name>


       <!--One folder for each input file (not when standard input)>

       <Placemark><name>Line 0</name>

       <!--Here goes the first line segment>


       <Placemark><name>Line 1</name>

       <!--Here goes the second line segment>





       [ KML trailer information; not present if -K was used ]


       gmt2kml will scan the segment headers for substrings of the form -L"some label" [also  see
       -N  discussion] and -T"some text description". If present, these are parsed to supply name
       and description tags, respectively, for the current feature.


       If you have made a series of KML files (which may depend on other  items  like  local  PNG
       images),  you  can  consolidate  these  into  a  single  KMZ file for saving space and for
       grouping   related   files   together.    The   bash   function   gmt_build_kmz   in   the  can be used to do this.  You need to source
       first before you can use it.


       gmt , gmt.conf,, img2google, kml2gmt , psconvert


       2019, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe