Thursday, June 28, 2007

Bendy Cubes: Reprojecting 3D Data

So we are beginning serious work on some products which will end up marrying the 3-D world of subsurface modeling and the 2.5- & 3-D world of GIS. While the terrain modeling and multi-patch stuff in ESRI products qualifies as truly 3D, (and handling that with elliptical math garners extra points), ESRI has no support for 3D gridded data, e.g. seismic volumes. GRASS does. GDAL does not. And we're dealing with reprojecting these voxels, not just regridding or visualizing. Any brilliant tips out there? Something tells me we're straying out of the world of mainstream GIS towards the world of scientific computing.

Tuesday, June 26, 2007

The adventures of WKB across the third dimension

The adventures of WKB in the third dimension end rather abruptly rather near the second dimension. While PostGIS "extends" the WKB spec to allow 3D and linear-referencing (M values), it appears ESRI has hewn more closely to the spec and constricts WKB to the original 2D max. (To be fair PostGIS defaults to trafficking only in standard WKB.) Blame lies squarely at the feet of OGC. Why write a WKB standard that doesn't understand Z and M measures when the WKT standard and SHP standard have such a clear understanding of them?

Who cares? Who actually communicates via WKB anyway? Not many people as far as I can tell. But in building a system that communicates geometries directly with the RDBMS (without preposterous middleware like SDE or ArcObjects), a binary format like WKB seems far more efficient than the more-expressive WKT. I suppose parsing a bunch of doubles is still a lot faster than connecting to a database in the first place, it does expand the amount of traffic on the wire dramatically, which costs more and more these days.

Oh well. I guess I'll be better friends with ST_POLYGON than with ST_PolyFromWKB... at least where our data is 3-dimensional.

Monday, June 25, 2007

ArcGIS Explorer Everywhere: Even on Macs?

In response to a question asked a few days ago at the ESRI UC 2007 about whether AGX would be available on Solaris, the presenter answered "I'm not sure, but I know there has been discussion of making it available on OS X." Seems sensible, since so much of the underlying code works just fine on UNIX variants. The trick would be getting the .NET-based "task" extension model to work properly, but with Mono being relatively mature on the Mac, this seems doable.