For archaeological and anthropological purposes, it is frequently desirable to transform modeled objects (buildings, mounds, plazas, etc.) into real world coordinates. Doing so properly adjusts the scale, orientation, and location of the model. However, displaying models in raw UTM coordinates can cause problems for computer video cards. This post describes two approaches to a coordinate shift that can solve the problem.
When recording large sites in real world coordinates, the Universal
Transverse Mercator (UTM) projection is very often used. This
projected coordinate system that is divided into a number of zones. The
projection is expressed in meters and generally works very well for
representing geographically small spaces like large archaeological
sites. For over a decade, I used the UTM coordinate system to represent
archaeological spaces with GIS. More recently, I have begun working with
photogrammetry for 3D modeling applications. I'm typically generating
3D models with either stereo (Photomodeler Scanner) or structure from
motion (Bundler v0.3) photogrammetry. To transform these models into
real world coordinates (for proper scale, orientation, and location) I
collect ground control points (GCPs). I record the real world location
of these GCPs in UTM coordinates.
While processing data, I came to learn that 3D rendering of UTM coordinates causes problems for many video cards. As a result, as one moves and pans around the model the rendering is extremely jumpy, choppy, and even erratic. James Hargrave (Photomodeler Scanner customer support) and archaeologist Bill Isenberger (who uses Photomodeler Scanner with KAP to produce some outstanding results) suggest applying a coordinate shift. Hargrave suggested transforming the coordinates so that one point became the origin (i.e. 0,0) while Eisenberger suggested subtracting values only in the first places of the coordinate pair. Both work well, but I tend to use Eisenberger's approach as described below.
Consider the following UTM coordinates:
Northing: 8828086.48
Easting: 198045.87
From the northing subtract -8828000 and from the easting subtract 198000. This results in the following new shifted UTM coordinates:
Shifted Northing: 086.48
Shifted Easting: 045.87
Now that UTM coordinates are expressed in three digits, the models can be rendered by video cards that otherwise exhibit rendering problems. It is important to note that the coordinate shift is reversible, simply add the previously subtracted values back to the northing and easting.
When working with GCPs to transform a model, I typically make the coordinate shift in an Excel spreadsheet. I write out the full number and create new columns that perform the arithmetic.
While processing data, I came to learn that 3D rendering of UTM coordinates causes problems for many video cards. As a result, as one moves and pans around the model the rendering is extremely jumpy, choppy, and even erratic. James Hargrave (Photomodeler Scanner customer support) and archaeologist Bill Isenberger (who uses Photomodeler Scanner with KAP to produce some outstanding results) suggest applying a coordinate shift. Hargrave suggested transforming the coordinates so that one point became the origin (i.e. 0,0) while Eisenberger suggested subtracting values only in the first places of the coordinate pair. Both work well, but I tend to use Eisenberger's approach as described below.
Consider the following UTM coordinates:
Northing: 8828086.48
Easting: 198045.87
From the northing subtract -8828000 and from the easting subtract 198000. This results in the following new shifted UTM coordinates:
Shifted Northing: 086.48
Shifted Easting: 045.87
Now that UTM coordinates are expressed in three digits, the models can be rendered by video cards that otherwise exhibit rendering problems. It is important to note that the coordinate shift is reversible, simply add the previously subtracted values back to the northing and easting.
When working with GCPs to transform a model, I typically make the coordinate shift in an Excel spreadsheet. I write out the full number and create new columns that perform the arithmetic.
Leave a comment