How to Defeat Common Barriers to Georeferencing
Spatial data becomes much more valuable when it can be combined, overlaid, and compared with other data. For example, last week Michael discussed how combining disparate data sources can make it easier to understand the big picture when disaster strikes.
However, before you can compare and visualize your data, you need the ability to overlay different datasets so they overlap correctly (e.g., if a street intersection on a map corresponds to a pixel in a satellite image, they should line up when viewed together). Typically, this is accomplished by converting everything into a common coordinate system, such as lat/long WGS84. This depends on your data being georeferenced: tied, via the coordinate system, to known locations on earth. But what do you do when your data doesn’t have a coordinate system at all?
A classic example of this dilemma is the case of a building blueprint referenced only to local features or markers. If one then wants to view that blueprint in the context of nearby elevation data, roads, airport noise etc., the lack of georeferencing poses a challenge.
Mathematically, solving this problem is often relatively simple: An affine transformation (fixed offset, scale, and rotation) might maintain sufficient accuracy while converting between a local coordinate system and a georeferenced one. Or, in simpler cases, it might be enough to say that some local coordinate (x,y) corresponds to a given lat/long. The hard part is keeping track of that extra metadata in a useful way.
Given that the lack of georeferencing is a common and important challenge, a number of techniques have been developed to deal with it. For example:
- Sidecar Files (e.g. ESRI World Files): CAD formats, such as AutoDesk’s DWG, can be extended with ESRI’s projection and world files, defining a coordinate system used for the data as well as a transformation to use to get to it. You might ask, “This is all so complicated! Why specify both a coordinate system and a transformation, when you can simply specify a coordinate system and use appropriate coordinates in the CAD drawing?” The answer is two-fold. First, this technique allows you to georeference existing CAD drawings without changing the data inside, and second, some formats do a much better job of maintaining precision when coordinates are scaled and offset to a specific range (more on this in a future post).
- Local Coordinate System Definitions: A coordinate system can be defined in a GIS package that combines an existing coordinate system with e.g. an affine transformation. Then it can be used when reading the locally referenced data. We occasionally get requests to define these types of coordinate systems for use with locally referenced data for airports or mines.
- Deriving Transformations from Common Points: If transformation parameters are not available, but common points are known in both the local system and a georeferenced one, these common points can be used to derive transformation parameters. There are many different transformations that can be used including affine, rubber sheet (good when distortions are not uniform), polynomial, and more. FME’s AffineWarper and RubberSheeter transformers (PDF link) make it easy to work with the first two, and other software packages expose similar functionality.
Adding real-world location to your spatial data is possible, and opens the door to more context and greater collaboration. So start looking for doors to open. A simple next step might be to export your newly georeferenced data to KML and view it in Google Earth. After that? The sky’s the limit.