Best Practices For Managing Spatial Data With Unknown Coordinate Systems
Identifying Unknown Coordinate Systems
Examining metadata associated with spatial data is crucial for identifying unknown coordinate reference systems. Metadata often contains information on the coordinate system, projection parameters, datums, and more. If metadata is unavailable or lacks spatial reference details, use the identify tool in GIS software such as ArcGIS to view the feature class properties and examine the spatial reference information.
Additionally, check for the presence of projection (.prj) files that may provide details on the coordinate system. If working with raster data formats such as GeoTIFF, the coordinate system information may be embedded within the file itself.
Examining metadata for spatial reference information
Thorough metadata documentation should detail the coordinate reference system utilized by the spatial data. This includes the coordinate system such as geographic or projected, the map projection and associated parameters, the datum, and units of measurement. With this information available in metadata, the exact spatial reference properties can be determined.
Some examples of relevant metadata fields to examine include:
- Coordinate System Name/Type – Typically geographic (GCS) or projected coordinate system (PCS)
- Projection Name and Parameters – Such as Transverse Mercator, Albers Conical Equal Area, etc.
- Datum – Such as NAD83, WGS84, NAVD88, etc.
- Units – Units of measurement such as meters or decimal degrees
Using identify tool in GIS software to view properties
In the absence of detailed metadata, GIS software provides tools for examining the spatial reference properties of data layers. In ArcMap, use the Identify tool and click a feature to open the Identify window. Expand the layer name to view feature properties including the coordinate system details under “Spatial Reference”.
This provides the coordinate reference properties applied to the layer, which can then be documented as the assigned spatial reference system. The Identify properties show the same details available in metadata such as the coordinate system type, projection name, parameters, datum, and units.
Checking for presence of projection files
Projection (.prj) files define the coordinate system information for associated spatial data files. Although they do not contain the full details found in metadata, .prj files provide the projection name such as ‘NAD_1983_UTM_Zone_10N’. This can be sufficient for determining the correct spatial reference system to apply for that data.
Check data directories, folders, and geodatabases for .prj files with the same name as the target spatial data. For example, layer.shp and layer.prj can indicate the projection to assign to that shapefile for proper coordinate system alignment.
Georeferencing Rasters of Unknown Origin
Georeferencing rasters from unknown sources allows them to be viewed, queried, and analyzed with other geographic data. This requires adding spatial reference information by linking points on the raster to known coordinate locations.
Using control points and spatial bookmarks
Control points can be added in GIS software to match locations on the raster to real-world coordinates. This lets the software compute and assign an appropriate coordinate system relative to the control points. Spatial bookmarks provide an accurate way to record control point locations for georeferencing.
For example, create bookmarks in ArcMap for identifiable intersections or landmarks. Define the bookmarks with a known coordinate system. Then link the raster pixels to the bookmarks by adding control points at the matching locations. With at least 4 control points, the raster can be fully georeferenced.
Example code for georeferencing in ArcGIS
The following Python code sample georeferences a raster dataset using 4 control points with defined coordinate locations:
import arcpy # Input raster raster = r"C:\Data\Unreferenced.tif" # Spatial bookmarks with known coordinates bookmarks = [{'name': '1', 'coordinate': (452371, 4521741)}, {'name': '2', 'coordinate': (466252, 4391857)}, ...] # Create control points control_points = [] for bm in bookmarks: cp = arcpy.PointGeographic(bm['coordinate'][0], bm['coordinate'][1]) control_points.append(arcpy.ControlPoint(bm['name'], raster, cp)) # Georeference the raster GCS_WGS_1984 = arcpy.SpatialReference(4326) arcpy.georeference_management(raster, control_points, GCS_WGS_1984) print('Georeferencing complete')
Assigning Coordinate Systems
Once the appropriate coordinate system is identified for spatial data, GIS provides options for officially defining the reference system. This updates metadata and aligns coordinates to enable accurate integration with other layers.
Setting data frame coordinate system in GIS
The simplest approach is to define the coordinate system at the data frame level in GIS. In ArcMap, right-click Layers > Properties to access the Data Frame Properties dialog. Navigate to the Coordinate System tab and browse or search to set the coordinate system matching the layer or area of interest.
This transforms layer coordinates on-the-fly in the map view without directly altering the source data. The layer will revert when accessed outside the defined data frame.
Defining projection on import to geodatabase
When importing raw spatial data into a geodatabase with ArcGIS, there is an option to define the coordinate system which permanently updates metadata properties. During the import process, choose the target coordinate reference system matching raster or vector data being imported.
This writes coordinates and spatial reference information directly in the geodatabase rather than simply projecting temporarily for display. The defined system persists with the data for downstream usage.
Example Python script for assigning coordinate system
Python scripting allows batch assignment of a coordinate reference system. The following script applies a defined projection to all shapefiles in a target directory:
import arcpy import os # Spatial reference to assign sr = arcpy.SpatialReference('NAD 1983 UTM Zone 15N') # Input directory with target shapefiles input_dir = r'C:\Project\shapefiles' # Iterate files for filename in os.listdir(input_dir): if filename.endswith('.shp'): fullname = os.path.join(input_dir, filename) arcpy.DefineProjection_management(fullname, sr) print('Coordinate system assigned')
Transforming Data to Standard Projections
While identifying spatial references and assigning coordinate systems helps enable usage of data, transforming layers to consistent projected systems provides additional benefits for regional analysis and cross-comparability.
Benefits of transforming to standardized systems
Advantages of projecting data to common coordinate reference systems include:
- Consistent units for measurement
- Ability to perform planar geometry operations
- Accurate distance, shape, and area calculations
- Seamless integration of data from disparate sources
This facilitates spatial modeling, map algebra operations, and computational analysis methods relying on uniform coordinate spaces.
Performing project tool in ArcGIS
The ArcGIS Project Tool transforms input spatial data to target coordinate systems. To promote interoperability, typical standardized systems include UTM zones or USA Contiguous Albers Equal Area across a region or country.
For example, projecting to NAD 1983 UTM Zone 15N from lat/long would execute:
import arcpy # Input dataset inputFC = 'cities.shp' # Output filename outputFC = 'cities_UTM15N.shp' # Target Coordinate System sr = arcpy.SpatialReference('NAD 1983 UTM Zone 15N') # Execute Project tool arcpy.Project_management(inputFC, outputFC, sr)
Using Proj4 text for transformations
The Proj4 text format offers a shorthand way to represent coordinate reference systems and transformations. This string can be defined with various projection parameters to reproject spatial data programatically between coordinate spaces.
A Proj4 transformation from NAD83 latlong to NAD83 UTM 15N would appear as:
'+proj=utm +zone=15 +datum=NAD83 +units=m +no_defs'
This provides the essential information needed to accurately convert data to the target projection.
Managing Integration of Multi-source Data
Aggregating spatial data from various government agencies, commercial providers, and NGOs introduces additional complexity in reconciling different coordinate systems. Best practices help enable integration.
Creating custom geographic transformations
When combining layers with incompatible datums, establishing custom geographic transformations can help accurately convert coordinates between reference systems. This involves identifying parameters and control points to minimize distortion during reprojection.
For example, the NAD_1927_To_NAD_1983_NADCON transformation can convert datums for data integration covering the North American continent.
Maintaining coordinate system documentation
A key aspect when aggregating multi-source spatial data is thorough documentation of the various coordinate systems utilized across provided layers, coverages, and products. This metadata should detail:
- Source agency/provider name
- Dataset title and description
- Details on coordinate reference system
- Method and custom parameters employed by data integrator to reconcile coordinate systems
Careful documentation enables troubleshooting and handles updates as new data is added to collections over time.
Best practices for metadata and project tracking
In additional to metadata at the dataset level, maintain master data management tracking information regarding projection management workflows. This should log:
- Source coordinate reference systems identified
- Standardized system chosen for transformation target
- Log of data successfully reprojected
- Record of issues encountered and resolutions
Audit logging and change tracking ensures the multi-source integration environment remains consistent through data refreshes and new deliveries.