The .prj file format, created by Esri originally but now recognized by most geospatial software, is just a text file with a WKT string for the projection information. Most of projections can be referenced by a simple EPSG code which is just a number. Usually you'll have this number handy and need to look up the full WKT string on SpatialReference.org.
Dr. David Forrest, a research scientist at the Virginia Institute of Marine Sciences, sent me a simple function to make fetching WKT projection strings easy:
def getPRJwkt(epsg):
"""
Grab an WKT version of an EPSG code
usage getPRJwkt(4326)
This makes use of links like
http://spatialreference.org/ref/epsg/4326/prettywkt/
"""
import urllib
sr = "http://spatialreference.org"
f=urllib.urlopen(sr + "/ref/epsg/{0}/prettywkt/".format(epsg))
return (f.read())
So then getting a WKT projection string is as easy as:
>>> wkt = getPRJwkt(4326)
>>> print wkt
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]
There's another, newer website called epsg.io that has some additional features beyond spatialreference.org. The differences are in the FAQ on this page.


No comments:
Post a Comment