Posts

Advocate Harbour Color Shaded Relief Map

A new large 8 foot color shaded relief map that I have created has been posted for display at a local tourist kiosk in Advocate Harbour, Nova Scotia. Now both tourists and residents of the area will be able to gain a better appreciation of the topography that borders the Northern Bay of Fundy region

Color Shaded Relief Models

A color shaded relief (CSR) utilizes chromo stereoscopic techniques to help emphasize the depth of the Z dimension from traditional shaded relief models that already portray the presence of an elevation difference. Using carefully edited …

Digital Elevation Models (DEMS)

A digital elevation model (DEM) or sometimes referred to as a digital terrain model (DTM) is a quantitative representation of the topography of the Earth. DEMs are used as a source of elevation (and to create other digital terrain models) for many different purposes

Digital Terrain Modeling – Color Shaded Relief Models

A color shaded relief (CSR) model utilizes chromo stereoscopic techniques to help emphasize the depth of the Z dimension from traditional shaded relief models that already portray the presence of an elevation difference.

Digital Terrain Modeling

Digital Terrain Modeling is the process of simulating or representing the relief and patterns of a surface with numerical and digital methods. It has always been an integral component to geology related fields such as geomorphology, hydrology, tectonics and oceanography but over the past decade has also become a major component to non geophysical applications such as GIS modeling, surveying and land use planning.

Terrain Models are derived from data represented by digital elevation models (DEMs) and can include shaded relief models, slope and aspect models, perspective scene generation, and drainage basin analysis (and other models).

Script to generate a PIX file large enough to contain all input DEM files

Below is a simple EASI script used with the MODEL command in PCI will generate an output PIX file with extents large enough to contain all of the input files PIX files and then mosaic each of the input files into the output pix file. It was designed to mosaic several DEM files into one large DEM file.

This was originally created for PCI Geomatica v9.1 but was last tested and working with no problems in PCI Geomatica v10.0 – Just copy the code below into a blank text file and edit as needed.

!—————————————————————————-

! Multiple DEM Mosaic Script
! [mul_DEM_mosaic.eas]

! Ted MacKinnon – tmackinnon.com
!
! This script will generate an output PIX file with extents large enough
! to contain all of the input files and then mosaic each of the input
! files into the new output pix file.
!
! This script was designed to mosaic several DEM files into one large
! DEM file. Each input DEM file must have the same projection,
! resolution and at each DEM should have at least 150m overlap.
!
! The user is expected that the user will enter (or verify) the parameters
! of ‘CIMPRO’ at the bottom of this script prior to running the script.
! Parmaters such as BXPXSZ and DBIC have been hard coded.

!—————————————————————————-
!—————————
! Define variables
!—————————

!for input & output pix files and pixel size

local string inputFile, outputFile
local string pixel

!to obtain list of input files
local mstring inputList
local integer inputIndex

!for extracting georeferencing information

local GeoInfo geoInfo
local integer geoFile

!to contain bounding rectangle of all input files

local double boundULX, boundULY, boundLRX, boundLRY

!—————————————————————————-
! Clear the EASI window and then show the header information
!—————————————————————————-

PRINT @(1 ,1,CLREOS)

print “———————————————————————–

print @reverse,” ‘Mosaic multiple DEM files’ EASI Script “,@alloff
print “”
print “”
print “”
print “———————————————————————–“
print “”
print ” This script will generate an new output PIX file with extents large “
print ” enough to contain all of the PIX files in this directory and then “
print ” mosaic each of the PIX files into the new output file.”
print “”
print ” The output file will contain the following projection: “
print “”

! The projection will be printed to the screen as a general reminder

print ” UTM 11 S E000″

print “”
print “———————————————————————–“
print “”

!—————————————————————————-
! Collect input from user
!—————————————————————————-

print “”
print “Enter the Output file name:”
input “>” outputFile
print “”

print “Enter the pixel size for: “,outputfile

input “>” pixel

print “”
print “”

PRINT @(1 ,1,CLREOS)

!—————————————————————————-
! Create list of input files
!—————————————————————————-

sys “dir *.pix /b > pixlist.txt”

inputList = Text$Import(“pixlist.txt”)

!—————————————————————————
! Read georeferencing of each input file
!—————————————————————————-

for inputIndex = 1 to F$LEN(inputList)

print inputList(inputIndex)

geoFile = DBOpen(inputList(inputIndex), “r”)
call DBReadGeoInfo(geoFile, geoInfo)
call DBClose(geoFile)

print “Georeferencing: “, geoInfo.Units
print “Image extents: “,geoInfo.ULX, “, “, geoInfo.ULY, ” “, geoInfo.LRX, “, “, geoInfo.LRY

PRINT @(1 ,1,CLREOS)

!————————————————————————-
! initialize bounds using first file
!————————————————————————-

if inputIndex = 1 then

boundULX = geoInfo.ULX
boundULY = geoInfo.ULY
boundLRX = geoInfo.LRX
boundLRY = geoInfo.LRY

else

!———————————————————————–
! assumes UTM projection (ULY > LRY)
!———————————————————————–

if geoInfo.ULX < boundULX then
boundULX = geoInfo.ULX

endif

if geoInfo.ULY > boundULY then

boundULY = geoInfo.ULY

endif

if geoInfo.LRX > boundLRX then

boundLRX = geoInfo.LRX

endif

if geoInfo.LRY < boundLRY then
boundLRY = geoInfo.LRY

endif

endif

print “”

endfor

print outputFile, ” file extents: “, boundULX, ” “, boundULY, ” “, boundLRX, ” “, boundLRY

!—————————————————————————-
! create the output PIX file containing bounds
!—————————————————————————-

FILE = outputFile
TEX1 =

!Specify the # of channels here

DBNC = 1,0,0,0
DBLAYOUT = “PIXEL”

!Specify the projection info here

PROJECT = “UTM”
ZONE = 11
ROW = “S”
ELLIPS = “0”
LLBOUND = “N”

ULX = F$STRING(boundULX)
ULY = F$STRING(boundULY)
LRX = F$STRING(boundLRX)
LRY = F$STRING(boundLRY)
BXPXSZ = pixel
BYPXSZ = pixel
REPORT = “TERM”

run CIMPRO

!—————————————————————————-
! Mosaic each PIX file from the listing into the outputfile
!—————————————————————————-

inputList = Text$Import(“pixlist.txt”)

for inputIndex = 1 to F$LEN(inputList)

inputFile = inputList(inputIndex)

!————————————————————————–
! Clear the EASI window and show progress
!————————————————————————–

PRINT @(1 ,1,CLREOS)

print “”
print “Mosaicking “, inputFile, ” into “, outputFile
print “”

FILI = inputFile
DBIC = 1
DBVS =
DBLUT =
FILO = outputFile
DBOC = 1
BLEND =
BACKVAL = 0

run MOSAIC

endfor
!—————————————————————————-
!—————————————————————————-

Color Shaded Relief Model of Vancouver Island

Color shaded relief (CSR) model created using a DEM of Vancouver Island, British Columbia using PCI Geomatica software. The …

Color Shaded Relief Models – Pointe Du Chene, New Brunswick

Color Shaded Relief Models of Pointe Du Chene, New BrunswickColor Shaded Relief Models of Pointe Du Chene, New Brunswick with flood
The above two images were created for my LIDAR flood modeling graduate research project. The first image is before the flood scenario; featuring a color shaded relief perspective view pointing south east from the Northumberland Strait landwards across the Pointe Du Chene wharf. The second image is of the same color shaded relief perspective view but features a 2.55 m flood level super imposed on top of it.

The 2.55 m flood level was an actual recorded storm surge water level that effected this area during a winter storm on January 2001. The two images below show the same flood level and area but from an overhead aerial view. The first image is with an orthophoto and the second image is with the color shaded relief.

Pointe Du Chene, New Brunswick with floodPointe Du Chene, New Brunswick with flood