Osgeo 3d
From DreamsteepWiki
Same as below with blender taken out
import gdal
from gdalconst import *
from gdalnumeric import *
#import Numeric
def gdalconv(filename):
filer = "'"+filename + "'"
print filer
gk = gdal.Open(filename, GA_ReadOnly)
array = gk.ReadAsArray()
width = array.shape[1]
ht = array.shape[0]
#array in [row, column]
#me = NMesh.GetRaw()
df = array
for i in range (0,ht):
for j in range (0,width):
elev = df[i,j]*.01
#3 arc seconds = 90 meters on side
#v = NMesh.Vert(j*.9,(ht-i)*.9,elev)
#me.verts.append(v)
for u in range (0,ht - 1):
for w in range (0,width - 1):
print w
#f= NMesh.Face()
#f.v.append (me.verts[u*width+w])
#f.v.append (me.verts[u*width+w+1])
#f.v.append (me.verts[(u+1)*width+w+1])
#f.v.append (me.verts[(u+1)*width+w])
#f.smooth = 1
#me.faces.append(f)
#NMesh.PutRaw(me, "raster", 1)
#Blender.Redraw()
def fs_callback(filename):
gdalconv(filename)
#Blender.Window.FileSelector(fs_callback,"Raster Import")
gdalconv('/home/keith/fgs/apps/metro_apps/data/JCJpgs/019034_UTM_Feet.jpg')
#gk = gdal.Open('/home/keith/fgs/apps/metro_apps/data/JCJpgs/019034_UTM_Feet.jpg', GA_ReadOnly)
#taken from #http://blenderartists.org/forum/showthread?t=37133 import Blender from Blender import * import gdal from gdalconst import * from gdalnumeric import * import Numeric def gdalconv(filename): filer = "'"+filename + "'" print filer gk = gdal.Open(filename, GA_ReadOnly) array = gk.ReadAsArray() width = array.shape[1] ht = array.shape[0] #array in [row, column] me = NMesh.GetRaw() df = array for i in range (0,ht): for j in range (0,width): elev = df[i,j]*.01 #3 arc seconds = 90 meters on side v = NMesh.Vert(j*.9,(ht-i)*.9,elev) me.verts.append(v) for u in range (0,ht - 1): for w in range (0,width - 1): f= NMesh.Face() f.v.append (me.verts[u*width+w]) f.v.append (me.verts[u*width+w+1]) f.v.append (me.verts[(u+1)*width+w+1]) f.v.append (me.verts[(u+1)*width+w]) f.smooth = 1 me.faces.append(f) NMesh.PutRaw(me, "raster", 1) Blender.Redraw() def fs_callback(filename): gdalconv(filename) Blender.Window.FileSelector(fs_callback,"Raster Import")

