[MetaCRS] 'FOSS Maintained' Source of CRS Definitions

Frank Warmerdam warmerdam at pobox.com
Tue May 13 11:21:57 EDT 2008


Norm Olsen wrote:
> A sample of the GML produced by the EPSG web site appears below.  Notice that this is rather unreadable, and contains more XML stuff than it does coordinate system stuff.  Also note, that the interesting stuff is only referenced, and you need the entire database, plus a program to get at it.  For example, aside from the name entry and the description, how do you determine the actual units of the coordinate system.
> 
> - <ProjectedCRS xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:epsg="urn:x-ogp:spec:schema-xsd:EPSG:0.1:dataset" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns="http://www.opengis.net/gml" gml:id="epsg-crs-2232">
> - <metaDataProperty>
> - <epsg:CommonMetaData>
>   <epsg:type>projected</epsg:type>
>   <epsg:informationSource>National Geodetic Survey http://www.ngs.noaa.gov/INFO/Policy/st_plane.html</epsg:informationSource>
>   <epsg:revisionDate>2001-11-06</epsg:revisionDate>
>   <epsg:show>true</epsg:show>
>   <epsg:isDeprecated>false</epsg:isDeprecated>
>   </epsg:CommonMetaData>
>   </metaDataProperty>
>   <identifier codeSpace="EPSG">urn:x-ogc:def:crs:EPSG:2232</identifier>
>   <name>NAD83 / Colorado Central (ftUS)</name>
>   <remarks>State law defines system in US survey feet. Federal definition is metric - see code 26954. For applications with an accuracy of better than 3 feet, replaced by NAD83(HARN) / SPCS.</remarks>
>   <domainOfValidity xlink:href="urn:x-ogc:def:area:EPSG:2183" />
>   <scope>Large and medium scale topographic mapping and engineering survey.</scope>
>   <conversion xlink:href="urn:x-ogc:def:coordinateOperation:EPSG:15314" />
>   <baseGeodeticCRS xlink:href="urn:x-ogc:def:crs:EPSG:4269" />
>   <cartesianCS xlink:href="urn:x-ogc:def:cs:EPSG:4497" />
>   </ProjectedCRS>
> 
> Are better schemas for defining coordinate reference systems using GML available anywhere?

Norm,

I'm still a bit lost in the GML CRS definition world, and very frustrated
at what I see as a lack of standardized best practice given the many ways
things can be done.  But my GML definition for EPSG:27700 looks like the
following.   The main point I want to make is that GML can contain full
definitions for a CRS inline despite the less than help GML returned by
the EPSG registry.

I would have done EPSG:2232 except I discovered my GML CRS writer doesn't
currently do LCC 2SP (yes, less than half-assed so far).

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org

-------------- next part --------------
<gml:ProjectedCRS gml:id="ogrcrs1">
  <gml:srsName>OSGB 1936 / British National Grid</gml:srsName>
  <gml:srsID>
    <gml:name gml:codeSpace="urn:ogc:def:crs:EPSG::">27700</gml:name>
  </gml:srsID>
  <gml:baseCRS>
    <gml:GeographicCRS gml:id="ogrcrs2">
      <gml:srsName>OSGB 1936</gml:srsName>
      <gml:srsID>
        <gml:name gml:codeSpace="urn:ogc:def:crs:EPSG::">4277</gml:name>
      </gml:srsID>
      <gml:usesEllipsoidalCS>
        <gml:EllipsoidalCS gml:id="ogrcrs3">
          <gml:csName>ellipsoidal</gml:csName>
          <gml:csID>
            <gml:name gml:codeSpace="urn:ogc:def:cs:EPSG::">6402</gml:name>
          </gml:csID>
          <gml:usesAxis>
            <gml:CoordinateSystemAxis gml:id="ogrcrs4" gml:uom="urn:ogc:def:uom:EPSG::9102">
              <gml:name>Geodetic latitude</gml:name>
              <gml:axisID>
                <gml:name gml:codeSpace="urn:ogc:def:axis:EPSG::">9901</gml:name>
              </gml:axisID>
              <gml:axisAbbrev>Lat</gml:axisAbbrev>
              <gml:axisDirection>north</gml:axisDirection>
            </gml:CoordinateSystemAxis>
          </gml:usesAxis>
          <gml:usesAxis>
            <gml:CoordinateSystemAxis gml:id="ogrcrs5" gml:uom="urn:ogc:def:uom:EPSG::9102">
              <gml:name>Geodetic longitude</gml:name>
              <gml:axisID>
                <gml:name gml:codeSpace="urn:ogc:def:axis:EPSG::">9902</gml:name>
              </gml:axisID>
              <gml:axisAbbrev>Lon</gml:axisAbbrev>
              <gml:axisDirection>east</gml:axisDirection>
            </gml:CoordinateSystemAxis>
          </gml:usesAxis>
        </gml:EllipsoidalCS>
      </gml:usesEllipsoidalCS>
      <gml:usesGeodeticDatum>
        <gml:GeodeticDatum gml:id="ogrcrs6">
          <gml:datumName>OSGB_1936</gml:datumName>
          <gml:datumID>
            <gml:name gml:codeSpace="urn:ogc:def:datum:EPSG::">6277</gml:name>
          </gml:datumID>
          <gml:usesPrimeMeridian>
            <gml:PrimeMeridian gml:id="ogrcrs7">
              <gml:meridianName>Greenwich</gml:meridianName>
              <gml:meridianID>
                <gml:name gml:codeSpace="urn:ogc:def:meridian:EPSG::">8901</gml:name>
              </gml:meridianID>
              <gml:greenwichLongitude>
                <gml:angle gml:uom="urn:ogc:def:uom:EPSG::9102">0</gml:angle>
              </gml:greenwichLongitude>
            </gml:PrimeMeridian>
          </gml:usesPrimeMeridian>
          <gml:usesEllipsoid>
            <gml:Ellipsoid gml:id="ogrcrs8">
              <gml:ellipsoidName>Airy 1830</gml:ellipsoidName>
              <gml:ellipsoidID>
                <gml:name gml:codeSpace="urn:ogc:def:ellipsoid:EPSG::">7001</gml:name>
              </gml:ellipsoidID>
              <gml:semiMajorAxis gml:uom="urn:ogc:def:uom:EPSG::9001">6377563.396</gml:semiMajorAxis>
              <gml:secondDefiningParameter>
                <gml:inverseFlattening gml:uom="urn:ogc:def:uom:EPSG::9201">299.3249646</gml:inverseFlattening>
              </gml:secondDefiningParameter>
            </gml:Ellipsoid>
          </gml:usesEllipsoid>
        </gml:GeodeticDatum>
      </gml:usesGeodeticDatum>
    </gml:GeographicCRS>
  </gml:baseCRS>
  <gml:definedByConversion>
    <gml:Conversion gml:id="ogrcrs9">
      <gml:usesMethod xlink:href="urn:ogc:def:method:EPSG::9807"/>
      <gml:usesParameterValue>
        <gml:value gml:uom="urn:ogc:def:uom:EPSG::9102">49</gml:value>
        <gml:valueOfParameter xlink:href="urn:ogc:def:parameter:EPSG::8801"/>
      </gml:usesParameterValue>
      <gml:usesParameterValue>
        <gml:value gml:uom="urn:ogc:def:uom:EPSG::9102">-2</gml:value>
        <gml:valueOfParameter xlink:href="urn:ogc:def:parameter:EPSG::8802"/>
      </gml:usesParameterValue>
      <gml:usesParameterValue>
        <gml:value gml:uom="urn:ogc:def:uom:EPSG::9001">0.9996012717</gml:value>
        <gml:valueOfParameter xlink:href="urn:ogc:def:parameter:EPSG::8805"/>
      </gml:usesParameterValue>
      <gml:usesParameterValue>
        <gml:value gml:uom="urn:ogc:def:uom:EPSG::9001">400000</gml:value>
        <gml:valueOfParameter xlink:href="urn:ogc:def:parameter:EPSG::8806"/>
      </gml:usesParameterValue>
      <gml:usesParameterValue>
        <gml:value gml:uom="urn:ogc:def:uom:EPSG::9001">-100000</gml:value>
        <gml:valueOfParameter xlink:href="urn:ogc:def:parameter:EPSG::8807"/>
      </gml:usesParameterValue>
    </gml:Conversion>
  </gml:definedByConversion>
  <gml:usesCartesianCS>
    <gml:CartesianCS gml:id="ogrcrs10">
      <gml:csName>Cartesian</gml:csName>
      <gml:csID>
        <gml:name gml:codeSpace="urn:ogc:def:cs:EPSG::">4400</gml:name>
      </gml:csID>
      <gml:usesAxis>
        <gml:CoordinateSystemAxis gml:id="ogrcrs11" gml:uom="urn:ogc:def:uom:EPSG::9001">
          <gml:name>Easting</gml:name>
          <gml:axisID>
            <gml:name gml:codeSpace="urn:ogc:def:axis:EPSG::">9906</gml:name>
          </gml:axisID>
          <gml:axisAbbrev>E</gml:axisAbbrev>
          <gml:axisDirection>east</gml:axisDirection>
        </gml:CoordinateSystemAxis>
      </gml:usesAxis>
      <gml:usesAxis>
        <gml:CoordinateSystemAxis gml:id="ogrcrs12" gml:uom="urn:ogc:def:uom:EPSG::9001">
          <gml:name>Northing</gml:name>
          <gml:axisID>
            <gml:name gml:codeSpace="urn:ogc:def:axis:EPSG::">9907</gml:name>
          </gml:axisID>
          <gml:axisAbbrev>N</gml:axisAbbrev>
          <gml:axisDirection>north</gml:axisDirection>
        </gml:CoordinateSystemAxis>
      </gml:usesAxis>
    </gml:CartesianCS>
  </gml:usesCartesianCS>
</gml:ProjectedCRS>



More information about the MetaCRS mailing list