[cig-commits] r8302 - cs/spatialdata-0.1/trunk/libsrc/spatialdb

brad at geodynamics.org brad at geodynamics.org
Sun Nov 18 20:15:16 PST 2007


Author: brad
Date: 2007-11-18 20:15:16 -0800 (Sun, 18 Nov 2007)
New Revision: 8302

Modified:
   cs/spatialdata-0.1/trunk/libsrc/spatialdb/GocadVoxet.cc
   cs/spatialdata-0.1/trunk/libsrc/spatialdb/SCECCVMH.cc
Log:
More work on SCEC CVM-H implementation. Fixed coordinate transformation bug and geometry bug. Still need to implement queryVals() and add unit tests.

Modified: cs/spatialdata-0.1/trunk/libsrc/spatialdb/GocadVoxet.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/spatialdb/GocadVoxet.cc	2007-11-18 23:59:14 UTC (rev 8301)
+++ cs/spatialdata-0.1/trunk/libsrc/spatialdb/GocadVoxet.cc	2007-11-19 04:15:16 UTC (rev 8302)
@@ -23,8 +23,6 @@
 #include <sstream> // USES std::ostringsgream
 #include <assert.h> // USES assert()
 
-#include <iostream> // TEMPORARY
-
 #if defined(WORDS_BIGENDIAN)
 #define NATIVE_BIG_ENDIAN
 #else
@@ -84,24 +82,6 @@
       indexY >= 0 && indexY < numY &&
       indexZ >= 0 && indexZ < numZ) {
     int indexV = indexZ*numY*numX + indexY*numX + indexX;
-
-#if 0
-  std::cout << "pt[0]: " << pt[0]
-	    << ", pt[1]: " << pt[1]
-	    << ", pt[2]: " << pt[2]
-	    << ", numX: " << numX
-	    << ", numY: " << numY
-	    << ", numZ: " << numZ
-	    << ", scaleX: " << _geometry.scale[0]
-	    << ", scaleY: " << _geometry.scale[1]
-	    << ", scaleZ: " << _geometry.scale[2]
-	    << ", indexX: " << indexX
-	    << ", indexY: " << indexY
-	    << ", indexZ: " << indexZ
-	    << ", indexV: " << indexV
-	    << ", byteV: " << indexV*sizeof(float)
-	    << std::endl;
-#endif
     *value = _data[indexV];
   } else {
     *value = _property.noDataValue;
@@ -244,9 +224,9 @@
   const double lenX = _geometry.max[0]*_geometry.u[0] - _geometry.min[0];
   const double lenY = _geometry.max[1]*_geometry.v[1] - _geometry.min[1];
   const double lenZ = _geometry.max[2]*_geometry.w[2] - _geometry.min[2];
-  _geometry.scale[0] = (lenX > 0.0) ? (_geometry.n[0]-1) / lenX : 1.0e+30;
-  _geometry.scale[1] = (lenY > 0.0) ? (_geometry.n[1]-1) / lenY : 1.0e+30;
-  _geometry.scale[2] = (lenZ > 0.0) ? (_geometry.n[2]-1) / lenZ : 1.0e+30;
+  _geometry.scale[0] = (lenX != 0.0) ? (_geometry.n[0]-1) / lenX : 1.0e+30;
+  _geometry.scale[1] = (lenY != 0.0) ? (_geometry.n[1]-1) / lenY : 1.0e+30;
+  _geometry.scale[2] = (lenZ != 0.0) ? (_geometry.n[2]-1) / lenZ : 1.0e+30;
 } // _readVoxetFile
 
 // ----------------------------------------------------------------------

Modified: cs/spatialdata-0.1/trunk/libsrc/spatialdb/SCECCVMH.cc
===================================================================
--- cs/spatialdata-0.1/trunk/libsrc/spatialdb/SCECCVMH.cc	2007-11-18 23:59:14 UTC (rev 8301)
+++ cs/spatialdata-0.1/trunk/libsrc/spatialdb/SCECCVMH.cc	2007-11-19 04:15:16 UTC (rev 8302)
@@ -49,8 +49,9 @@
   proj.units("m");
   proj.projOptions("+zone=11");
 
-  _csUTM->datumHoriz("WGS84");
+  _csUTM->datumHoriz("NAD27");
   _csUTM->datumVert("mean sea level");
+  _csUTM->ellipsoid("clrk66");
   _csUTM->projector(proj);
   _csUTM->initialize();
 } // constructor
@@ -170,16 +171,16 @@
   double vp = 0.0;
   double vs = 0.0;
   double density = 0.0;
+
   int outsideVoxet =_topoElev->query(&elev, _xyzUTM);
   outsideVoxet = _baseDepth->query(&baseDepth, _xyzUTM);
   outsideVoxet = _mohoDepth->query(&mohoDepth, _xyzUTM);
+
   outsideVoxet = _laLowResVp->query(&vp, _xyzUTM);
   if (!outsideVoxet) {
-    std::cout << "Using LR";
     double vpHR = 0.0;
     outsideVoxet = _laHighResVp->query(&vpHR, _xyzUTM);
     if (!outsideVoxet) {
-      std::cout << "Using HR";
       vp = vpHR;
     } // if
     if (vp != 1480.0) {
@@ -196,17 +197,21 @@
       density = 1000.0;
   } else {
     outsideVoxet = _crustMantleVp->query(&vp, _xyzUTM);
-    if (!outsideVoxet)
+    if (!outsideVoxet) {
       outsideVoxet = _crustMantleVs->query(&vs, _xyzUTM);
-    density = vp / 3.0 + 1280.0;
+      density = vp / 3.0 + 1280.0;
+    } else {
+      vs = vp; // No data value
+      density = vp; // No data value
+    } // else
   } // if/else
 
-  std::cout << "elev: " << elev << std::endl;
-  std::cout << "basement depth: " << baseDepth << std::endl;
-  std::cout << "moho depth: " << mohoDepth << std::endl;
-  std::cout << "vp: " << vp << std::endl;
-  std::cout << "vs: " << vs << std::endl;
-  std::cout << "density: " << density << std::endl;
+  std::cout << "elev: " << elev
+	    << ", basement depth: " << baseDepth
+	    << ", moho depth: " << mohoDepth
+	    << ", vp: " << vp
+	    << ", vs: " << vs
+	    << ", density: " << density << std::endl;
 } // query
 
 



More information about the cig-commits mailing list