[cig-commits] r5690 - in cs/spatialdata-0.1/trunk: . libsrc/geocoords spatialdata/geocoords spatialdata/spatialdb/generator

brad at geodynamics.org brad at geodynamics.org
Sun Jan 7 13:19:42 PST 2007


Author: brad
Date: 2007-01-07 13:19:42 -0800 (Sun, 07 Jan 2007)
New Revision: 5690

Modified:
   cs/spatialdata-0.1/trunk/CHANGES
   cs/spatialdata-0.1/trunk/libsrc/geocoords/Converter.cc
   cs/spatialdata-0.1/trunk/spatialdata/geocoords/Converter.py
   cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Filter.py
   cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Filters.py
   cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/GenSimpleDBApp.py
   cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Geometry.py
Log:
Added additional error checking to Converter. Updated generator to allow 1-D and 2-D spatial dimensions for coordinates; not tested.

Modified: cs/spatialdata-0.1/trunk/CHANGES
===================================================================
--- cs/spatialdata-0.1/trunk/CHANGES	2007-01-07 20:24:35 UTC (rev 5689)
+++ cs/spatialdata-0.1/trunk/CHANGES	2007-01-07 21:19:42 UTC (rev 5690)
@@ -6,3 +6,10 @@
   cleaner.
 
   Numpy version >= 1.0 is now required (previous changeset).
+
+2007/01/07
+
+  Changed interfaces to allow spatial dimension of coordinate systems
+  to be 1-D and 2-D instead of just 3-D.
+
+

Modified: cs/spatialdata-0.1/trunk/libsrc/geocoords/Converter.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/geocoords/Converter.cc	2007-01-07 20:24:35 UTC (rev 5689)
+++ cs/spatialdata-0.1/trunk/libsrc/geocoords/Converter.cc	2007-01-07 21:19:42 UTC (rev 5690)
@@ -46,6 +46,9 @@
   if (pCSSrc->csType() != pCSDest->csType())
     throw std::runtime_error("Cannot convert between coordinate systems "
 			     "of different types.");
+  if (pCSSrc->spaceDim() != pCSDest->spaceDim())
+    throw std::runtime_error("Cannot convert between coordinate systems "
+			     "with different spatial dimensions.");
 
   switch (pCSSrc->csType())
     { // switch 

Modified: cs/spatialdata-0.1/trunk/spatialdata/geocoords/Converter.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/geocoords/Converter.py	2007-01-07 20:24:35 UTC (rev 5689)
+++ cs/spatialdata-0.1/trunk/spatialdata/geocoords/Converter.py	2007-01-07 21:19:42 UTC (rev 5690)
@@ -17,12 +17,14 @@
   """Convert coordinates from source coordinate system to destination
   coordinate system. Transformation is done in place."""
 
+  if not csDest.spaceDim == csSrc.spaceDim:
+    msg = "Spatial dimensions of source (%d) and destination (%d) " \
+          "coordinate systems must match." % (csSrc.spaceDim, csDest.spaceDim)
+    raise ValueError(msg)
+
   import spatialdata.geocoords.geocoords as bindings
   bindings.Converter_convert(coordsSrc, csDest.cppHandle, csSrc.cppHandle)
   return
 
 
-# version
-__id__ = "$Id$"
-
 # End of file 

Modified: cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Filter.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Filter.py	2007-01-07 20:24:35 UTC (rev 5689)
+++ cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Filter.py	2007-01-07 21:19:42 UTC (rev 5690)
@@ -97,7 +97,4 @@
     return
 
 
-# version
-__id__ = "$Id$"
-
 # End of file 

Modified: cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Filters.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Filters.py	2007-01-07 20:24:35 UTC (rev 5689)
+++ cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Filters.py	2007-01-07 21:19:42 UTC (rev 5690)
@@ -28,7 +28,4 @@
     return
 
 
-# version
-__id__ = "$Id$"
-
 # End of file 

Modified: cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/GenSimpleDBApp.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/GenSimpleDBApp.py	2007-01-07 20:24:35 UTC (rev 5689)
+++ cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/GenSimpleDBApp.py	2007-01-07 21:19:42 UTC (rev 5690)
@@ -75,21 +75,17 @@
   def _assembleDB(self):
     import spatialdata.spatialdb.generator.generator as bindings
     vertices = self.geometry.vertices
+    coordsys = self.geometry.coordsys
     numValues = len(self.values.values)
     cppDB = bindings.create(vertices.handle(),
                             vertices.vertexCount, vertices.dim,
-                            numValues,
-                            self.geometry.topology)
+                            numValues, coordsys.spaceDim,
+                            self.geometry.dataDim)
     for i in range(numValues):
       self.values.values[i].setDB(cppDB, i)
     return cppDB
 
 
-  def _defaults(self):
-    Script._defaults(self)
-    return
-
-
   def _configure(self):
     Script._configure(self)
     self.geometry = self.inventory.geometry
@@ -98,11 +94,4 @@
     return
 
 
-  def _init(self):
-    Script._init(self)
-    return
-
-# version
-__id__ = "$Id$"
-
 # End of file 

Modified: cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Geometry.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Geometry.py	2007-01-07 20:24:35 UTC (rev 5689)
+++ cs/spatialdata-0.1/trunk/spatialdata/spatialdb/generator/Geometry.py	2007-01-07 21:19:42 UTC (rev 5690)
@@ -35,7 +35,7 @@
     ## Python object for managing Geometry facilities and properties.
     ##
     ## \b Properties
-    ## @li \b topology Topology of the database
+    ## @li \b data_dim Spatial dimension of database locations.
     ##
     ## \b Facilities
     ## @li \b unpickler Object to unpickle geometry
@@ -43,10 +43,9 @@
 
     import pyre.inventory
 
-    topology = pyre.inventory.str("topology", default="area")
-    topology.validator = pyre.inventory.choice(["point", "line",
-                                                "area", "volume"])
-    topology.meta['tip'] = "Topology of the database."
+    dataDim = pyre.inventory.str("data_dim", default=2)
+    dataDim.validator = pyre.inventory.choice([0, 1, 2, 3])
+    dataDim.meta['tip'] = "Spatial dimension of database locations."
 
     unpickler = pyre.inventory.facility("unpickler", factory=Dummy)
     unpickler.meta['tip'] = "Object to unpickle geometry."
@@ -74,13 +73,10 @@
 
   def _configure(self):
     Component._configure(self)
-    self.topology = self.inventory.topology
+    self.dataDim = self.inventory.dataDim
     self.unpickler = self.inventory.unpickler
     self.coordsys = self.inventory.coordsys
     return
 
 
-# version
-__id__ = "$Id$"
-
 # End of file 



More information about the cig-commits mailing list