Geography 176C: Registration
How to register layers in a GIS?
raster or vector
using methods in ArcGIS
Coordinate transformations
data in some coordinate system (x,y)
need to convert to some new coordinate system (u,v)
occurs during projection change
using widely recognized coordinate systems
also needed when coordinate systems are unknown
or unrelated to Earth coordinate systems
not georeferenced
in raster
need each layer to line up
cell by cell, pixel by pixel
may require resampling
interpolating values for new pixels
using some variant of spatial interpolation
bilinear interpolation
used to estimate values in resampling
only useful for raster
Some terms
rubber-sheeting
warping one data set to fit another
using common reference points
in order to:
use as two layers in a GIS
conflate or fuse the data
combine attributes from both data sets
make the data interoperable
e.g. for emergency dispatch
Goleta example
two data sets of streets
edge-matching
two data sets should meet on a common edge
warp the edge to remove breaks
zip, stitch the edge together
registration points
used to match data sets
GPS
corners of sidewalks
buildings?
white crosses for aerial photography
in areas with no recognizable features
size determines accuracy
street intersection 10m
tree 2m
white cross 10cm
need to distribute over data set
avoiding straight line
San Nicolas example
Cold War mapping
coordinates obtained in both old and new systems
e.g. match points in image to known GPS coordinates
warp the image to georegister
Rubber-sheeting
transforms old to new coordinates
using mathematical functions
u = f(x,y)
v = g(x,y)
what restrictions on the functions?
how to figure out which functions to use?
Affine transformations
affine transformations keep parallel lines parallel
will not straighten curves
or curve straight lines
linear operations
four different elements
1. translation
origin is moved, axes do not rotate
u = x - a
v = y - d
origin is moved a units parallel to x and b units parallel to y
2. scaling
both origin and axes are fixed, scale changes
scaling may be different in x and y
if different, shape will change
transformation is not conformal
u = bx
v = fy
3. rotation
origin fixed, axes move (rotate about origin) by an angle alpha
u = x cos(alpha) + y sin(alpha)
v = -x sin(alpha) + y cos(alpha)
alpha is measured counterclockwise
4. reflection
coordinate system is reversed, objects appear in mirror image
to reverse y but not x:
u = x
v = d - y
compare the effect of dropping the negative for West longitudes
v = -y
Complex affine transformations
usually a combination of these transformations will be needed
the combined equations are:
u = a + bx + cy
v = d + ex + fy
Affine transformations in GIScannot separate into primitives
order is important
e.g. translation followed by scale change is not the same as scale change followed by translation
reflection has occurred if bf less than or equal to ce
e.g. u = x, v = -y
a = 0, b = 1, c = 0, d = 0, e = 0, f = -1
bf = -1
ce = 0
registration point coordinates needed in both coordinate systems
must have at least 3 control points
since 3 points provide 6 values which can be used to solve for the 6 unknowns
control points must not be on a straight line (not collinear)
simple example
x y u v 0 0 1 10 1 0 1 9 0 1 3 10 1 1 3 9
u = 1 + 0x + 2y
v = 10 - x + 0y
is bf less than or equal to ce
bf = 0
ce = -2
no reflection
city fire study example
problem:
given two sets of spatial data:
1. Census tract boundaries in the city with coordinates given in UTM
2. Fire locations in the city plotted on a crude road map
UTM is to be the destination system
count the number of fires in each census tract
analyze the numbers of fires in relation to characteristics described by census data
use major street intersections as control points
12 points scattered over the city
determine UTM coordinates of the intersections
digitize fire locations and control points from road map
coordinate system defined by digitizer table
Intersection x y v uOxford and Sanatorium 2.90 9.80 4757500 472700Wonderland and Southdale 4.86 5.96 4753800 476500Wharncliffe and Stanley 7.32 8.56 4758200 478600Oxford and Wharncliffe 7.58 9.67 4759800 478400Wellington and Southdale 8.24 4.90 4754300 481500Highbury and Hamilton 11.32 6.67 4758200 484100Trafalgar and Clarke 13.17 7.56 4759700 486200Adelaide and Dundas 9.49 8.59 4759400 481100Clarke and Huron 11.48 10.62 4763700 484700Highbury and Fanshawe 11.50 12.68 4765400 481500Richmond and Fanshawe 9.67 12.78 4763600 476900Richmond and Huron 8.28 10.73 4761500 478800best fit equations:
UTM North = 4744301 + 520.8 x + 1182.9 y R^2 = 0.988 SEE = 438m
UTM East = 474085 + 1258.0 x - 563.3 y R^2 = 0.938 SEE = 1060mClarke and Huron, Richmond and Fanshawe have high residuals
after deleting:
UTM North = 4744135 + 501.0 x + 1222.2 y R^2 = 0.998 SEE = 151m
UTM East = 473668 + 1207.9 x - 464.6 y R^2 = 0.999 SEE = 167m
ArcGIS functions for registration
georeferencing toolbar
176B lab 3
spatial adjustment toolbar
control points file
previously coverage tics
link one by one to shapefile
adjust
similarity has only four parameters
translation, rotation, plus scaling uniform in all directions
u = a + sx cos (alpha) + sy sin (alpha)
v = d - sx sin (alpha) + sy cos (alpha)
Tobler's first law
rubber sheeting implies that distortions vary smoothly
displacement at any point is similar to nearby displacements
with affine transformations shifts vary linearly
curvilinear transformation
the functions f and g are no longer linear
compare map projections
lat long to Mercator
x = longitude
y = ln tan [latitude/2 + 1.5708]
what about rips in the rubber sheet?
map is a mosaic
each piece of the mosaic has its own registration errors
affine transformations in each piece
stitched together at edges
sharp changes between pieces
Goleta street database
what if features from different sources
each source has its own registration problems
each feature class?
each is on its own rubber sheet