WKT Equivalent of Local Projection

1.3k views Asked by At

I am trying to use gdal to project some basic shapes from a number of local coordinate systems. These coordinate systems are supported by ArcGIS, but ultimately I am just tyring to use gdal(and proj4) to convert these geometries to basic lat/long (EPSG:4326). Here is what the gdalsrsinfo returns:

PROJCS["mylocalgrid",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Local"],PARAMETER["False_Easting",20289.634],PARAMETER["False_Northing",14781.765],PARAMETER["Scale_Factor",1.000179],PARAMETER["Azimuth",0.0],PARAMETER["Longitude_Of_Center",-109.675257803],PARAMETER["Latitude_Of_Center",32.9599048 58],UNIT["Foot_US",0.3048006096012192]]

If I try and use ogr to translate the point shapefile I get the following error:

ERROR 6: No translation for Local to PROJ.4 format is known.
Failed to create coordinate transformation between the
following coordinate systems.  This may be because they
are not transformable, or because projection services
(PROJ.4 DLL/.so) could not be loaded.
Source:

Does proj4 support Local Coordinate systems? Any suggestion what I should use for PROJECTION parameter?

Thanks.

1

There are 1 answers

0
Mike T On

Looking at ArcGIS's documentation for Local Cartesian Projection, it says "this map projection is the same as the Orthographic". So, for the PROJECTION parameter replace "Local" with "Orthographic", and it should work. Here's a snippet in Python to show you what's going on:

from osgeo import osr
p = osr.SpatialReference()
p.ImportFromWkt('PROJCS["mylocalgrid",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Orthographic"],PARAMETER["False_Easting",20289.634],PARAMETER["False_Northing",14781.765],PARAMETER["Scale_Factor",1.000179],PARAMETER["Azimuth",0.0],PARAMETER["Longitude_Of_Center",-109.675257803],PARAMETER["Latitude_Of_Center",32.9599048 58],UNIT["Foot_US",0.3048006096012192]]')
print(p.ExportToProj4())

Shows the PROJ.4 string:

+proj=ortho +lat_0=32.959904858 +lon_0=-109.675257803 +x_0=6184.292811785623 +y_0=4505.490982981965 +ellps=WGS84 +units=us-ft +no_defs 

Of course, it would be a good idea to test it out to see if it works.