[cig-commits] r3916 - in cs/spatialdata-0.1/trunk: . spatialdata/geocoords tests/libtests/spatialdb tests/pytests/geocoords tests/pytests/utils

baagaard at geodynamics.org baagaard at geodynamics.org
Mon Jul 3 17:55:20 PDT 2006


Author: baagaard
Date: 2006-07-03 17:55:20 -0700 (Mon, 03 Jul 2006)
New Revision: 3916

Modified:
   cs/spatialdata-0.1/trunk/configure.ac
   cs/spatialdata-0.1/trunk/spatialdata/geocoords/CSGeo.py
   cs/spatialdata-0.1/trunk/spatialdata/geocoords/CSGeoProj.py
   cs/spatialdata-0.1/trunk/spatialdata/geocoords/Converter.py
   cs/spatialdata-0.1/trunk/spatialdata/geocoords/Projector.py
   cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/Makefile.am
   cs/spatialdata-0.1/trunk/tests/pytests/geocoords/TestConverter.py
   cs/spatialdata-0.1/trunk/tests/pytests/utils/Makefile.am
   cs/spatialdata-0.1/trunk/tests/pytests/utils/TestSimpleArray.py
   cs/spatialdata-0.1/trunk/tests/pytests/utils/testcpp.pyxe
Log:
Fixed bugs in Converter and CoordSys Python objects.

Modified: cs/spatialdata-0.1/trunk/configure.ac
===================================================================
--- cs/spatialdata-0.1/trunk/configure.ac	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/configure.ac	2006-07-04 00:55:20 UTC (rev 3916)
@@ -29,7 +29,7 @@
 
 # PYTHIA w/pythia
 AC_ARG_ENABLE([pythia],
-	[  --enable-pythia        Enable use of pythia package (requires pythia) [[default=no]]],
+	[  --enable-pythia        Enable use of Pythia (requires pythia) [[default=no]]],
 	[enable_pythia=yes],
 	[enable_pythia=no])
 
@@ -84,9 +84,9 @@
   ])
 fi
 
-# PYRE
-AM_CONDITIONAL([ENABLE_PYTHIA], [test "$enable_pyre" = yes])
-if test "$enable_pyre" = "yes" ; then
+# PYTHIA
+AM_CONDITIONAL([ENABLE_PYTHIA], [test "$enable_pythia" = yes])
+if test "$enable_pythia" = "yes" ; then
   AC_LANG(C++)
 
   # PYTHIA

Modified: cs/spatialdata-0.1/trunk/spatialdata/geocoords/CSGeo.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/geocoords/CSGeo.py	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/spatialdata/geocoords/CSGeo.py	2006-07-04 00:55:20 UTC (rev 3916)
@@ -58,15 +58,15 @@
 
   def initialize(self):
     """Initialize coordinate system."""
-    self.cppHandle.ellipsoid(self.ellipsoid)
-    self.cppHandle.datumHoriz(self.datumHoriz)
-    self.cppHandle.datumVert(self.datumVert)
-    self.cppHandle.isGeocentric(self.isGeocentric)
+    self.cppHandle.ellipsoid = self.ellipsoid
+    self.cppHandle.datumHoriz = self.datumHoriz
+    self.cppHandle.datumVert = self.datumVert
+    self.cppHandle.isGeocentric = self.isGeocentric
 
     import pyre.units
     uparser = pyre.units.parser()
     coordUnits = uparser.parse(self.units)
-    self.cppHandle.toMeters(coordUnits.value)
+    self.cppHandle.toMeters = coordUnits.value
 
     CoordSys.initialize(self)
     return

Modified: cs/spatialdata-0.1/trunk/spatialdata/geocoords/CSGeoProj.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/geocoords/CSGeoProj.py	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/spatialdata/geocoords/CSGeoProj.py	2006-07-04 00:55:20 UTC (rev 3916)
@@ -45,7 +45,7 @@
     """Initialize coordinate system."""
 
     self.projector.initialize(self)
-    self.cppHandle.projector(self.projector.cppHandle.handle)
+    self.cppHandle.projector = self.projector.cppHandle.handle
 
     CSGeo.initialize(self)
     return

Modified: cs/spatialdata-0.1/trunk/spatialdata/geocoords/Converter.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/geocoords/Converter.py	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/spatialdata/geocoords/Converter.py	2006-07-04 00:55:20 UTC (rev 3916)
@@ -13,25 +13,15 @@
 ## @file spatialdata/geocoords/Converter.py
 ## @brief Python function to convert b/t coordinate systems.
 
-def convertpy(coordsSrc, csDest, csSrc):
+def convert(coordsSrc, csDest, csSrc):
   """Convert coordinates from source coordinate system to destination
-  coordinate system. Coordinates are stored in a Python array."""
+  coordinate system. Transformation is done in place."""
 
-  import spatialdata.geocoords.geocoords as bindings
-  coordsDest = bindings.Converter_convertpy(coordsSrc,
-                                            csDest.cppHandle, csSrc.cppHandle)
+  import spatialdata.utils.utils as simplearray
+  coordsSrcArray = simplearray.SimplePyArray(coordsSrc)
 
-  return coordsDest
-
-
-def convertcpp(handle, numLocs, numCoords, csDest, csSrc):
-  """Convert coordinates from source coordinate system to destination
-  coordinate system. Coordinates are stored in a PyCObject. """
-
   import spatialdata.geocoords.geocoords as bindings
-  bindings.pConverter_convertcpp(handle, numLocs, numCoords,
-                                 csDest.cppHandle, csSrc.cppHandle)
-  
+  bindings.Converter_convert(coordsSrcArray, csDest.cppHandle, csSrc.cppHandle)
   return
 
 

Modified: cs/spatialdata-0.1/trunk/spatialdata/geocoords/Projector.py
===================================================================
--- cs/spatialdata-0.1/trunk/spatialdata/geocoords/Projector.py	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/spatialdata/geocoords/Projector.py	2006-07-04 00:55:20 UTC (rev 3916)
@@ -51,9 +51,9 @@
   def initialize(self, coordSys):
     """Initialize projector."""
 
-    self.cppHandle.projection(self.projection)
-    self.cppHandle.units(self.units)
-    self.cppHandle.projOptions(self.projOptions)
+    self.cppHandle.projection = self.projection
+    self.cppHandle.units = self.units
+    self.cppHandle.projOptions = self.projOptions
     self.cppHandle.initialize(coordSys.cppHandle)
     return
 

Modified: cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/Makefile.am
===================================================================
--- cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/Makefile.am	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/tests/libtests/spatialdb/Makefile.am	2006-07-04 00:55:20 UTC (rev 3916)
@@ -46,7 +46,7 @@
 
 testspatial_LDADD = \
 	-lcppunit -ldl \
-	$(top_builddir)/libsrc/spatialdb/libspatialdata.la \
+	$(top_builddir)/libsrc/spatialdb/libspatialdataspatialdb.la \
 	$(top_builddir)/libsrc/geocoords/libspatialdatageocoords.la
 
 # version

Modified: cs/spatialdata-0.1/trunk/tests/pytests/geocoords/TestConverter.py
===================================================================
--- cs/spatialdata-0.1/trunk/tests/pytests/geocoords/TestConverter.py	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/tests/pytests/geocoords/TestConverter.py	2006-07-04 00:55:20 UTC (rev 3916)
@@ -12,20 +12,24 @@
 
 import unittest
 
-lonlatNAD27ElevVals = [
+import numpy as numeric
+
+lonlatNAD27ElevVals = numeric.array([
   [ -1.150000000000e+02,  3.900000000000e+01,  1.200000000000e+01],
   [ -1.203425320000e+02,  4.323423000000e+01,  1.010000000000e+01],
   [ -1.213425320000e+02,  4.523423000000e+01,  3.600000000000e+00],
   [ -1.153425320000e+02,  3.623423000000e+01,  7.200000000000e+00],
   [ -1.103425320000e+02,  3.923423000000e+01,  1.233000000000e+02],
-  [ -1.073425320000e+02,  3.323423000000e+01,  3.460000000000e+01] ]
-xyzLocalVals = [
+  [ -1.073425320000e+02,  3.323423000000e+01,  3.460000000000e+01] ],
+                                    numeric.Float64)
+xyzLocalVals = numeric.array([
   [ -1.284640403035e+06,  1.064304545254e+05, -1.314223692642e+05],
   [ -1.617989794934e+06,  6.524818198322e+05, -2.429529282853e+05],
   [ -1.637488936891e+06,  8.852730256818e+05, -2.774331803783e+05],
   [ -1.362847273202e+06, -1.913287267443e+05, -1.500646063011e+05],
   [ -8.881745585536e+05,  7.658679833419e+04, -6.239199171253e+04],
-  [ -6.825105927499e+05, -6.111332573069e+05, -6.615476872030e+04] ]
+  [ -6.825105927499e+05, -6.111332573069e+05, -6.615476872030e+04] ],
+                             numeric.Float64)
 
 class TestConverter(unittest.TestCase):
 
@@ -49,15 +53,15 @@
     csLocal.datumVert = "mean sea level"
     csLocal.initialize()
 
-    from spatialdata.geocoords.Converter import convert as convertpy
-    xyzLocalValsT = convertpy(lonlatNAD27ElevVals, csLocal, csNAD27)
+    from spatialdata.geocoords.Converter import convert
+    coordsXYZ = lonlatNAD27ElevVals
+    convert(coordsXYZ, csLocal, csNAD27)
+    xyzLocalValsT = numeric.array(coordsXYZ)
 
-    self.assertEqual(len(xyzLocalVals), len(xyzLocalValsT))
-    for (xyz, xyzT) in zip(xyzLocalVals, xyzLocalValsT):
-      print xyzT # TEMPORARY
-      self.assertAlmostEqual(1.0, xyz[0]/xyzT[0], 6)
-      self.assertAlmostEqual(1.0, xyz[1]/xyzT[1], 6)
-      self.assertAlmostEqual(1.0, xyz[2]/xyzT[2], 6)
+    self.assertEqual(len(xyzLocalVals.shape), len(xyzLocalValsT.shape))
+    for (xyz, xyzT) in zip(numeric.reshape(xyzLocalVals,-1),
+                           numeric.reshape(xyzLocalValsT, -1)):
+      self.assertAlmostEqual(1.0, xyz/xyzT, 6)
         
     return
 

Modified: cs/spatialdata-0.1/trunk/tests/pytests/utils/Makefile.am
===================================================================
--- cs/spatialdata-0.1/trunk/tests/pytests/utils/Makefile.am	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/tests/pytests/utils/Makefile.am	2006-07-04 00:55:20 UTC (rev 3916)
@@ -10,6 +10,9 @@
 # ----------------------------------------------------------------------
 #
 
+subpackage = utils
+include $(top_srcdir)/subpackage.am
+
 TESTS = testutils.py
 
 check_SCRIPTS = testutils.py
@@ -18,7 +21,7 @@
 	TestSimpleArray.py
 
 # module
-pyexec_LTLIBRARIES = testcppmodule.la
+subpkgpyexec_LTLIBRARIES = testcppmodule.la
 
 testcppmodule_la_LDFLAGS = -module
 
@@ -27,7 +30,7 @@
 nodist_testcppmodule_la_SOURCES = \
 	testcpp.c testcpp_embed.cpp testcpp_embed.h
 
-INCLUDES = -I$(PYTHON_INCDIR)
+INCLUDES += -I$(PYTHON_INCDIR)
 
 testcpp.pyx testcpp_embed.cpp  testcpp_embed.h: testcpp.pyxe
 	cp $< . && pyrexembed.py testcpp.pyxe && rm -f testcpp.pyxe

Modified: cs/spatialdata-0.1/trunk/tests/pytests/utils/TestSimpleArray.py
===================================================================
--- cs/spatialdata-0.1/trunk/tests/pytests/utils/TestSimpleArray.py	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/tests/pytests/utils/TestSimpleArray.py	2006-07-04 00:55:20 UTC (rev 3916)
@@ -60,7 +60,7 @@
     vals = [ [1.1, 2.1, 3.1],
              [1.2, 2.2, 3.2] ]
     x = numeric.array(vals, numeric.Float64)
-    import testcpp
+    import spatialdata.utils.testcpp as testcpp
     y = testcpp.cpparray()
     self.assertEqual(len(x.shape), y.nd)
     self.assertEqual(len(x.shape), len(y.shape))
@@ -77,7 +77,7 @@
              [1.2, 2.2],
              [1.3, 2.3] ]
     x = numeric.array(vals, numeric.Float64)
-    import testcpp
+    import spatialdata.utils.testcpp as testcpp
     try:
       testcpp.test(simplearray.SimplePyArray(x))
     except ValueError, er:

Modified: cs/spatialdata-0.1/trunk/tests/pytests/utils/testcpp.pyxe
===================================================================
--- cs/spatialdata-0.1/trunk/tests/pytests/utils/testcpp.pyxe	2006-07-03 23:18:23 UTC (rev 3915)
+++ cs/spatialdata-0.1/trunk/tests/pytests/utils/testcpp.pyxe	2006-07-04 00:55:20 UTC (rev 3916)
@@ -16,8 +16,6 @@
 cdef extern from "Python.h":
   void* PyCObject_AsVoidPtr(object)
 
-import spatialdata.utils.utils as simplearray
-
 def cpparray():
   # create shim to create array
   #embed{ void cpparray_create(double** ppData, int* pSize)
@@ -28,11 +26,14 @@
       (*ppData)[i] = pVals[i];
   #}embed
 
+  #import spatialdata.utils.utils as simplearray
+  import utils as simplearray
+
   cdef double* pData
   cdef int size
   pData = NULL
   cpparray_create(&pData, &size)
-  dims = [3, 2]
+  dims = [2, 3]
   return simplearray.SimpleCppArray(<object> pData, dims, "double")
 
 



More information about the cig-commits mailing list