ctioga2 0.7 → 0.8

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 (107) hide show
  1. data/Changelog +8 -0
  2. data/lib/ctioga2/commands/arguments.rb +0 -2
  3. data/lib/ctioga2/commands/commands.rb +0 -2
  4. data/lib/ctioga2/commands/context.rb +0 -2
  5. data/lib/ctioga2/commands/doc/doc.rb +0 -2
  6. data/lib/ctioga2/commands/doc/documentation-commands.rb +0 -2
  7. data/lib/ctioga2/commands/doc/help.rb +0 -2
  8. data/lib/ctioga2/commands/doc/html.rb +0 -2
  9. data/lib/ctioga2/commands/doc/introspection.rb +0 -2
  10. data/lib/ctioga2/commands/doc/man.rb +0 -2
  11. data/lib/ctioga2/commands/doc/markup.rb +0 -2
  12. data/lib/ctioga2/commands/doc/wordwrap.rb +0 -2
  13. data/lib/ctioga2/commands/general-commands.rb +0 -2
  14. data/lib/ctioga2/commands/general-types.rb +0 -2
  15. data/lib/ctioga2/commands/groups.rb +0 -2
  16. data/lib/ctioga2/commands/interpreter.rb +0 -2
  17. data/lib/ctioga2/commands/parsers/command-line.rb +0 -2
  18. data/lib/ctioga2/commands/parsers/file.rb +0 -2
  19. data/lib/ctioga2/commands/parsers/old-file.rb +0 -2
  20. data/lib/ctioga2/commands/strings.rb +0 -2
  21. data/lib/ctioga2/commands/type.rb +0 -2
  22. data/lib/ctioga2/commands/variables.rb +0 -2
  23. data/lib/ctioga2/data/backends/backend.rb +0 -3
  24. data/lib/ctioga2/data/backends/backends/direct.rb +0 -3
  25. data/lib/ctioga2/data/backends/backends/gnuplot.rb +0 -3
  26. data/lib/ctioga2/data/backends/backends/math.rb +0 -2
  27. data/lib/ctioga2/data/backends/backends/text.rb +0 -3
  28. data/lib/ctioga2/data/backends/description.rb +0 -3
  29. data/lib/ctioga2/data/backends/factory.rb +18 -2
  30. data/lib/ctioga2/data/backends/parameter.rb +0 -2
  31. data/lib/ctioga2/data/datacolumn.rb +0 -2
  32. data/lib/ctioga2/data/dataset.rb +5 -3
  33. data/lib/ctioga2/data/filters.rb +0 -3
  34. data/lib/ctioga2/data/indexed-dtable.rb +0 -3
  35. data/lib/ctioga2/data/point.rb +0 -3
  36. data/lib/ctioga2/data/stack.rb +2 -4
  37. data/lib/ctioga2/graphics/coordinates.rb +0 -2
  38. data/lib/ctioga2/graphics/elements.rb +1 -2
  39. data/lib/ctioga2/graphics/elements/containers.rb +32 -2
  40. data/lib/ctioga2/graphics/elements/contour.rb +0 -2
  41. data/lib/ctioga2/graphics/elements/curve2d.rb +0 -2
  42. data/lib/ctioga2/graphics/elements/element.rb +4 -2
  43. data/lib/ctioga2/graphics/elements/gradient-region.rb +0 -2
  44. data/lib/ctioga2/graphics/elements/histogram.rb +298 -0
  45. data/lib/ctioga2/graphics/elements/parametric2d.rb +7 -3
  46. data/lib/ctioga2/graphics/elements/primitive.rb +0 -2
  47. data/lib/ctioga2/graphics/elements/redirecting-container.rb +21 -2
  48. data/lib/ctioga2/graphics/elements/region.rb +0 -2
  49. data/lib/ctioga2/graphics/elements/subplot.rb +0 -2
  50. data/lib/ctioga2/graphics/elements/tangent.rb +0 -2
  51. data/lib/ctioga2/graphics/elements/xyz-contour.rb +0 -2
  52. data/lib/ctioga2/graphics/elements/xyz-map.rb +0 -2
  53. data/lib/ctioga2/graphics/generator.rb +47 -42
  54. data/lib/ctioga2/graphics/legends.rb +0 -2
  55. data/lib/ctioga2/graphics/legends/area.rb +0 -2
  56. data/lib/ctioga2/graphics/legends/items.rb +0 -2
  57. data/lib/ctioga2/graphics/legends/multicols.rb +0 -2
  58. data/lib/ctioga2/graphics/legends/provider.rb +0 -2
  59. data/lib/ctioga2/graphics/legends/storage.rb +0 -2
  60. data/lib/ctioga2/graphics/root.rb +0 -2
  61. data/lib/ctioga2/graphics/styles/arrows.rb +0 -2
  62. data/lib/ctioga2/graphics/styles/axes.rb +0 -2
  63. data/lib/ctioga2/graphics/styles/background.rb +0 -2
  64. data/lib/ctioga2/graphics/styles/base.rb +4 -2
  65. data/lib/ctioga2/graphics/styles/box.rb +0 -2
  66. data/lib/ctioga2/graphics/styles/carrays.rb +0 -2
  67. data/lib/ctioga2/graphics/styles/colormap.rb +0 -2
  68. data/lib/ctioga2/graphics/styles/contour.rb +0 -2
  69. data/lib/ctioga2/graphics/styles/curve.rb +0 -2
  70. data/lib/ctioga2/graphics/styles/drawable.rb +0 -2
  71. data/lib/ctioga2/graphics/styles/errorbar.rb +0 -2
  72. data/lib/ctioga2/graphics/styles/factory.rb +0 -2
  73. data/lib/ctioga2/graphics/styles/gradients.rb +0 -2
  74. data/lib/ctioga2/graphics/styles/legend.rb +0 -2
  75. data/lib/ctioga2/graphics/styles/location.rb +0 -2
  76. data/lib/ctioga2/graphics/styles/map-axes.rb +0 -2
  77. data/lib/ctioga2/graphics/styles/plot-types.rb +51 -3
  78. data/lib/ctioga2/graphics/styles/plot.rb +0 -2
  79. data/lib/ctioga2/graphics/styles/sets.rb +0 -2
  80. data/lib/ctioga2/graphics/styles/sheet.rb +0 -2
  81. data/lib/ctioga2/graphics/styles/texts.rb +0 -2
  82. data/lib/ctioga2/graphics/styles/ticks.rb +0 -2
  83. data/lib/ctioga2/graphics/subplot-commands.rb +0 -2
  84. data/lib/ctioga2/graphics/types.rb +11 -4
  85. data/lib/ctioga2/graphics/types/bijection.rb +0 -2
  86. data/lib/ctioga2/graphics/types/boundaries.rb +0 -2
  87. data/lib/ctioga2/graphics/types/boxes.rb +0 -2
  88. data/lib/ctioga2/graphics/types/dimensions.rb +0 -2
  89. data/lib/ctioga2/graphics/types/fill.rb +27 -15
  90. data/lib/ctioga2/graphics/types/grid.rb +0 -2
  91. data/lib/ctioga2/graphics/types/location.rb +0 -2
  92. data/lib/ctioga2/graphics/types/point.rb +0 -2
  93. data/lib/ctioga2/log.rb +0 -2
  94. data/lib/ctioga2/metabuilder/type.rb +0 -2
  95. data/lib/ctioga2/metabuilder/types/coordinates.rb +0 -2
  96. data/lib/ctioga2/metabuilder/types/data.rb +0 -2
  97. data/lib/ctioga2/metabuilder/types/dates.rb +0 -1
  98. data/lib/ctioga2/metabuilder/types/generic.rb +0 -3
  99. data/lib/ctioga2/metabuilder/types/lists.rb +25 -3
  100. data/lib/ctioga2/metabuilder/types/numbers.rb +0 -2
  101. data/lib/ctioga2/metabuilder/types/strings.rb +0 -3
  102. data/lib/ctioga2/metabuilder/types/styles.rb +0 -2
  103. data/lib/ctioga2/plotmaker.rb +2 -4
  104. data/lib/ctioga2/postprocess.rb +0 -2
  105. data/lib/ctioga2/utils.rb +6 -64
  106. data/lib/ctioga2/version.rb +8 -0
  107. metadata +6 -4
data/Changelog CHANGED
@@ -1,3 +1,11 @@
1
+ ctioga2 (0.8)
2
+
3
+ * New plot type for making histograms (including cumulative histograms)
4
+ * xcolor-style set mixing specification (ie --fill-color default!10)
5
+ * Bug fixes and documentation updates
6
+
7
+ -- Vincent <vincent.fourmond@9online.fr> Fri 27 Dec 00:01:50 CET 2013
8
+
1
9
  ctioga2 (0.7)
2
10
 
3
11
  * It is now possible to index marker size index on Z values for
@@ -16,8 +16,6 @@ require 'ctioga2/commands/type'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 383 $', '$Date: 2013-03-11 21:57:53 +0100 (Mon, 11 Mar 2013) $')
20
-
21
19
  module Commands
22
20
 
23
21
  # An argument to a Command
@@ -17,8 +17,6 @@ require 'ctioga2/commands/groups'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 518 $', '$Date: 2013-09-19 21:43:58 +0200 (Thu, 19 Sep 2013) $')
21
-
22
20
  module Commands
23
21
 
24
22
  # An exception raised when the command is called with an insufficient
@@ -16,8 +16,6 @@ require 'ctioga2/commands/type'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision$', '$Date$')
20
-
21
19
  module Commands
22
20
 
23
21
  # Context of parsing, mostly for error reporting
@@ -17,8 +17,6 @@ require 'ctioga2/commands/doc/markup'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 138 $', '$Date: 2010-01-21 22:39:55 +0100 (Thu, 21 Jan 2010) $')
21
-
22
20
  module Commands
23
21
 
24
22
  # The base of the 'self-documentation' of CTioga2
@@ -20,8 +20,6 @@ require 'ctioga2/commands/doc/markup'
20
20
 
21
21
  module CTioga2
22
22
 
23
- Version::register_svn_info('$Revision: 106 $', '$Date: 2009-10-21 01:31:34 +0200 (Wed, 21 Oct 2009) $')
24
-
25
23
  module Commands
26
24
 
27
25
  # The base of the 'self-documentation' of CTioga2
@@ -18,8 +18,6 @@ require 'ctioga2/commands/doc/wordwrap'
18
18
 
19
19
  module CTioga2
20
20
 
21
- Version::register_svn_info('$Revision: 532 $', '$Date: 2013-09-29 12:13:33 +0200 (Sun, 29 Sep 2013) $')
22
-
23
21
  module Commands
24
22
 
25
23
  module Documentation
@@ -16,8 +16,6 @@ require 'ctioga2/commands/commands'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 409 $', '$Date: 2013-08-22 21:23:51 +0200 (Thu, 22 Aug 2013) $')
20
-
21
19
  module Commands
22
20
 
23
21
  module Documentation
@@ -16,8 +16,6 @@ require 'ctioga2/commands/commands'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 430 $', '$Date: 2013-08-23 14:23:52 +0200 (Fri, 23 Aug 2013) $')
20
-
21
19
  module Commands
22
20
 
23
21
  module Documentation
@@ -18,8 +18,6 @@ require 'ctioga2/commands/parsers/command-line'
18
18
 
19
19
  module CTioga2
20
20
 
21
- Version::register_svn_info('$Revision: 213 $', '$Date: 2010-12-31 02:50:00 +0100 (Fri, 31 Dec 2010) $')
22
-
23
21
  module Commands
24
22
 
25
23
  module Documentation
@@ -16,8 +16,6 @@ require 'ctioga2/log'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 216 $', '$Date: 2010-12-31 16:18:17 +0100 (Fri, 31 Dec 2010) $')
20
-
21
19
  module Commands
22
20
 
23
21
  module Documentation
@@ -17,8 +17,6 @@ require 'ctioga2/commands/parsers/command-line'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 131 $', '$Date: 2010-01-14 22:51:09 +0100 (Thu, 14 Jan 2010) $')
21
-
22
20
  module Commands
23
21
 
24
22
  module Documentation
@@ -17,8 +17,6 @@ require 'ctioga2/commands/parsers/file'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 508 $', '$Date: 2013-09-09 22:13:14 +0200 (Mon, 09 Sep 2013) $')
21
-
22
20
  module Commands
23
21
 
24
22
  # General scope commands.
@@ -15,8 +15,6 @@ require 'ctioga2/utils'
15
15
 
16
16
  module CTioga2
17
17
 
18
- Version::register_svn_info('$Revision: 517 $', '$Date: 2013-09-19 18:28:15 +0200 (Thu, 19 Sep 2013) $')
19
-
20
18
  module Commands
21
19
 
22
20
  # A file name.
@@ -16,8 +16,6 @@ require 'ctioga2/metabuilder/types'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 14 $', '$Date: 2009-04-27 21:49:16 +0200 (Mon, 27 Apr 2009) $')
20
-
21
19
  module Commands
22
20
 
23
21
  # A group of commands, organized along a same theme.
@@ -21,8 +21,6 @@ require 'ctioga2/commands/doc/doc'
21
21
 
22
22
  module CTioga2
23
23
 
24
- Version::register_svn_info('$Revision: 512 $', '$Date: 2013-09-11 13:20:24 +0200 (Wed, 11 Sep 2013) $')
25
-
26
24
  # This module contains the real core of ctioga2: a set of classes
27
25
  # that implement the concept of commands. Each command translates
28
26
  # into an action (of any kind).
@@ -17,8 +17,6 @@ require 'ctioga2/commands/commands'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 327 $', '$Date: 2012-11-28 14:47:52 +0100 (Wed, 28 Nov 2012) $')
21
-
22
20
  module Commands
23
21
 
24
22
  # In this modules are classes that parse a source of commands, and
@@ -20,8 +20,6 @@ require 'ctioga2/commands/parsers/old-file'
20
20
 
21
21
  module CTioga2
22
22
 
23
- Version::register_svn_info('$Revision: 420 $', '$Date: 2013-08-23 01:05:44 +0200 (Fri, 23 Aug 2013) $')
24
-
25
23
  module Commands
26
24
 
27
25
  module Parsers
@@ -19,8 +19,6 @@ require 'ctioga2/commands/strings'
19
19
 
20
20
  module CTioga2
21
21
 
22
- Version::register_svn_info('$Revision: 392 $', '$Date: 2013-06-23 01:05:02 +0200 (Sun, 23 Jun 2013) $')
23
-
24
22
  module Commands
25
23
 
26
24
  module Parsers
@@ -16,8 +16,6 @@ require 'stringio' # For debugging purposes
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 400 $', '$Date: 2013-08-19 17:29:57 +0200 (Mon, 19 Aug 2013) $')
20
-
21
19
  module Commands
22
20
 
23
21
  class UnterminatedString < Exception
@@ -16,8 +16,6 @@ require 'ctioga2/metabuilder/types'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 173 $', '$Date: 2010-10-22 21:41:39 +0200 (Fri, 22 Oct 2010) $')
20
-
21
19
  module Commands
22
20
 
23
21
  # A named type, based on CTioga2::MetaBuilder::Type
@@ -16,8 +16,6 @@ require 'ctioga2/commands/strings'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 302 $', '$Date: 2012-01-03 14:02:43 +0100 (Tue, 03 Jan 2012) $')
20
-
21
19
  module Commands
22
20
 
23
21
  class RecursiveExpansion < Exception
@@ -21,9 +21,6 @@ require 'ctioga2/data/backends/description'
21
21
 
22
22
  module CTioga2
23
23
 
24
- Version::register_svn_info('$Revision: 155 $', '$Date: 2010-06-21 21:41:32 +0200 (Mon, 21 Jun 2010) $')
25
-
26
-
27
24
  module Data
28
25
 
29
26
  # The Backends are in charge of acquiring DataSet from various
@@ -25,9 +25,6 @@ require 'stringio'
25
25
 
26
26
  module CTioga2
27
27
 
28
- Version::register_svn_info('$Revision$', '$Date$')
29
-
30
-
31
28
  module Data
32
29
 
33
30
  module Backends
@@ -25,9 +25,6 @@ require 'stringio'
25
25
 
26
26
  module CTioga2
27
27
 
28
- Version::register_svn_info('$Revision: 151 $', '$Date: 2010-06-19 23:45:20 +0200 (Sat, 19 Jun 2010) $')
29
-
30
-
31
28
  module Data
32
29
 
33
30
  module Backends
@@ -21,8 +21,6 @@ require 'Dobjects/Function'
21
21
 
22
22
  module CTioga2
23
23
 
24
- Version::register_svn_info('$Revision: 451 $', '$Date: 2013-08-29 01:28:30 +0200 (Thu, 29 Aug 2013) $')
25
-
26
24
  module Data
27
25
 
28
26
  module Backends
@@ -25,9 +25,6 @@ require 'stringio'
25
25
 
26
26
  module CTioga2
27
27
 
28
- Version::register_svn_info('$Revision: 524 $', '$Date: 2013-09-22 16:18:39 +0200 (Sun, 22 Sep 2013) $')
29
-
30
-
31
28
  module Data
32
29
 
33
30
  # A module for easy use of NaN in operations
@@ -22,9 +22,6 @@ require 'ctioga2/commands/groups'
22
22
 
23
23
  module CTioga2
24
24
 
25
- Version::register_svn_info('$Revision: 307 $', '$Date: 2012-01-05 14:50:43 +0100 (Thu, 05 Jan 2012) $')
26
-
27
-
28
25
  module Data
29
26
 
30
27
  module Backends
@@ -16,12 +16,11 @@
16
16
  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
17
 
18
18
  require 'ctioga2/utils'
19
+ require 'ctioga2/log'
19
20
  require 'ctioga2/data/backends/backend'
20
21
 
21
22
  module CTioga2
22
23
 
23
- Version::register_svn_info('$Revision: 2 $', '$Date: 2009-04-25 14:03:30 +0200 (Sat, 25 Apr 2009) $')
24
-
25
24
  module Data
26
25
 
27
26
  module Backends
@@ -30,6 +29,8 @@ module CTioga2
30
29
  # available, and features a 'current backend'.
31
30
  class BackendFactory
32
31
 
32
+ include Log
33
+
33
34
  # A hash name (as in Description#name) -> Backend
34
35
  attr_accessor :backends
35
36
 
@@ -58,6 +59,21 @@ module CTioga2
58
59
  @current = @backends[backend]
59
60
  end
60
61
 
62
+ # Returns the backend named in the 'as' key of options, or the
63
+ # current backend if there isn't
64
+ def specified_backend(options = {})
65
+ if options.key? 'as'
66
+ k = options['as']
67
+ if @backends.key? k
68
+ return @backends[k]
69
+ else
70
+ error { "No such backend: #{k}, ignoring" }
71
+ end
72
+ else
73
+ return @current
74
+ end
75
+ end
76
+
61
77
 
62
78
  # Sets the (raw) value of the parameter of the given backend
63
79
  def set_backend_parameter_value(backend, param, value)
@@ -21,8 +21,6 @@ require 'ctioga2/metabuilder/type'
21
21
 
22
22
  module CTioga2
23
23
 
24
- Version::register_svn_info('$Revision: 17 $', '$Date: 2009-04-28 22:22:22 +0200 (Tue, 28 Apr 2009) $')
25
-
26
24
  module Data
27
25
 
28
26
  module Backends
@@ -17,8 +17,6 @@ require 'ctioga2/utils'
17
17
  # This module contains all the classes used by ctioga
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 402 $', '$Date: 2013-08-19 17:30:02 +0200 (Mon, 19 Aug 2013) $')
21
-
22
20
  module Data
23
21
 
24
22
  # This class holds one column, possibly with error bars.
@@ -18,9 +18,6 @@ require 'ctioga2/data/indexed-dtable'
18
18
 
19
19
  module CTioga2
20
20
 
21
- Version::register_svn_info('$Revision: 451 $', '$Date: 2013-08-29 01:28:30 +0200 (Thu, 29 Aug 2013) $')
22
-
23
-
24
21
  # \todo now, port the backend infrastructure...
25
22
 
26
23
  # This module holds all the code that deals with manipulation and
@@ -172,6 +169,11 @@ module CTioga2
172
169
  return 1 + @ys.size
173
170
  end
174
171
 
172
+ # The number of Z columns
173
+ def z_columns
174
+ return @ys.size - 1
175
+ end
176
+
175
177
  # Concatenates another Dataset to this one
176
178
  def <<(dataset)
177
179
  if dataset.size != self.size
@@ -19,9 +19,6 @@ require 'ctioga2/data/backends/factory'
19
19
  # This module contains all the classes used by ctioga
20
20
  module CTioga2
21
21
 
22
- Version::register_svn_info('$Revision: 194 $', '$Date: 2010-11-22 10:26:54 +0100 (Mon, 22 Nov 2010) $')
23
-
24
-
25
22
  module Data
26
23
 
27
24
  # A series of commands that can be used as "filters", as they act
@@ -15,9 +15,6 @@ require 'ctioga2/utils'
15
15
 
16
16
  module CTioga2
17
17
 
18
- Version::register_svn_info('$Revision: 406 $', '$Date: 2013-08-22 21:23:44 +0200 (Thu, 22 Aug 2013) $')
19
-
20
-
21
18
  module Data
22
19
 
23
20
  # An indexed Dtable.
@@ -17,9 +17,6 @@ require 'ctioga2/data/dataset'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 112 $', '$Date: 2009-11-09 22:34:12 +0100 (Mon, 09 Nov 2009) $')
21
-
22
-
23
20
  module Data
24
21
 
25
22
  # This class represents a datapoint, ie. an index in a given
@@ -25,9 +25,6 @@ require 'ctioga2/data/filters'
25
25
  # This module contains all the classes used by ctioga
26
26
  module CTioga2
27
27
 
28
- Version::register_svn_info('$Revision: 518 $', '$Date: 2013-09-19 21:43:58 +0200 (Thu, 19 Sep 2013) $')
29
-
30
-
31
28
  module Data
32
29
 
33
30
  # This is the central class for acquisition and handling of
@@ -92,7 +89,7 @@ EOH
92
89
  # backend, retrieves corresponding Dataset objects, pushes them
93
90
  # onto the stack and returns them.
94
91
  def get_datasets(set, options = {})
95
- backend = @backend_factory.current
92
+ backend = @backend_factory.specified_backend(options)
96
93
  sets = backend.expand_sets(set)
97
94
  datasets = []
98
95
  for s in sets
@@ -319,6 +316,7 @@ EOH
319
316
 
320
317
  LoadDatasetOptions = {
321
318
  'name' => CmdArg.new('text'),
319
+ 'as' => CmdArg.new('text'),
322
320
  'where' => CmdArg.new('text'),
323
321
  'ignore_hooks' => CmdArg.new('boolean')
324
322
  }
@@ -17,8 +17,6 @@ require 'ctioga2/log'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 177 $', '$Date: 2010-10-25 13:22:39 +0200 (Mon, 25 Oct 2010) $')
21
-
22
20
  module Graphics
23
21
 
24
22
  # Deals with transforming the coordinates of all datasets