Provided by: gmt-common_5.4.3+dfsg-1_all bug

NAME

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

SYNOPSIS

       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.

DESCRIPTION

       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.

REQUIRED ARGUMENTS

       None.

OPTIONAL ARGUMENTS

       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.

       -Aa|g|s[alt|xscale]
              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.

       -Ddescriptfile
              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.

       -E[altitude]
              Extrude feature down to ground level [no extrusion].

       -Fe|s|t|l|p|w
              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.

       -Gf|nfill
              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  http://maps.google.com/mapfiles/kml/
              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].

       -Lname1,name2,…
              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.

       -N[-|+|name_template|name]
              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].

       -Qa|iazimuth
              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.

       -Qsscale[unit]
              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.

       -Ra|w/e/s/n
              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].

       -Sc|nscale]
              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].

       -Ttitle[/foldername]
              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
              [closed].

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

       -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.

EXAMPLES

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

              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 temp.nc and plot them in KML, using red lines
       at 75% transparency and red labels (no transparency), try

              gmt grdcontour temp.nc -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, try

              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

LIMITATIONS

       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.

MAKING KMZ FILES

       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 gmt_shell_scripts.sh 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 to).

KML HIERARCHY

       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>

       <Folder><name>file1.dat</name>

       <!–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>

       </Folder>

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

       <Folder><name>file1.dat</name>

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

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

       <!–Here goes the first line segment>

       </Placemark>

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

       <!–Here goes the second line segment>

       </Placemark>

       </Folder>

       <Folder>

       </Document>

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

SEGMENT INFORMATION

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

MAKING KMZ FILES

       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 gmt_shell_functions.sh can be used to do this.  You need to source
       gmt_shell_functions.sh first before you can use it.

SEE ALSO

       gmt , gmt.conf, gmt_shell_functions.sh, img2google, kml2gmt , psconvert

COPYRIGHT

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

5.4.3                                             Jan 03, 2018                                     GMT2KML(1gmt)