Viz Lecture 7 by Kurt
DRAFT DRAFT DRAFT
This is in a pretty sorry state...
Kurt Schwehr
Copyright (C) 2003
kdschwehr _at_ ucsd dot edu
Viz Lecture Series
Lecture 7
Building La Jolla, Part 2
$Revision: 912 $
CONTENTS
DEMOS OF THE DAY
THE JOY OF PROJECTIONS
PROJ WITH FINK
ETOPO2 OF LA JOLLA
COASTLINES
LA JOLLA CANYON PHOTOS
ADD INSTITUTIONAL LOGOS
VIEWING STEREO IMAGES
SEALAB II
SIO SHIP LOCATIONS
DIVE PHOTOS
GEOREF GEOLOGIC MAP - by Christie
GRASS - does not totally work
TRANSPARENT TEXTURE IN INVENTOR
SGI DESKTOP BACKGROUND
DESKTOP ICONS
MAKING A MOVIE
misc
REGIONAL WORK BENCH CONSORTIUM
SIO AIRPHOTO
* Topography Data Sets
FIX: Coastal Region topography project?
http://walrus.wr.usgs.gov/pacmaps/data.html
http://geopubs.wr.usgs.gov/open-file/of02-162/index.html
http://walrus.wr.usgs.gov/pacmaps/sd-bathy.html
Now we begin to assemble the topography and bathymetry for the area.
There are many such data sets and I am sure that I've left out quite a
bit, but here is what I've found.
http://science.whoi.edu/users/elgar/NCEX/maps_bathymetry.html
http://cdip.ucsd.edu/models/ncex/bathy/
# 21 MB - By Mark Orzech at NPS and then
#wget http://cdip.ucsd.edu/models/ncex/bathy/grid2/sd150msf_v2.txt.gz
# 21 MB - Set 3 adds CBASS survey.
#wget http://cdip.ucsd.edu/models/ncex/bathy/grid3/sd150msf_v3.txt.gz
# 21 MB - Updates northward past Blacks Beach.
wget http://cdip.ucsd.edu/models/ncex/bathy/grid4/sd150msf_v4.txt.gz
wget http://cdip.ucsd.edu/models/ncex/bathy/grid4/sd150msf_v4.mat.gz
Water depths are positive meters, land is negative meters. All in WGS84.
Since there is a not a lot of details in sd150msf_v4.txt, we will be
using matlab to see what we have:
head sd150msf_v4.txt
2715
2900
32.82850000
32.82854167
32.82858333
32.82862500
32.82866667
32.82870833
32.82875000
32.82879167
matlab
load sd150msf_v4.mat
whos
Name Size Bytes Class
ans 1x1 8 double array
bathy 2715x2900 62988000 double array
lat 2715x1 21720 double array
lon 2900x1 23200 double array
min (lon)
-117.3655
max (lon)
-117.2447
min(lat)
32.8285
max(lat)
32.9416
newbath=reshape(bathy,2715*2900,1);
min(newbath)
-9999
max(newbath)
593.2867
* THE JOY OF PROJECTIONS
Projections are hardly ever fun. There are tools out there that can
make the job easier. That is once we know how to use them. They are
definitely confusing. Yeesh. So we will do some examples. Often you
will be given a dataset that is in UTM and you need lon/lat for GMT
grids.
http://seafloor.csumb.edu/... HIDDEN
http://seafloor.csumb.edu/SFMLwebDATA.htm
This data is in UTM WGS84 Zone 11 form. We want to get this to
standard WGS84 lon/lat. We can use the "proj" tool. Once you have
downloaded and installed the program, let's convert some data!
invproj +proj=utm +zone=11
472917.080 3635578.920 34.280
invprov will respond with the lon/lat for that point:
117d17'22.039"W 32d51'28.667"N 34.280
We then need to convert this to decimal lon/lat/depth:
python -c "print 117 + (17/60.) + (22.039/3600.)"
python -c "print 32 + (51/60.) + (28.667/3600.)"
Which gives
-117.289455278 32.8579630556 34.280
We can then do the forward conversion to make sure things are somewhat
sane. This does not check for NAD27 vrs WGS84/NAD83 troubles, but
checks the math above.
proj +proj=utm +zone=11
-117.289455278 32.8579630556 34.280
Which gives:
472917.00 3635578.01 34.280
So it looks like we have positional error in the math of about 1
meter. We can now automate this process with a python script. Here I
am using python just as an example of another script. We could have
used perl, or bash+awk. The script (utm2latlon.py):
import os, sys, re
inFileName=sys.argv[1]
outFileName=sys.argv[2]
cmdline = "invproj +proj=utm +zone=11 " + inFileName + " > tmp.txt "
os.system(cmdline)
infile = open("tmp.txt","r");
outfile = open(outFileName,"w");
numsRE = re.compile ('\d+')
for line in infile.xreadlines():
asciilon,asciilat,asciidepth=line.split()
n = numsRE.findall(line)
lon = int(n[0])+int(n[1])/60.+int(n[2])/(60*60.) +int(n[3])/(60*60.*1000)
lat = int(n[4])+int(n[5])/60.+int(n[6])/(60*60.) +int(n[7])/(60*60.*1000)
lon = -lon; # make sure we are in the western hemisphere
depth=float(asciidepth)
outstr = "%.10f %.10f %.3f\n" % ( lon, lat, depth)
outfile.write(outstr)
For more info:
ftp://ftp.remotesensing.org/pub/proj/OF90-284.pdf - Manual (out of date, but helpful!)
http://remotesensing.org/proj/ - proj homepage.
http://www.python.org
* PROJ WITH FINK
For those of you Mac OSX users out there would can use fink to install
software, here is a little something for you. It is not to hard to
create your own package for fink if the program is well behaved. The
proj program from the last section is just such a program. I have
submitted an info file for proj in fink, but it takes a while for
these things to get into fink. You can put this file into your own
fink installation and get the benefits of proj without the hassle.
Here is how:
# FIX old: cp proj-4.4.7-1.info /sw/fink/dists/unstable/main/finkinfo/sci/
cp proj-4.4.7-1.info /sw/fink/dists/local/main/finkinfo
then may need to run "fink index"
Now run fink commander and install proj! Here is the contents of
proj-4.4.7-1.info. Be warned that this is my very first fink package,
so it may not be the greatest example, but it works!
Package: proj
Version: 4.4.7
Revision: 1
Maintainer: Kurt Schwehr
Source: ftp://ftp.remotesensing.org/pub/proj/proj-%v.tar.gz
SourceDirectory: proj-%v
Source-MD5: 4169ed0ead9fc0cf90da6d1448911418
BuildDepends: fink ( >= 0.9.9 )
UpdateConfigGuess: true
CompileScript: <<
./configure --disable-shared --prefix=%p
make
<<
InstallScript: <<
make install prefix=%i
<<
DocFiles: README COPYING ChangeLog NEWS AUTHORS
Description: cartographic projections library
DescDetail: <<
Cartographic Projections library originally written by Gerald Evenden
then of the USGS.
<<
License: BSD
Homepage: http://remotesensing.org/proj/
* etopo2/smith and sandwell of La Jolla
Pat at CSUMB has a nice image of his multibeam data for the La Jolla
area. This till give us a first pass look at the area:
http://seafloor.csumb.edu/Map_Gallery/images/lajolla.jpg
Let's grab the Smith and Sandwell predicted topography as we did in
Lecture 3:
img2grd /omaha/demos/globe/topo_8.2.img -R-120/-115/31/34 -Gsandiego-topo8.2.grd -T1 -V
There are rumors that etopo2 has some offset in the actual location of
the data. So beware! etopo2 has already been converted to a grid, so
we just need to grab a sub region.
grdcut etopo2.grd -Gsandiego-etopo2.grd -R-120/-115/31/34 -V
We now have to low resolution grid files that can server as our area
basemap.
ls -l *.grd
56328 Sep 16 15:37 sandiego-etopo2.grd
65564 Sep 16 15:23 sandiego-topo8.2.grd
Now turn them into OpenInventor files:
grd2xyz sandiego-etopo2.grd > sandiego-etopo2.xyz
grd2xyz sandiego-topo8.2.grd > sandiego-topo8.2.xyz
terrain sandiego-etopo2.xyz sandiego-etopo2.iv
terrain sandiego-topo8.2.xyz sandiego-topo8.2.iv
Bring in the faults and town names from Lecture 2:
xytext2iv ../Lecture2/towns.dat towns
line2iv ../Lecture2/Cal_flt.dat.xyz ca_faults
* COASTLINES
We should add a coastline in for the area. Here is a good site to get
coast lines (thanks to JCHill!):
http://rimmer.ngdc.noaa.gov/coast/
http://woodshole.er.usgs.gov/operations/modeling/
http://woodshole.er.usgs.gov/staffpages/rsignell/rsignell.html
I set the geographic coordinates to be 34 to 31 and -120 to -115 using
the Arc/Info ungenerate command.
306310 Sep 18 18:07 coast-noaa.dat
42535 Sep 18 18:07 coast-wdbii.dat
143036 Sep 18 18:07 coast-would-vec-shoreline.dat
146920 Sep 18 18:08 coast-wvs.dat
This produces data that looks like this (coast-noaa.dat):
1
-119.883301,33.999169
-119.883498,33.999178
-119.883498,33.999270
-119.883402,33.999361
-119.883402,33.999371
-119.883301,33.999371
-119.883200,33.999288
-119.883200,33.999201
-119.883301,33.999169
END
2
-119.881101,33.993329
-119.881202,33.993329
-119.881302,33.993371
So we now need a little program that converts from ungenerated
polylines to OpenInventor IndexedLineSets. We can do this with the
ungernateLines2iv.py script:
./ungenerateLines2iv.py coast-noaa.dat coast-noaa.iv
./ungenerateLines2iv.py coast-wdbii.dat coast-wdbii.iv
./ungenerateLines2iv.py coast-world-vec-shore.dat coast-world-vec-shore.iv
./ungenerateLines2iv.py coast-wvs.dat coast-wvs.iv
* LA JOLLA CANYON PHOTOS
Some photos scanned from Dill's 1964 SIO Thesis are at
http://schwehr.org/LaJollaPhotos/ (at least for now... they will
probably disapear soon). I will go through importing these soon.
Need to see if I can get permission...
http://www-acs.ucsd.edu/~scuba/ScrippsCanyonDiveImages.htm
http://www.peterbrueggeman.com/delta/index3.htm
http://www.diegoweb.com/diving/images/adam2.html
http://scilib.ucsd.edu/sio/ocean/canyon/
Here is a quick sketch of how to import photos in Fledermaus:
Data -> Add Image
It then appears as Internal Image on the bottom left objects menu
Select Internal Image
Click on the right arrow after the filename dialog.
Select the image
(if you are having font issues and can not see, click on one and use
the arrow keys to scroll down through the images)
Now two ways to move the object to the desired spot:
1. Control->Georeferencing
type in the coords
2. On the top right, change explore mode to Poly Select
Draw a box on the terrain about where the image should go using the
left mouse button
Data->Add 3D lines
At the bottom, Add Poly Set
select Internal Image
Controls->Georef
Pick 3D lines
ok
* ADD INSTITUTIONAL LOGOS
It is always good to give credit where it is due! An easy way to do
this is to add logos to the presentation. They can go on the desktop,
in images, or on the 3D models. The choice is yours. Here are sites
with good logos:
http://scripps100.ucsd.edu/internal/logo.htm
http://www.ucsd.edu/guidelines/print/elements.html
http://www.whoi.edu/graphics/logos/index.html
FIX: What about the standard SIO logo, Lahmont, IGPP, etc?
If anyone has a good site for these, please send them to me! Thanks.
* VIEWING STEREO IMAGES
I haven't done this in ages, but to view a stereo image with crystal
eyes on an SGI, you can use a program that is a part of the
ImageVision library called ilstereoview. I do not remember exactly
how to run it and what commands you need to get into and out of stereo
mode, but I put it on fishnet in:
~schwehr/projects/ilstereoview
A sample stereo image that I took at Yellowstone National Park is at:
http://www.frc.ri.cmu.edu/~schwehr/YNP98/Aug.30.02.12.56.1998.jpg
You will probably need to learn how to to use /usr/gfx/setmon
FIX: add info on how to easily make red/blue stereo images as I did
for the Mars Polar Lander project.
For more info:
man IL
man setmon
man ircombine
http://www.sgi.com/software/imagevision/man/man3/ilStereoView.html
http://www.sgi.com/software/imagevision/
* SEALAB II
One of the big events in the history of SIO was the deployment of
SEALAB II. Here is some info on gettng images of SEALAB into the
presentation.
First we need to get the location of SEALAB II. This can be found at
the hpwren site:
http://hpwren.ucsd.edu/news/020213.html
http://hpwren.ucsd.edu/news/images/020213.gif
Which puts SEALAB at:
32.86868 degrees North, 117.26718 West
This should be 62 m (205 feet) below the surface. Here are a couple
of photos from their site:
http://hpwren.ucsd.edu/Photos/20020204/
http://hpwren.ucsd.edu/Photos/20020204/2-RIMG0072.JPG
http://hpwren.ucsd.edu/Photos/20020204/3-screendump.JPG
Misc photos of SEALAB II:
http://www.photolib.noaa.gov/nurp/nur08011.htm
http://www.spawar.navy.mil/sti/publications/pubs/td/1940/photos/index4.html
SEALAB III:
http://www.greysteele.com/models/sealab.htm
For more info:
http://ceo.ucsd.edu/
* SIO SHIP LOCATIONS
The realtime location and status of the Revelle:
http://mercali.hpwren.ucsd.edu/Revelle/realtime/revelle.cgi
DIVE PHOTOS
Need to see if I can get permission...
http://www-acs.ucsd.edu/~scuba/ScrippsCanyonDiveImages.htm
http://www.diegoweb.com/diving/images/adam2.html
http://scilib.ucsd.edu/sio/ocean/canyon/
Peter B.'s photos:
http://www.peterbrueggeman.com/delta/index3.htm
gorgon1.jpg 208m in scripps canyon. I'm guessing this is at about:
-117.273827 32.867416
On the top right, choose polygon select and define a region on the
canyon wall about where we want the photo to be. Double click to
finish/close the polygon.
Data -> Add 3D Lines
Select Internal 3D Lines under the root node on the bottom left of the
screen. Then click "Add Polygon Selection" under edit on the bottom
right of the screen. Now click geo-reference. Now
Controls -> Geo-Reference
My box came up as:
min max
x -117.273621 -117.273056
y 32.867550 32.868202
x -202.540512 -152.171188
This box is partly under the terrain, so I need to adjust the box up
by increasing the z min and max. I will at 10 meters to each. Then
press Apply which is right belowe "Minimum Z" and the Geo-Reference on
the right side of the main menu. Now save the Internal 3D Lines as an
SD object with a nicer name.
File->Save Object
I'll call this one gordon1-bbox.sd (bbox = bounding box) Now we load
this object back into fledermaus with File->Load Data Object. Select
goron1-bbox.sd on the bottom left of the screen and then press
Geo-Reference on the right side. Now select Internal 3D Lines and
press Del to delete the object. Then save the scene to keep all of
the changes so far: File->Save Scene and then call it lj6.scene
Now create a vertical image: Data->Add Vertical Image. Select
Internal Vimage on the bottom left and then click the right arrow next
to the Image File which should currently say "Internal VImage".
Select gorgon1.jpg and click Open. Now go to
Controls->Geo-Referencing. Click "Copy Geo From..." and select
gorgon1-bbox.sd from the bottomw of the scroll box. Then press ok.
To get the image to appear, press Geo-Reference. The image is now
trapped in the terrain. Edit the Min and Max Z values in the
Geo-Referencing Control and add 50 meters. To get the image
stretching right, set the max Z to be higher by about 40 meters.
Click Apply and then Geo-Reference. The Z values that I have now are:
-142.540512 -52.171188
Now save the Internal VImage as a better named SD file. File->Save
Object and then call it gorgon1.sd and press save. Now load it back
in with File->Load Data Object. Select the object under root node and
press georeference. You can now delete the Internal VImage like
before.
wget http://www.peterbrueggeman.com/delta/delta1.jpg
wget http://www.peterbrueggeman.com/delta/delta23.jpg
wget http://www.peterbrueggeman.com/diving/pb1.jpg
wget http://www.peterbrueggeman.com/sdshark/aug01-2.jpg
http://www.californiacoastline.org/
Put in two coast photos from the California Coastline project. I put
in photos 9464 and 9492.
wget http://www.library.ca.gov/history/symbols/garibaldi.jpg
More photos...
http://earthguide.ucsd.edu/earthguide/imagelibrary.html
*GEOREF GEOLOGIC MAP
Thanks to Christie Lindemann for this section.
My How to Georeference doc is in F:\hw\geomatica.doc. This is just a
first draft, but it will get you through it. I want to add a few more
tips about what you need to start with and how to make it easier. Hope
that's okay for now. All the La Jolla Quad stuff is in
C:\jp\gis\san_diego_dem. I made ljquad.img and ljquad.tif. Jenna says
to use a tiff for fledermaus and not to mess with a geotiff if we know
the corners. PNG was not an option. I also made ljquad_corners.txt,
ljquad_cross_sectionB.png, and ljquad_legend.png just for something
extra.
Georeferencing a figure using PCI Geomatica V8.1
-Start Program PCI Geomatica V8.1
-On Geomatica Toolbar select the OrthoEngine icon (4th icon - airplane
in a white box)
-In OrthoEngine window, under File, select New to start a new project.
-In Project Information window, select Polynomial as your math
modeling method. Give your project a filename and choose where to
save it. Choose Accept.
- The Set Projection window will pop up. Choose Long/Lat from both
drop down menus on the left. If you are starting with a different
projection, choose appropriately in the GCP Project drop down menu.
If you want different output projection choose that in the Output
Projection drop down menu. You will be coming back to this window
later to fill in Output Pixel Spacing. Choose Accept.
-Next Processing Step, select GCP Collection from the drop down menu.
- Choose the first icon (white paper in a folder) to open a new or
existing image.
-Choose New Image.
-Find your file in the Database File Selection window. I always use a
.jpg, but it may accept other formats. Choose Open.
-There will be one line with your file name and its path in the Open
Image window. Select it, then choose Open.
-A window pops up with Database Channels. There are three buttons in
the window. Select the numbered lines in order and the same number as
the depressed button. First the 1 is depressed, select the 1 line.
Then the 2 is depressed, select the 2 line. Then the 3 Then choose
Load & Close.
-Your image should appear in an Image ID:filename-path window. You
can drag a corner to make it bigger if you want.
-Close your open image window. You don’t need it anymore.
-Choose the second icon (white hand and yellow keyboard?) to collect
GCPs (ground control points) manually.
-For your image, you should have at least 3 or 4 points with known
coordinates picked out -- not all on the same line. However, you will
need two on the same line of latitude for later. More points should
increase accuracy.
-In the image ID window, move your cursor over a point with known
coordinates. Click in that spot and a red cross should appear. Use
the zoom magnifying glass and the top of the window to get a closer
look to make sure you are in the right spot. Move the red cross if
needed. When ready, select Use as GCP. This point should now be
labeled as G0001.
-Go to the GCP collection window. Write down the pixel value you get
for each point because you will use them later. Enter the Lat/ Long
values for your point. Notice that the boxes are East on top and
North under that. Use a negative if you need West or South. For
degree/minute/second notation, use a space. For example, -117 17
49.07 would be 117 degrees 17 minutes and 49.07 seconds West. Click
outside the box to see the coordinate values appear in the Long Lat
boxes. Accept the point when your values are what you mean them to
be. If you want to see them after you accepted your point, click on
the Point ID G0001 and your values will come back up. Make sure to
accept it again when you are finished.
-Go back to the Image ID window and zoom out. Put your cursor on a
new point, zoom in, adjust, and select as GCP. This will be G0002.
Follow the same steps to define its value. Do this for all points you
want to use as GCPs. Then close the GCP collection window.
-Now you need to go back and fill in the Output Pixel Spacing value.
Go to the Processing Step drop down menu. Select Project.
-Select the second icon (white coordinates 2 ovals) called Set output and
default projection. The Set Projection window should appear. Now you have to
do a little calculation. You need to know how many degrees per pixel. Use
the pixel values that you recorded earlier. Use two points on the same line
of latitude and know how much space is between them. For example, 30 seconds.
Find the difference in pixels, for example 472.7 - 47.6 = 425.1 pixels.
This would give you 1 deg per 850.2 pix. Divide 1 by 850.2. Your value to
put in the Output Pixel Spacing box would be 0.0011761938367... that’s
enough. Choose Accept.
-Next Processing Step, choose Geometric Correction from the drop down
menu. You should still have the Image ID window open, but if you accidentally
closed it, open it again with the Open an Image Icon (white paper in a yellow
folder).
-Choose the third icon (white piece of paper to a warped stretched
white piece of paper) to Schedule Geometric Correction.
-Your image name should be in the Available Images Box in the
Geometric Corrected Image Production window. Click on that line with
your images name. It will turn blue when you have selected it. Then
click the arrow in the middle to bring it to the Images to Process
Box.
-Choose a file name for your corrected image and where you want it to
be saved. The file type is a .pix. The default is your file name
with an o in front of it for ortho. Check the Upper Left and Lower
Right coordinates to make sure they seem reasonable for your image.
If they are not, select the Recompute Ortho Bound button. If they
still seem crazy, you did something wrong. Maybe you forgot a
negative, entered wrong coordinates, miscalculated pixel spacing…
check your work and you’ll find it. If everything looks good,
choose Correct Images.
-Now you need to export your work. Go to the Geomatica Toolbar and
choose Focus - the first icon.
-In the Geomatica Focus window, go to File. Choose Export - To New
File.
-For Select Source File, find your file. For Select Destination File
decide what File type you need and what you want to name it. I use
.img, but there is .tif and many more.
-In Exportable Items, choose Select All. Then choose the Add button
to bring it to the next box. When they are in the Selected Items box,
choose Export.
-Open your .img in ArcMap or whatever program you are using and
hopefully it is in the right place.
NOTES by Kurt:
When I digitized a map, I didn't want to put it into Arc/Info, so here is what
I did differently. In Ortho Engine, under Processing Step, choose Reports,
then the left icon (a piece of paper and folder) to make a report. Check all
of the check boxes. Now select the image and you should see your report
include all kinds of info. Click print to file save the info about what you
did.
When exporting the data, you probably also want to export TIF or JPEG so that
you can bring the file in to OpenInventor.
GRASS
GRASS notes for on the SGI
NOTE: NOT total successful!
http://grass.itc.it/
http://grass.itc.it/grass5/binary/irix/
wget http://grass.itc.it/grass5/binary/irix/grass5.0.2_irix-o32_bin.tar.gz
wget http://grass.itc.it/grass5/binary/irix/grass5_irix-o32_install.sh
sh grass5_irix-o32_install.sh grass5.0.2_irix-o32_bin.tar.gz /omaha/demos/Kurt/grass/grass5.0.2 /omaha/demos/Kurt/grass/grass5.0.2-bin
Grass was installed but NViz3D does not work... building from source
--with-opengl-includes=DIRS
OpenGL include files are in DIRS
--with-opengl-libs=DIRS OpenGL library files are in DIRS
--with-odbc-includes=DIRS
ODBC include files are in DIRS
--with-odbc-libs=DIRS ODBC library files are in DIRS
--with-fftw-includes=DIRS
FFTW include files are in DIRS
--with-fftw-libs=DIRS FFTW library files are in DIRS
--with-blas-libs=DIRS BLAS library files are in DIRS
--with-lapack-libs=DIRS LAPACK library files are in DIRS
--with-motif-includes=DIRS
Motif include files are in DIRS
--with-motif-libs=DIRS Motif library files are in DIRS
--with-freetype-includes=DIRS
FreeType include files are in DIRS
--with-freetype-libs=DIRS
FreeType library files are in DIRS
--with-glw-includes=DIRS
GLw include files are in DIRS
--with-glw-libs=DIRS GLw library files are in DIRS
--with-x use the X Window System
--with-dbm-libs=DIRS DBM library files are in DIRS
--with-readline-includes=DIRS
Readline include files are in DIRS
--with-readline-libs=DIRS
Readline library files are in DIRS
--with-jpeg-includes=DIRS
JPEG include files are in DIRS
--with-jpeg-libs=DIRS JPEG library files are in DIRS
--with-tiff-includes=DIRS
TIFF include files are in DIRS
--with-tiff-libs=DIRS TIFF library files are in DIRS
--with-png-includes=DIRS
PNG include files are in DIRS
--with-png-libs=DIRS PNG library files are in DIRS
--with-gd-includes=DIRS GD include files are in DIRS
--with-gd-libs=DIRS GD library files are in DIRS
--with-tcltk-includes=DIRS
Tcl/Tk include files are in DIRS
--with-tcltk-libs=DIRS Tcl/Tk library files are in DIRS
--with-tiff support TIFF functionality (default: yes)
--with-png support PNG functionality (default: yes)
--with-gd support GD functionality (default: yes)
--with-tcltk support Tcl/Tk functionality (default: yes)
--with-postgres support PostgreSQL functionality (default: yes)
--with-opengl support OpenGL functionality (default: yes)
--with-odbc support ODBC functionality (default: yes)
--with-fftw support FFTW functionality (default: yes)
--with-blas support BLAS functionality (default: no)
--with-lapack support LAPACK functionality (default: no)
--with-motif support Motif functionality (default: no)
--with-freetype support FreeType functionality (default: no)
--with-glw support GLw functionality (default: no)
--with-nls support NLS functionality (default: no)
--with-readline support Readline functionality (default: no)
--with-gdal[=path] build directly against GDAL (path is gdal-config)
--with-includes=DIRS site include files are in DIRS
--with-libs=DIRS site library files are in DIRS
--with-zlib-includes=DIRS
zlib include files are in DIRS
--with-zlib-libs=DIRS zlib library files are in DIRS
--with-dbm-includes=DIRS
DBM include files are in DIRS
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
--enable and --with options recognized:
--enable-sysv define the compiler macro SYSV
--enable-another-button use two-button mouse conveniently
--enable-socket use socket XDriver (default)
--enable-fifo use FIFO XDriver instead of sockets
--enable-w11 use W11 library for Windows X11 emulation
--with-dbm support DBM functionality (default: no)
../grass5.0.2/configure --prefix=/omaha/demos/Kurt/grass/grass5.0.2-fromsrc --with-tcltk-includes=/omaha/demos/Kurt/tcltk/include --with-tcltk-libs=/omaha/demos/Kurt/tcltk/lib
../grass5.0.2/configure --prefix=/omaha/demos/Kurt/grass/grass5.0.2-fromsrc --with-tcltk-includes=/omaha/demos/Kurt/tcltk/include --with-tcltk-libs=/omaha/demos/Kurt/tcltk/lib --with-gd-includes=/omaha/demos/Kurt/gd-2.0.15/include --with-gd-libs=/omaha/demos/Kurt/gd-2.0.15/lib
../grass5.0.2/configure --prefix=/omaha/demos/Kurt/grass/grass5.0.2-fromsrc --with-tcltk-includes=/omaha/demos/Kurt/tcltk/include --with-tcltk-libs=/omaha/demos/Kurt/tcltk/lib --with-gd-includes=/omaha/demos/Kurt/gd-2.0.15/include --with-gd-libs=/omaha/demos/Kurt/gd-2.0.15/lib --without-postgres --without-odbc --without-fftw
./grass5.0.2/configure --prefix=/omaha/demos/Kurt/grass/grass5.0.2-fromsrc --with-tcltk-includes=/omaha/demos/Kurt/tcltk/include --with-tcltk-libs=/omaha/demos/Kurt/tcltk/lib --with-gd-includes=/omaha/demos/Kurt/gd-2.0.15/include --with-gd-libs=/omaha/demos/Kurt/gd-2.0.15/lib --without-postgres --without-odbc --without-fftw
./configure --prefix=/omaha/demos/Kurt/grass/grass5.0.2-fromsrc --with-tcltk-includes=/omaha/demos/Kurt/tcltk/include --with-tcltk-libs=/omaha/demos/Kurt/tcltk/lib --with-gd-includes=/omaha/demos/Kurt/gd-2.0.15/include --with-gd-libs=/omaha/demos/Kurt/gd-2.0.15/lib --without-postgres --without-odbc --without-fftw
make -j 20
export PATH=/omaha/demos/Kurt/grass/grass5.0.2-fromsrc/bin:$PATH
export PATH=/omaha/demos/Kurt/tcltk/bin:$PATH
cd grass5.0.2/src.contrib/GMSL/NVIZ2.2 &&
gmake5
then went into the nvizMain.c file and defined a new matherr function,
since it doesn't seem to pick up matherr from libm.
int matherr(int *a) {
printf ("FIX: matherr called but not implimented in nvizMain.c\n");
if (a) {
printf (" arg: %d\n",*a);
}
return (0);
}
copies the new NVWISH into place...
cd ~/omaha/grass/grass5.0.2/etc/nviz2.2 && cp ~/omaha/grass/Source/grass5.0.2/dist.mips-sgi-irix6.5/etc/nviz2.2/NVWISH2.2 .
* TRANSPARENT TEXTURE IN INVENTOR
NOT FINISHED!!!
Working with texture un IV... here is a sample file that uses an
SoSFImage in the text file to define the image:
#Inventor V2.0 ascii
Separator {
Separator {Translation {translation 1000 0 0}Sphere{ radius 50 }}
Separator {Translation {translation -1000 0 0} Sphere{ radius 50 } }
Separator {Translation {translation 0 1000 0} Sphere{ radius 50 } }
Separator {Translation {translation 0 -1000 0} Sphere{ radius 50 } }
Separator {Translation {translation 0 0 1000} Sphere{ radius 50 } }
Separator {Translation {translation 0 0 -1000} Sphere{ radius 50 } }
}
Separator {
Texture2 { image 2 2 2 0xF090 0xFFFF 0xFF00 0x9090 }
Coordinate3 { point [ 0. 0. 0.0, 793 0.0 0.0,
0. 0. -550, 793 0.0 -550 ] }
TextureCoordinate2 { point [0.0 1.0,1.0 1.0,0.0 0.0,1.0 0.0 ] }
IndexedFaceSet { coordIndex [ 0, 1, 2, -1, 1, 3, 2, -1 ]}
}
ivview texture-test.iv
Option -> High Quality Transparency
viewer->setTransparencyType(SoGLRenderAction::DELAYED_BLEND);
viewer->setTransparencyType(SoGLRenderAction::SCREEN_DOOR);
SoGLRenderAction::SCREEN_DOOR
Uses stipple patterns for screen-door
transparency
SoGLRenderAction::ADD Uses additive alpha blending
SoGLRenderAction::DELAYED_ADD
Uses additive blending, rendering all
transparent objects after opaque ones
SoGLRenderAction::SORTED_OBJECT_ADD
Same as DELAYED_ADD, but sorts transparent
objects by distances of bounding boxes
from camera
SoGLRenderAction::BLEND Uses multiplicative alpha blending
SoGLRenderAction::DELAYED_BLEND
Uses multiplicative alpha blending,
rendering all transparent objects
after opaque ones
SoGLRenderAction::SORTED_OBJECT_BLEND
Same as DELAYED_BLEND, but sorts
transparent objects by distances of
bounding boxes from camera
http://astronomy.swin.edu.au/~pbourke/dataformats/sgirgb/
Setting up your SGI Desktop Background
Setting up the SGI background is not as easy as on Mac OSX, Linux, or
Windows, but once you get it straighten out, you can have a nice
background... I don't much like the original options SGI gives you.
The standard way is to use the Background program from the toolchest
of "background" on the command line. You can setup a .background file
to be able to add your own backgrounds.
man background
Or you can do what I did and turn off the SGI Backgrounds. Then you
can use bgpaste directly. Add this line to ~/.Xresources:
4Dwm*SG_useBackgrounds: False
Now you can use bgpaste to put images on your background.
For more info:
man bgpaste
man 4Dwm
man tellwm
man IID
http://4crawler.cruiserpages.com/Docs/Background.shtml
http://www.faqs.org/faqs/sgi/faq/graphics/
Making icons on the desktop
HAVE NOT GOT THIS SECTION WORKING
Type fm, find the program, and drag it to the desktop?
If you double
click on your home directy, it should pop up an explorer like icon
catalog. Find you app and drag it to the desktop. I have not figured out
how to pass it command line args, but you could create a small shell
script that runs your program with all the options and then drag that
script to the desktop.
man fm
less /usr/lib/filetype/Makefile.personal
man IconSmith
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&srch=&fname=/SGI_EndUser/Desktop_UG/sgi_html/ch11.html
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&srch=&fname=/SGI_Developer/IIDsktp_IG/sgi_html/pt02.html
* MAKING A MOVIE
fledermaus -scene lj13.scene
Controls->Movie Controls
Click Record On
Fly around
File -> Save Movie
movie2
File->Quit
smoother -in movie2.mov -out movie2_S.mov -fskip 10 -length 1200
movieclient -scene lj13.scene -movie movie2_S.mov -out lj-m2
Right mouse -> Render Movie
imginfo lj-m20000
Warning: lj-m20000: associated alpha treated as unassociated
Image file: lj-m20000
File format: TIFF image
Dimensions (w,h,z,c): 640, 480, 1, 4
Page Size (w,h,z,c): 640, 1, 1, 4
Data type: unsigned char
Dimension order: interleaved
Color model: RGBA
Coordinate space: upper-left
Statistical Min/Max: 0 - 255
Display Min/Max: 0 - 255
Data Compression: Lempel-Ziv & Welch
man makemovie # Give the list of compression schemes for quicktime (qt) movies
Now, I'll go ahead and build a movie for each time so we can compare the file size
makemovie -o lj-m2-anim.mov -f qt -c qt_anim lj-m2????
makemovie -o lj-m2-video.mov -f qt -c qt_video lj-m2????
makemovie -o lj-m2-cvid.mov -f qt -c qt_cvid lj-m2????
makemovie -o lj-m2-jpeg.mov -f qt -c jpeg lj-m2????
299902818 Oct 7 13:36 lj-m2-anim.mov
41318954 Oct 7 14:13 lj-m2-cvid.mov
48002318 Oct 7 13:58 lj-m2-jpeg.mov
125478250 Oct 7 13:36 lj-m2-video.mov
movieplayer lj-m2-anim.mov
From looking at the images on the SGI, the quality looks like as follows:
video - pretty good looking
jpeg - Excellent
anim - Has some strange horizontal artifacts.
cvid - Muddy and unpleasant.
So based on quality and file size, I think jpeg wins out.
Now we need some demo movies for the web. These need to be smaller
than the full thing and use the demo scene with only three lines.
movieclient -scene lj14-public-draft3.scene -framesize 200 200 -out lj14-pub-200x200 -movie movie2.mov
imginfo lj14-pub-200x2000000
File format: TIFF image
Dimensions (w,h,z,c): 200, 200, 1, 4
movieclient -scene lj14-public-draft3.scene -framesize 100 100 -rendersize 100 100 -out lj14-pub-100x100- -movie movie2.mov
movieclient -scene lj14-public-draft3.scene -framesize 400 400 -rendersize 400 400 -out lj14p -movie movie2.mov
makemovie -o lj-pub-med-jpeg.mov -f qt -c jpeg lj14p0???
JP and Jenna pointed me to another way to make movies on the SGI.
This way is able to produce mpeg1 movies
mediaconvert
File -> Open Input File
Check "Numbered Images"
In the "File Template" field, Replace # instead of 0000 for your image
number... e.g. lj14p0000 becomes lj14p####
Select MPEG-1 Video for the "File Format" drop down
Misc La Jolla Info:
http://www.thales-geopacific.com/papers/seafloorhabitat_SD.pdf
http://seafloor.csumb.edu/Metadata/LaJolla/LJ_MB.htm
http://seafloor.csumb.edu/publications/SMBMP_Final_Report.pdf
Karen Stocks at SDSC information management
* REGIONAL WORK BENCH CONSORTIUM
http://www.regionalworkbench.org/
This section has an excellent presentation on digitial data from the
San Diego/Tijuna area on UCSD-TV. Especially interesting is the
regional water sheds and satellite photos over time.
Telesis data
Jeff Sale @ San Diego State
SIO AIRPHOTO
From Breck:
I have one image of the entire campus that I got from upper campus,
the other one of La Jolla Point to the TP golf Course is from Aerial
Fotobank. David Sandwell bought the high resolution TIFF file in
order to superimpose the contours of La Jolla Canyon offshore and give
a print of it to Walter Munk for his 80th birthday in 1997.
Aerial Fotobank has an archive of aerial photos of San Diego county
dating back to the 1920's. I haven't been to their office in 10 years,
but they used to have their library sorted by area and date. They had
a pecial airplane with a 8"x8" camera in the floor. They would take it
up whenever the weather granted us 100 mile visibility, like light
Santa Ana conditions, and shoot as much as they could. They also did
lots of obliques, and special order shoots. Their big customers are
land developers. Their library was mostly thousands of contact prints
in 3-ring binders, they might have gone digital by now. They charge by
the hour just to let you browse their library, but their staff used to
be very helpful. A fellow named Oscar, and his wife and daughter,
started the company. I know they've sold it but stayed on as
consultants. They put out a 11"x17" aerial photo booklet of the
entire county matched with Thomas Brothers maps. Frank Wyatt here at
IGPP has one on the desk outside his office.
If you want very old photos there was a fellow who flew over San Diego
in 1926 and shot hundreds of aerials, trying to make money selling
them. Deborah Day has some of them, but I think the San Diego
Historical Society has most of them. They also have an extensive
library and the staff is very helpful.
If you want back country photos, I know the Cleveland Nat. Forest has
extensive color aerials of their land, but they're a bit protective of
them. I got to browse through them when I did botany surveys for them
in the early 1990's.
Aerial Fotobank, used to be in Sorrento Valley, now listed in phone
book in 2 locations
6181 Cornerstone Court (760 944 4448) I think off of Mira Mesa Blvd
9833 Pacific Heights Blvd (858 455 0780)
MORE GIS STUFF
San Diego City and County have a joint online GIS system with
interactive maps. I don't know how to get the raw data.
http://www.sangis.org/