14

We use shape files for data exchange. I've looked at the .prj files: different programs produce different prj files.

Is there a standard how the parameters must be specified in a prj file?

AFAIK the name of the projection (e.g. PROJCS["ETRS89 / UTM zone 32N (zE-N)",…]) can be freely assigned. But I can not believe that the name of the datum (e.g. DATUM["D_ETRS_1989",…]) can be assigned freely too.

I have found no information about this. Even in ESRI Shapefile Technical Description there is no information about .prj files. The ESRI KB Article 14056 HowTo: Create projection metadata (.prj) files for shapefiles says: “You have to use the predefined names for map projection and parameter objects”. But the article does not specify where to find these predefine names. Does each GIS-company specify it own names? Or does EPSG specify these names?

Here are a few differences in a section of .prj files (EPSG 4647) between QGIS, AutoCAD Map and spatialreference.org

enter image description here

13

There's some information on the OGC Call for Comments page on the new specification for coordinate reference system WKT standard.

The original specification was written by Esri many moons ago for OGC based on the mid-1990s version of the EPSG Geodetic Parameter Dataset's schema. It was revised and extended by other OGC specifications. Because it was a very loosely defined specification, there arose many, sometimes subtly, different implementations. Over the past two years or so, a new specification has been hammered out. It's currently at ISO for comment.

Although I have some documentation on 'best practices' for writing an Esri-flavor prj string, it's not been published in the documentation.

The EPSG registry can now export WKT for its objects based on this new specification. Here's WGS 84, geographic 2D CRS, as a sample:

GEODCRS["WGS 84",
  DATUM["World Geodetic System 1984",
    ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1.0]]],
  CS[ellipsoidal,2],
    AXIS["latitude",north,ORDER[1]],
    AXIS["longitude",east,ORDER[2]],
    ANGLEUNIT["degree",0.01745329252],
  ID["EPSG",4326]]

Existing WKT should be able to be read by a 'new' parser, but the converse won't be true. Some changes to note:

  • Top-level keywords have changed to enable parsers to quickly identify the new format
  • More elements of the schema are supported (like axis directions and ordering)

Update 6 July 2016: The CRS WKT specification/standard has been approved by ISO and OGC in 2015. The OGC version is here.

Disclosure: I work for Esri and helped write that first OGC specification, was a member of the group that hammered out the new specification, and is a member of the subcommittee that maintains the EPSG registry.

  • 1
    This is a very clear answer, as scary and evident as the sentence "Because it was a very loosely defined specification, there arose many, sometimes subtly, different implementations" is. What is the current status of the new standard with ISO? – John Powell Jul 6 '16 at 9:57
2

The names you marked are truely free to use, because the relevant data is in the following parameters. The .prj file has to be in WKT format, as explained here:

http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html

Those keywords have to be used exactly, but not the names.

Every (good) software looks at the parameters, and makes its own projection definition from it.

Alternatively, EPSG codes can be used (except for the datum shift).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.