EPSG:9813

Laborde Oblique Mercator

Attributes

Data source: OGP

Information source: "La nouvelle projection du Service Geographique de Madagascar"; J. Laborde; 1928. Also IGN Paris technical note NT/G 74.

Revision date: 2010-11-02

MapTiler banner

Export

Definition: OGP XML

<div class="syntax"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span> <span class="nt">&lt;gml:OperationMethod</span> <span class="na">xmlns:epsg=</span><span class="s">&quot;urn:x-ogp:spec:schema-xsd:EPSG:1.0:dataset&quot;</span> <span class="na">xmlns:gml=</span><span class="s">&quot;http://www.opengis.net/gml/3.2&quot;</span> <span class="na">xmlns:xlink=</span><span class="s">&quot;http://www.w3.org/1999/xlink&quot;</span> <span class="na">gml:id=</span><span class="s">&quot;ogp-method-9813&quot;</span><span class="nt">&gt;</span> <span class="nt">&lt;gml:metaDataProperty&gt;</span> <span class="nt">&lt;epsg:CommonMetaData&gt;</span> <span class="nt">&lt;epsg:alias</span> <span class="na">alias=</span><span class="s">&quot;Laborde Madagascar&quot;</span> <span class="na">code=</span><span class="s">&quot;14857&quot;</span> <span class="na">codeSpace=</span><span class="s">&quot;urn:ogc:def:naming-system:EPSG::7301&quot;</span><span class="nt">&gt;</span> <span class="nt">&lt;epsg:remarks&gt;</span>This was the method name used prior to October 2010.<span class="nt">&lt;/epsg:remarks&gt;</span> <span class="nt">&lt;/epsg:alias&gt;</span> <span class="nt">&lt;epsg:informationSource&gt;</span>&quot;La nouvelle projection du Service Geographique de Madagascar&quot;; J. Laborde; 1928. Also IGN Paris technical note NT/G 74.<span class="nt">&lt;/epsg:informationSource&gt;</span> <span class="nt">&lt;epsg:revisionDate&gt;</span>2010-11-02<span class="nt">&lt;/epsg:revisionDate&gt;</span> <span class="nt">&lt;epsg:changes&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::1997.613&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2006.960&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2007.040&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:changeID</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:change-request:EPSG::2010.058&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;/epsg:changes&gt;</span> <span class="nt">&lt;epsg:show&gt;</span>true<span class="nt">&lt;/epsg:show&gt;</span> <span class="nt">&lt;epsg:isDeprecated&gt;</span>false<span class="nt">&lt;/epsg:isDeprecated&gt;</span> <span class="nt">&lt;/epsg:CommonMetaData&gt;</span> <span class="nt">&lt;/gml:metaDataProperty&gt;</span> <span class="nt">&lt;gml:metaDataProperty&gt;</span> <span class="nt">&lt;epsg:CoordinateOperationMethodMetaData&gt;</span> <span class="nt">&lt;epsg:isOperationReversible&gt;</span>true<span class="nt">&lt;/epsg:isOperationReversible&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8811&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8812&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8813&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8815&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8806&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:signReversal</span> <span class="na">changeSign=</span><span class="s">&quot;false&quot;</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8807&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;epsg:example&gt;</span>See information source.<span class="nt">&lt;/epsg:example&gt;</span> <span class="nt">&lt;/epsg:CoordinateOperationMethodMetaData&gt;</span> <span class="nt">&lt;/gml:metaDataProperty&gt;</span> <span class="nt">&lt;gml:identifier</span> <span class="na">codeSpace=</span><span class="s">&quot;OGP&quot;</span><span class="nt">&gt;</span>urn:ogc:def:method:EPSG::9813<span class="nt">&lt;/gml:identifier&gt;</span> <span class="nt">&lt;gml:name&gt;</span>Laborde Oblique Mercator<span class="nt">&lt;/gml:name&gt;</span> <span class="nt">&lt;gml:formula&gt;</span>Note : these formulas have been transcribed from IGN Document NT/G 74. Users are encouraged to use that document rather than the text which follows as reference because limitations in the transcription will be avoided. From the defining parameters the following constants for the map projection may be calculated: B = {1+[e^2 cos^4(phiC)]/(1– e^2)}^0.5 phiS = asin[sin(phiC) / B] R = a kC {(1–e^2)^0.5 / [1–e^2 sin^2(phiC)]} C = ln[tan(pi/4+phiS /2)] – B. ln{tan(pi/4+phiC /2) ([1 – e sin(phiC)]/[1+e sin(phiC)])^(e/2)} Forward case: To compute (E,N) from a given (lat,lon) L = B.(lon–lonC) q = C + B . ln{tan(pi/4+lat/2) ([1–e sin(lat)] / [1+e sin(lat)])^(e/2)} P = 2.atan[e ^q] – pi/2 where e is the base of natural logarithms U = cos(P).cos(L).cos(phiS) + sin(P).sin(phiS) V = cos(P).cos(L).sin(phiS) - sin(P).cos(phiS) W = cos(P).sin(L) d = (U^2+V^2)^0.5 if d <span class="ni">&amp;lt;&amp;gt;</span> 0 then L&#39; = 2.atan(V/(U+d)) and P&#39; = atan(W/d) if d = 0 then L&#39; = 0 and P&#39; = sign(W).pi/2 H = –L&#39; + i.ln(tan(pi/4+P&#39;/2)) where i^2 = –1 G = (1 – cos(2.alphaC) + i.sin(2.alphaC))/12 E = FE + R . IMAGINARY(H + G.H^3) N = FN + R . REAL(H + G.H^3) Reverse case: To compute (lat, lon) from a given (E,N): G = (1–cos(2.alphaC) + i.sin(2.alphaC))/12 where i^2 = –1 To solve for Latitude and Longitude, a re-iterative solution is required, where the first two elements are H0 = (N–FN)/R + i.(E–FE)/R ie k = 0 H1 = H0/(H0 + G.H0^3), i.e. k = 1, and in subsequent reiterations, k increments by 1 Hk+1 = (H0+2.G.Hk^3)/(3.G.Hk^2+1) Re-iterate until ABSOLUTE(REAL([H0-Hk-G.Hk^3)])) <span class="ni">&amp;lt;</span> 1E-11 L&#39; = –1.REAL(Hk) P&#39; = 2.atan{ e ^[IMAGINARY(Hk)]} – pi/2 where e is the base of natural logarithms. U&#39; = cos(P&#39;).cos(L&#39;).cos(phiS) + cos(P&#39;).sin(L&#39;).sin(phiS) V&#39; = sin(P&#39;) W&#39; = cos(P&#39;).cos(L&#39;).sin(phiS) – cos(P&#39;).sin(L&#39;).cos(phiS) d = (U&#39;^2+ V&#39;^2)^0.5 if d <span class="ni">&amp;lt;&amp;gt;</span> 0 then L = 2 atan[V&#39;/( U&#39;+d)] and P = atan(W&#39;/d) if d = 0 then L = 0 and P = SIGN(W&#39;) . pi/2 lon = lonC + (L/B) q&#39; = {ln[tan(pi/4+P/2)] – C}/B The final solution for latitude requires a second re-iterative process, where the first element is lat&#39;(0) = 2.atan(e ^q&#39;) – pi/2 where e is the base of natural logarithms. And the subsequent elements are lat&#39;(k) = 2.atan{({1+e.sin[lat(k-1)]} / {1–e.sin[lat(k-1)]})^(e/2).e ^q&#39;} – pi/2 for K =1 ? Iterate until ABSOLUTE(lat(k)-lat(k-1)) <span class="ni">&amp;lt;</span> 1E-11 lat = lat(k)<span class="nt">&lt;/gml:formula&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8811&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8812&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8813&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8815&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8806&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;gml:generalOperationParameter</span> <span class="na">xlink:href=</span><span class="s">&quot;urn:ogc:def:parameter:EPSG::8807&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;/gml:OperationMethod&gt;</span> </pre></div>
<?xml version="1.0" encoding="UTF-8"?>
 <gml:OperationMethod xmlns:epsg="urn:x-ogp:spec:schema-xsd:EPSG:1.0:dataset" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" gml:id="ogp-method-9813">
   <gml:metaDataProperty>
      <epsg:CommonMetaData>
         <epsg:alias alias="Laborde Madagascar" code="14857" codeSpace="urn:ogc:def:naming-system:EPSG::7301">
            <epsg:remarks>This was the method name used prior to October 2010.</epsg:remarks>
         </epsg:alias>
         <epsg:informationSource>"La nouvelle projection du Service Geographique de Madagascar"; J. Laborde; 1928. Also IGN Paris technical note NT/G 74.</epsg:informationSource>
         <epsg:revisionDate>2010-11-02</epsg:revisionDate>
         <epsg:changes>
            <epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::1997.613" />
            <epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2006.960" />
            <epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2007.040" />
            <epsg:changeID xlink:href="urn:ogc:def:change-request:EPSG::2010.058" />
         </epsg:changes>
         <epsg:show>true</epsg:show>
         <epsg:isDeprecated>false</epsg:isDeprecated>
      </epsg:CommonMetaData>
   </gml:metaDataProperty>
   <gml:metaDataProperty>
      <epsg:CoordinateOperationMethodMetaData>
         <epsg:isOperationReversible>true</epsg:isOperationReversible>
         <epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8811" />
         <epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8812" />
         <epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8813" />
         <epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8815" />
         <epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8806" />
         <epsg:signReversal changeSign="false" xlink:href="urn:ogc:def:parameter:EPSG::8807" />
         <epsg:example>See information source.</epsg:example>
      </epsg:CoordinateOperationMethodMetaData>
   </gml:metaDataProperty>
   <gml:identifier codeSpace="OGP">urn:ogc:def:method:EPSG::9813</gml:identifier>
   <gml:name>Laborde Oblique Mercator</gml:name>
   <gml:formula>Note : these formulas have been transcribed from IGN Document NT/G 74. Users are encouraged to use that document rather than the text which follows as reference because limitations in the transcription will be avoided.

From the defining parameters the following constants for the map projection may be calculated:

B = {1+[e^2 cos^4(phiC)]/(1– e^2)}^0.5
phiS = asin[sin(phiC) / B]
R = a  kC {(1–e^2)^0.5 / [1–e^2 sin^2(phiC)]}
C = ln[tan(pi/4+phiS /2)] – B. ln{tan(pi/4+phiC /2) ([1 – e sin(phiC)]/[1+e sin(phiC)])^(e/2)}

Forward case: To compute (E,N) from a given (lat,lon)
L = B.(lon–lonC)
q = C + B . ln{tan(pi/4+lat/2) ([1–e sin(lat)] / [1+e sin(lat)])^(e/2)}
P = 2.atan[e ^q] – pi/2   where e is the base of natural logarithms
U = cos(P).cos(L).cos(phiS) + sin(P).sin(phiS) 
V = cos(P).cos(L).sin(phiS) - sin(P).cos(phiS)
W = cos(P).sin(L)
d = (U^2+V^2)^0.5
if d &lt;&gt; 0 then L' = 2.atan(V/(U+d)) and P' = atan(W/d)
if d = 0 then L' = 0 and P' = sign(W).pi/2
H = –L' + i.ln(tan(pi/4+P'/2))                 where i^2 = –1
G = (1 – cos(2.alphaC) + i.sin(2.alphaC))/12
E = FE + R . IMAGINARY(H + G.H^3)
N = FN + R . REAL(H + G.H^3)

Reverse case: To compute (lat, lon) from a given (E,N):
G = (1–cos(2.alphaC) + i.sin(2.alphaC))/12   where i^2 = –1
To solve for Latitude and Longitude, a re-iterative solution is required, where the first two elements are
H0 = (N–FN)/R + i.(E–FE)/R  ie k = 0
H1 = H0/(H0 + G.H0^3),    i.e. k = 1,
and in subsequent reiterations, k increments by 1
Hk+1 = (H0+2.G.Hk^3)/(3.G.Hk^2+1)
Re-iterate until ABSOLUTE(REAL([H0-Hk-G.Hk^3)])) &lt; 1E-11

L' = –1.REAL(Hk)
P' = 2.atan{ e ^[IMAGINARY(Hk)]} – pi/2  where e is the base of natural logarithms.
U' = cos(P').cos(L').cos(phiS) + cos(P').sin(L').sin(phiS)   
V' = sin(P')
W' = cos(P').cos(L').sin(phiS) – cos(P').sin(L').cos(phiS)
d = (U'^2+ V'^2)^0.5
if d &lt;&gt; 0 then L = 2 atan[V'/( U'+d)] and P = atan(W'/d)
if d = 0   then L = 0 and P = SIGN(W') . pi/2
lon = lonC + (L/B)

q' = {ln[tan(pi/4+P/2)] – C}/B
The final solution for latitude requires a second re-iterative process, where the first element is
lat'(0) = 2.atan(e ^q') – pi/2    where e is the base of natural logarithms.
And the subsequent elements are
lat'(k) = 2.atan{({1+e.sin[lat(k-1)]} / {1–e.sin[lat(k-1)]})^(e/2).e ^q'} – pi/2  for K =1 ?
Iterate until ABSOLUTE(lat(k)-lat(k-1))  &lt; 1E-11	
lat = lat(k)</gml:formula>
   <gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8811" />
   <gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8812" />
   <gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8813" />
   <gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8815" />
   <gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8806" />
   <gml:generalOperationParameter xlink:href="urn:ogc:def:parameter:EPSG::8807" />
</gml:OperationMethod>