gmt 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/ext/gmt/gmt.c +99 -39
  3. data/lib/gmt.rb +63 -55
  4. metadata +10 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: add57f0a400ff02baf95838b30287a290923d1a56e0ed528f0687649eb173a7d
4
- data.tar.gz: d8e40fad79ec4dffe5973038fc963da69cbc8e9538ac6c0440971277fe47e010
3
+ metadata.gz: bcb103c5d9934352f0d7a88c13b8e6c2478d3fd34dc147b43e437081c456652c
4
+ data.tar.gz: ac99f95bbf7d47b162b7bb5a52e6d5a761d5bafa62149546555cae1bf3dd9878
5
5
  SHA512:
6
- metadata.gz: f820a71b95aee0f2e3ef4306c771ba3e3449f4be109f505c84dadbe396ea955a2914dbcba1bc5bf055f2f6e9985d76ec882e951e1460123babde15e2b4850a90
7
- data.tar.gz: 59fe46c4f7dd9aa045857a9129c948440d56e8209bbbe20848bf6f5f47c7b0ba79c8466155af3a6fd4e9b371046a03941c6663285e60d73b899e1f95f7989fcd
6
+ metadata.gz: aaebef5a24b0f5d72c546b3823f2210f1129195ba1afa6cdc967e81b2808c3a11f520dca9e801b7f100e38162829961202c3f9bbb1134632514a37c9179ef1b3
7
+ data.tar.gz: 1e972987f36a448c7e0389b4ced616c7683f543ad4e289856d61c553d07227487178e505d587459ce5024bc8d952af4db6c17e9a0e2d96f58fd2377fad13605e
@@ -106,7 +106,17 @@ static VALUE gmt_simple(const char *name, int argc, VALUE *argv, VALUE self)
106
106
  return Qtrue;
107
107
  }
108
108
 
109
- /* The GMT functions */
109
+ /*
110
+ The GMT functions
111
+
112
+ We take this list from the GMT documentation for the "classic mode"
113
+ https://docs.generic-mapping-tools.org/latest/modules-classic.html
114
+
115
+ The "modern mode" modules (which have a slicker way of routing and
116
+ combining postscript output) will probably need a different treatment,
117
+ possibly a more attractive on from the Ruby perspective; for now we
118
+ just limit ourselves to the classic mode.
119
+ */
110
120
 
111
121
  #define GMT_FUN(name) \
112
122
  static VALUE gmt_ ## name (int argc, VALUE *argv, VALUE self) \
@@ -114,15 +124,7 @@ static VALUE gmt_ ## name (int argc, VALUE *argv, VALUE self) \
114
124
  return gmt_simple(#name, argc, argv, self); \
115
125
  }
116
126
 
117
- /* Filtering of 1-D and 2-D Data */
118
-
119
- GMT_FUN(blockmean)
120
- GMT_FUN(blockmedian)
121
- GMT_FUN(blockmode)
122
- GMT_FUN(filter1d)
123
- GMT_FUN(grdfilter)
124
-
125
- /* Plotting of 1-D and 2-D Data */
127
+ /* Plotting */
126
128
 
127
129
  GMT_FUN(gmtlogo)
128
130
  GMT_FUN(grdcontour)
@@ -152,7 +154,23 @@ GMT_FUN(pssolar)
152
154
  GMT_FUN(psternary)
153
155
  #endif
154
156
 
155
- /* Gridding of Data Tables */
157
+ #if API_AT_LEAST(6, 0, 0)
158
+ GMT_FUN(psevents)
159
+ #endif
160
+
161
+ /* Filtering */
162
+
163
+ GMT_FUN(blockmean)
164
+ GMT_FUN(blockmedian)
165
+ GMT_FUN(blockmode)
166
+ GMT_FUN(filter1d)
167
+ GMT_FUN(grdfilter)
168
+
169
+ #if API_AT_LEAST(6, 0, 0)
170
+ GMT_FUN(dimfilter)
171
+ #endif
172
+
173
+ /* Gridding */
156
174
 
157
175
  GMT_FUN(greenspline)
158
176
  GMT_FUN(nearneighbor)
@@ -160,20 +178,20 @@ GMT_FUN(sphinterpolate)
160
178
  GMT_FUN(surface)
161
179
  GMT_FUN(triangulate)
162
180
 
163
- /* Sampling of 1-D and 2-D Data */
181
+ /* Sampling of 1-D and 2-D data */
164
182
 
165
183
  GMT_FUN(gmtsimplify)
166
184
  GMT_FUN(grdsample)
167
185
  GMT_FUN(grdtrack)
168
186
  GMT_FUN(sample1d)
169
187
 
170
- /* Projection and Map-transformation */
188
+ /* Projection and map-transformation */
171
189
 
172
190
  GMT_FUN(grdproject)
173
191
  GMT_FUN(mapproject)
174
192
  GMT_FUN(project)
175
193
 
176
- /* Retrieve Information */
194
+ /* Information retrieval */
177
195
 
178
196
  GMT_FUN(gmtdefaults)
179
197
  GMT_FUN(gmtget)
@@ -181,7 +199,7 @@ GMT_FUN(gmtinfo)
181
199
  GMT_FUN(gmtset)
182
200
  GMT_FUN(grdinfo)
183
201
 
184
- /* Mathematical Operations on Tables or Grids */
202
+ /* Mathematical operations on tables or grids */
185
203
 
186
204
  GMT_FUN(gmtmath)
187
205
  GMT_FUN(makecpt)
@@ -190,14 +208,13 @@ GMT_FUN(sph2grd)
190
208
  GMT_FUN(sphdistance)
191
209
  GMT_FUN(sphtriangulate)
192
210
 
193
- /* Convert or Extract Subsets of Data */
211
+ /* Convert or extract subsets of data */
194
212
 
195
213
  GMT_FUN(gmtconnect)
196
214
  GMT_FUN(gmtconvert)
197
215
  GMT_FUN(gmtselect)
198
216
  GMT_FUN(gmtspatial)
199
217
  GMT_FUN(gmtvector)
200
- GMT_FUN(grd2rgb)
201
218
  GMT_FUN(grd2xyz)
202
219
  GMT_FUN(grdblend)
203
220
  GMT_FUN(grdconvert)
@@ -206,14 +223,24 @@ GMT_FUN(grdpaste)
206
223
  GMT_FUN(splitxyz)
207
224
  GMT_FUN(xyz2grd)
208
225
 
209
- /* Determine Trends in 1-D and 2-D Data */
226
+ #if API_AT_LEAST(6, 0, 0)
227
+ GMT_FUN(grd2kml)
228
+ #else
229
+ GMT_FUN(grd2rgb) /* https://github.com/GenericMappingTools/gmt/pull/425 */
230
+ #endif
231
+
232
+ /* trends in 1-D and 2-D data */
210
233
 
211
234
  GMT_FUN(fitcircle)
212
235
  GMT_FUN(gmtregress)
213
236
  GMT_FUN(trend1d)
214
237
  GMT_FUN(trend2d)
215
238
 
216
- /* Other Operations on 2-D Grids */
239
+ #if API_AT_LEAST(6, 0, 0)
240
+ GMT_FUN(grdtrend)
241
+ #endif
242
+
243
+ /* Grid operations */
217
244
 
218
245
  GMT_FUN(grd2cpt)
219
246
  GMT_FUN(grdclip)
@@ -226,12 +253,20 @@ GMT_FUN(grdmask)
226
253
  GMT_FUN(grdmath)
227
254
  GMT_FUN(grdvolume)
228
255
 
229
- /* Miscellaneous Tools */
256
+ #if API_AT_LEAST(6, 0, 0)
257
+ GMT_FUN(grdfill)
258
+ #endif
259
+
260
+ /* Miscellaneous */
230
261
 
231
262
  GMT_FUN(gmt2kml)
232
263
  GMT_FUN(kml2gmt)
233
264
  GMT_FUN(psconvert)
234
265
 
266
+ #if API_AT_LEAST(6, 0, 0)
267
+ GMT_FUN(grdgdal)
268
+ #endif
269
+
235
270
  #undef GMT_FUN
236
271
 
237
272
  #define RB_DPM(name) rb_define_private_method(cGMT, #name "_c", gmt_ ## name, -1)
@@ -244,15 +279,7 @@ void Init_gmt(void)
244
279
  rb_define_method(cGMT, "initialize", gmt_init, 0);
245
280
  rb_define_method(cGMT, "free", gmt_release, 0);
246
281
 
247
- /* Filtering of 1-D and 2-D Data */
248
-
249
- RB_DPM(blockmean);
250
- RB_DPM(blockmedian);
251
- RB_DPM(blockmode);
252
- RB_DPM(filter1d);
253
- RB_DPM(grdfilter);
254
-
255
- /* Plotting of 1-D and 2-D Data */
282
+ /* Plotting */
256
283
 
257
284
  RB_DPM(gmtlogo);
258
285
  RB_DPM(grdcontour);
@@ -282,7 +309,23 @@ void Init_gmt(void)
282
309
  RB_DPM(psternary);
283
310
  #endif
284
311
 
285
- /* Gridding of Data Tables */
312
+ #if API_AT_LEAST(6, 0, 0)
313
+ RB_DPM(psevents);
314
+ #endif
315
+
316
+ /* Filtering */
317
+
318
+ RB_DPM(blockmean);
319
+ RB_DPM(blockmedian);
320
+ RB_DPM(blockmode);
321
+ RB_DPM(filter1d);
322
+ RB_DPM(grdfilter);
323
+
324
+ #if API_AT_LEAST(6, 0, 0)
325
+ RB_DPM(dimfilter);
326
+ #endif
327
+
328
+ /* Gridding */
286
329
 
287
330
  RB_DPM(greenspline);
288
331
  RB_DPM(nearneighbor);
@@ -290,20 +333,20 @@ void Init_gmt(void)
290
333
  RB_DPM(surface);
291
334
  RB_DPM(triangulate);
292
335
 
293
- /* Sampling of 1-D and 2-D Data */
336
+ /* Sampling of 1-D and 2-D data */
294
337
 
295
338
  RB_DPM(gmtsimplify);
296
339
  RB_DPM(grdsample);
297
340
  RB_DPM(grdtrack);
298
341
  RB_DPM(sample1d);
299
342
 
300
- /* Projection and Map-transformation */
343
+ /* Projection and map-transformation */
301
344
 
302
345
  RB_DPM(grdproject);
303
346
  RB_DPM(mapproject);
304
347
  RB_DPM(project);
305
348
 
306
- /* Retrieve Information */
349
+ /* Information retrieval */
307
350
 
308
351
  RB_DPM(gmtdefaults);
309
352
  RB_DPM(gmtget);
@@ -311,7 +354,7 @@ void Init_gmt(void)
311
354
  RB_DPM(gmtset);
312
355
  RB_DPM(grdinfo);
313
356
 
314
- /* Mathematical Operations on Tables or Grids */
357
+ /* Mathematical operations on tables or grids */
315
358
 
316
359
  RB_DPM(gmtmath);
317
360
  RB_DPM(makecpt);
@@ -320,14 +363,13 @@ void Init_gmt(void)
320
363
  RB_DPM(sphdistance);
321
364
  RB_DPM(sphtriangulate);
322
365
 
323
- /* Convert or Extract Subsets of Data */
366
+ /* Convert or extract subsets of data */
324
367
 
325
368
  RB_DPM(gmtconnect);
326
369
  RB_DPM(gmtconvert);
327
370
  RB_DPM(gmtselect);
328
371
  RB_DPM(gmtspatial);
329
372
  RB_DPM(gmtvector);
330
- RB_DPM(grd2rgb);
331
373
  RB_DPM(grd2xyz);
332
374
  RB_DPM(grdblend);
333
375
  RB_DPM(grdconvert);
@@ -336,14 +378,24 @@ void Init_gmt(void)
336
378
  RB_DPM(splitxyz);
337
379
  RB_DPM(xyz2grd);
338
380
 
339
- /* Determine Trends in 1-D and 2-D Data */
381
+ #if API_AT_LEAST(6, 0, 0)
382
+ RB_DPM(grd2kml);
383
+ #else
384
+ RB_DPM(grd2rgb); /* https://github.com/GenericMappingTools/gmt/pull/425 */
385
+ #endif
386
+
387
+ /* Trends in 1-D and 2-D data */
340
388
 
341
389
  RB_DPM(fitcircle);
342
390
  RB_DPM(gmtregress);
343
391
  RB_DPM(trend1d);
344
392
  RB_DPM(trend2d);
345
393
 
346
- /* Other Operations on 2-D Grids */
394
+ #if API_AT_LEAST(6, 0, 0)
395
+ RB_DPM(grdtrend);
396
+ #endif
397
+
398
+ /* Grid operations */
347
399
 
348
400
  RB_DPM(grd2cpt);
349
401
  RB_DPM(grdclip);
@@ -356,12 +408,20 @@ void Init_gmt(void)
356
408
  RB_DPM(grdmath);
357
409
  RB_DPM(grdvolume);
358
410
 
359
- /* Miscellaneous Tools */
411
+ #if API_AT_LEAST(6, 0, 0)
412
+ RB_DPM(grdfill);
413
+ #endif
414
+
415
+ /* Miscellaneous */
360
416
 
361
417
  RB_DPM(gmt2kml);
362
418
  RB_DPM(kml2gmt);
363
419
  RB_DPM(psconvert);
364
420
 
421
+ #if API_AT_LEAST(6, 0, 0)
422
+ RB_DPM(grdgdal);
423
+ #endif
424
+
365
425
  /* version constants */
366
426
 
367
427
  rb_define_const(cGMT, "VERSION_MAJOR", INT2NUM(GMT_MAJOR_VERSION));
data/lib/gmt.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # This class provides a native extension accessing the programs of
2
- # the {http://gmt.soest.hawaii.edu/home Generic Mapping Tools};
2
+ # the {https://docs.generic-mapping-tools.org Generic Mapping Tools};
3
3
  # an open source collection of about 80 command-line tools for
4
4
  # manipulating geographic and Cartesian data sets (including filtering,
5
5
  # trend fitting, gridding, projecting, etc.) and producing PostScript
@@ -13,16 +13,8 @@
13
13
  # common = { file: 'output.ps', R: '0/3/0/2', J: 'x1i' }
14
14
  #
15
15
  # GMT.session do |gmt|
16
- # gmt.psxy('dots.xy',
17
- # common.merge(
18
- # position: :first,
19
- # S: 'c0.50c',
20
- # G: 'blue'))
21
- # gmt.psxy('dots.xy',
22
- # common.merge(
23
- # position: :last,
24
- # S: 'c0.25c',
25
- # G: 'red'))
16
+ # gmt.psxy('dots.xy', position: :first, S: 'c0.50c', G: 'blue', **common)
17
+ # gmt.psxy('dots.xy', position: :last, S: 'c0.25c', G: 'red', **common)
26
18
  # end
27
19
  #
28
20
  # Those familiar with GMT will recognise the +-R+ (range) and +-J+ (projection)
@@ -50,20 +42,19 @@
50
42
  # single options hash. The options hash corresponds to the command-line
51
43
  # options of the GMT program; hence the shell command
52
44
  #
53
- # gmt makecpt -Cgebco depths.txt -i2 -Z -E24 > my_depths.cpt
45
+ # gmt makecpt -Cgebco depths.txt -i2 -Z -E24 > bath.cpt
54
46
  #
55
47
  # would be replicated by the Ruby
56
48
  #
57
49
  # gmt = GMT.new
58
- # gmt.makecpt('depths.txt',
59
- # C: 'gebco', i: 2, Z: nil, E: 24, :> => 'my_depths.cpt')
50
+ # gmt.makecpt('depths.txt', C: 'gebco', i: 2, Z: nil, E: 24, :> => 'bath.cpt')
60
51
  #
61
52
  # Note that
62
53
  # - the argument(s) (the input file <code>'depths.txt'</code>) preceed(s)
63
54
  # the options hash
64
55
  # - the options hash has keys which are symbols
65
56
  # - options which lack arguments correspond to hash keys with nil values
66
- # <code>:Z => nil</code>.
57
+ # <code>Z: nil</code>.
67
58
  # - the output redirection is _also_ treated as hash option, with key
68
59
  # <code>:></code> and value which is the output file.
69
60
  #
@@ -71,8 +62,7 @@
71
62
  # _argument_, but recall that arguments must proceed the options hash,
72
63
  # so the above would be
73
64
  #
74
- # gmt.makecpt('depths.txt',
75
- # :Z, C: 'gebco', i: 2, E: 24, :> => 'my_depths.cpt')
65
+ # gmt.makecpt('depths.txt', :Z, C: 'gebco', i: 2, E: 24, :> => 'bath.cpt')
76
66
  #
77
67
  # using this format.
78
68
  #
@@ -84,17 +74,17 @@
84
74
  # and error-prone on the command-line, and more so in the "options hash"
85
75
  # representation in the Ruby module.
86
76
  #
87
- # So we add some syntatactic sugar for these PostScript functions: if the
77
+ # So we add some syntactic sugar for these PostScript functions: if the
88
78
  # options hash has the keys +:position+ (with values one of +:first+, +:middle+,
89
79
  # or +:last+) and +:file+ (with the value of the ouptut file), then the
90
80
  # +-O+ and +-K+ options and the output redirection are handled by the class.
91
81
  # So one might write
92
82
  #
93
83
  # gmt = GMT.new
94
- # gmt.psbasemap( …, file: 'map.ps', position: :first)
95
- # gmt.pstext( …, file: 'map.ps', position: :middle)
96
- # gmt.psxy( …, file: 'map.ps', position: :middle)
97
- # gmt.pslogo( …, file: 'map.ps', position: :last)
84
+ # gmt.psbasemap( ..., file: 'map.ps', position: :first)
85
+ # gmt.pstext( ..., file: 'map.ps', position: :middle)
86
+ # gmt.psxy( ..., file: 'map.ps', position: :middle)
87
+ # gmt.pslogo( ..., file: 'map.ps', position: :last)
98
88
  #
99
89
  class GMT
100
90
 
@@ -142,7 +132,7 @@ class GMT
142
132
  # @param [Array<String>] files The input files
143
133
  # @param [Hash] options The GMT command-line options in hash form
144
134
  # @return [Boolean] +true+ on success
145
- # @see http://gmt.soest.hawaii.edu/doc/latest/$1.html
135
+ # @see https://docs.generic-mapping-tools.org/latest/$1.html
146
136
  def wrapper_ps(method)
147
137
  define_method(method) do |*args, **opts|
148
138
  args, opts = arg_opt_normalise(args, opts)
@@ -157,7 +147,7 @@ class GMT
157
147
  # @param [Array<String>] arguments The arguments
158
148
  # @param [Hash] options The GMT command-line options in hash form
159
149
  # @return [Boolean] +true+ on success
160
- # @see http://gmt.soest.hawaii.edu/doc/latest/$1.html
150
+ # @see https://docs.generic-mapping-tools.org/latest/$1.html
161
151
  def wrapper_other(method)
162
152
  define_method(method) do |*args, **opts|
163
153
  args, opts = arg_opt_normalise(args, opts)
@@ -215,11 +205,11 @@ class GMT
215
205
  file_opts =
216
206
  case position
217
207
  when :first, 'first'
218
- { :K => nil, :> => file }
208
+ { K: nil, :> => file }
219
209
  when :middle, 'middle'
220
- { :O => nil, :K => nil, :>> => file }
210
+ { O: nil, K: nil, :>> => file }
221
211
  when :last, 'last'
222
- { :O => nil, :>> => file }
212
+ { O: nil, :>> => file }
223
213
  else
224
214
  raise ArgumentError, 'position should be :first, :middle or :last'
225
215
  end
@@ -257,25 +247,7 @@ class GMT
257
247
 
258
248
  public
259
249
 
260
- # @!group Filtering of 1-D and 2-D Data
261
-
262
- # L2 (x,y,z) table data filter/decimator
263
- wrapper_other :blockmean
264
-
265
- # L1 (x,y,z) table data filter/decimator
266
- wrapper_other :blockmedian
267
-
268
- # Mode estimate (x,y,z) table data filter/decimator
269
- wrapper_other :blockmode
270
-
271
- # Time domain filtering of 1-D data tables
272
- wrapper_other :filter1d
273
-
274
- # Filter 2-D gridded data sets in the space domain
275
- wrapper_other :grdfilter
276
-
277
-
278
- # @!group Plotting of 1-D and 2-D Data
250
+ # @!group Plotting
279
251
 
280
252
  # Plot the GMT logo on maps
281
253
  wrapper_ps :gmtlogo
@@ -340,8 +312,32 @@ class GMT
340
312
  # Plot data on ternary diagrams
341
313
  wrapper_ps :psternary
342
314
 
315
+ # Plot event symbols and labels for a moment in time
316
+ wrapper_ps :psevents
317
+
318
+
319
+ # @!group Filtering
320
+
321
+ # L2 (x,y,z) table data filter/decimator
322
+ wrapper_other :blockmean
323
+
324
+ # L1 (x,y,z) table data filter/decimator
325
+ wrapper_other :blockmedian
326
+
327
+ # Mode estimate (x,y,z) table data filter/decimator
328
+ wrapper_other :blockmode
329
+
330
+ # Time domain filtering of 1-D data tables
331
+ wrapper_other :filter1d
332
+
333
+ # Filter 2-D gridded data sets in the space domain
334
+ wrapper_other :grdfilter
335
+
336
+ # Directional filtering of grids in the space domain
337
+ wrapper_other :dimfilter
343
338
 
344
- # @!group Gridding of Data Tables
339
+
340
+ # @!group Gridding
345
341
 
346
342
  # Interpolation with Green’s functions for splines in 1–3 D
347
343
  wrapper_other :greenspline
@@ -359,7 +355,7 @@ class GMT
359
355
  wrapper_other :triangulate
360
356
 
361
357
 
362
- # @!group Sampling of 1-D and 2-D Data
358
+ # @!group Sampling of 1-D and 2-D data
363
359
 
364
360
  # Line reduction using the Douglas-Peucker algorithm
365
361
  wrapper_other :gmtsimplify
@@ -374,7 +370,7 @@ class GMT
374
370
  wrapper_other :sample1d
375
371
 
376
372
 
377
- # @!group Projection and Map-transformation
373
+ # @!group Projection and map-transformation
378
374
 
379
375
  # Project gridded data sets onto a new coordinate system
380
376
  wrapper_other :grdproject
@@ -386,7 +382,7 @@ class GMT
386
382
  wrapper_other :project
387
383
 
388
384
 
389
- # @!group Retrieve Information
385
+ # @!group Information retrieval
390
386
 
391
387
  # List the current default settings
392
388
  wrapper_other :gmtdefaults
@@ -404,7 +400,7 @@ class GMT
404
400
  wrapper_other :grdinfo
405
401
 
406
402
 
407
- # @!group Mathematical Operations on Tables or Grids
403
+ # @!group Mathematical operations on tables or grids
408
404
 
409
405
  # Mathematical operations on table data
410
406
  wrapper_other :gmtmath
@@ -425,7 +421,7 @@ class GMT
425
421
  wrapper_other :sphtriangulate
426
422
 
427
423
 
428
- # @!group Convert or Extract Subsets of Data
424
+ # @!group Convert or extract subsets of data
429
425
 
430
426
  # Connect segments into more complete lines or polygons
431
427
  wrapper_other :gmtconnect
@@ -466,8 +462,11 @@ class GMT
466
462
  # Convert an equidistant table xyz file to a 2-D grid file
467
463
  wrapper_other :xyz2grd
468
464
 
465
+ # Create KML image quadtree from single grid
466
+ wrapper_other :grd2kml
467
+
469
468
 
470
- # @!group Determine Trends in 1-D and 2-D Data
469
+ # @!group Trends in 1-D and 2-D data
471
470
 
472
471
  # Finds the best-fitting great or small circle for a set of points
473
472
  wrapper_other :fitcircle
@@ -481,8 +480,11 @@ class GMT
481
480
  # Fits polynomial trends to z = f(x,y) series
482
481
  wrapper_other :trend2d
483
482
 
483
+ # Fit trend surface to grids and compute residuals
484
+ wrapper_other :grdtrend
485
+
484
486
 
485
- # @!group Other Operations on 2-D Grids
487
+ # @!group Grid operations
486
488
 
487
489
  # Make color palette table from a grid files
488
490
  wrapper_other :grd2cpt
@@ -514,8 +516,11 @@ class GMT
514
516
  # Calculate volumes under a surface within specified contour
515
517
  wrapper_other :grdvolume
516
518
 
519
+ # Interpolate across holes in a grid
520
+ wrapper_other :grdfill
517
521
 
518
- # @!group Miscellaneous Tools
522
+
523
+ # @!group Miscellaneous
519
524
 
520
525
  # Like psxy but plots KML for use in Google Earth
521
526
  wrapper_other :gmt2kml
@@ -526,6 +531,9 @@ class GMT
526
531
  # Crop and convert PostScript files to raster images, EPS, and PDF
527
532
  wrapper_other :psconvert
528
533
 
534
+ # Execute GDAL raster programs from GMT
535
+ wrapper_other :grdgdal
536
+
529
537
  end
530
538
 
531
539
  require 'gmt/gmt'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gmt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - J.J. Green
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-29 00:00:00.000000000 Z
11
+ date: 2020-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1'
19
+ version: '2'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1'
26
+ version: '2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '12.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '12.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1'
97
97
  description: |
98
- A Ruby extension for the Generic Mapping Tools (GMT5)
98
+ A Ruby extension for the Generic Mapping Tools (GMT5/6)
99
99
  cartographic toolset.
100
100
  email: j.j.green@gmx.co.uk
101
101
  executables: []
@@ -128,11 +128,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0'
130
130
  requirements:
131
- - GMT5 development libraries (compile)
132
- - GMT5 installation (test)
131
+ - GMT5/6 development libraries (compile)
132
+ - GMT5/6 installation (test)
133
133
  - ghostscript (test)
134
- rubyforge_project:
135
- rubygems_version: 2.7.6
134
+ rubygems_version: 3.1.2
136
135
  signing_key:
137
136
  specification_version: 4
138
137
  summary: Generic Mapping Tools (GMT)