[GIS] What’s up with the GeoJSON spec and CRS as a IRM

coordinate systemgeojsonogcSpecification

I'm writing a web API to our GIS data, currently revamping our geocoding service. I'm creating the option for folks to specify the output type as GeoJSON so I'm trying to follow the spec. Our data is stored in nad83 datum UTM zone 12 north projection. The GeoJSON spec says to add a CRS. The wkid is 26912 but what is the OGC CRS URN?

I can understand that the OGC CRS URN is broken down into a few parts.

urn:ogc:def:crs:OGC:1.3:CRS84

urn is the identifier, ogc is the organization, def is another static deal, crs is the type (coordinate reference system), OGC is the authority, 1.3 is the version and CRS84 is the projection.

Why is the authority of utm 26912 the European Petroleum Survey Group?

Do any mapping frameworks even use this CRS name?

I want to follow the spec but it seems that more mapping frameworks are using the wkid.

http://spatialreference.org/ref/epsg/26912/

seems like the best place to get the info but they don't even list the urn. Is the GeoJSON spec just silly or what?

Best Answer

You want urn:ogc:def:crs:EPSG::26912 from the GML link on spatialreference.org. GML uses the URN syntax for describing coordinate systems.

Alternatively, you could specify

"crs": {
  "type": "link",
  "properties": {
    "href": "http://spatialreference.org/ref/epsg/26912/esriwkt/",
    "type": "esriwkt"
    }
  }

or

"crs": {
  "type": "link",
  "properties": {
    "href": "http://spatialreference.org/ref/epsg/26912/proj4/",
    "type": "proj4"
    }
  }

The GeoJSON spec is not being silly here. It is trying to take advantage of the most precisely specified coordinate system description specification. That is most likely the URN-style GML SRS description.

I would agree that consumption of this is not so widely available. That's why the alternative derferenceable "link" syntax is available, and I explicitly intended it to link to spatialreference.org links. I know proj4js takes advantage of this feature of the GeoJSON specification. You might look there for inspiration.

Related Question