?? ogr_srs_proj4.cpp
字號:
nPMCode = 8910;
}
else if( EQUAL(pszPM,"stockholm") )
{
dfFromGreenwich = CPLDMSToDec( "18d3'29.8\"E" );
nPMCode = 8911;
}
else if( EQUAL(pszPM,"athens") )
{
dfFromGreenwich = CPLDMSToDec( "23d42'58.815\"E" );
nPMCode = 8912;
}
else if( EQUAL(pszPM,"oslo") )
{
dfFromGreenwich = CPLDMSToDec( "10d43'22.5\"E" );
nPMCode = 8913;
}
else
{
dfFromGreenwich = CPLDMSToDec( pszPM );
pszPM = "unnamed";
}
}
else
pszPM = "Greenwich";
/* -------------------------------------------------------------------- */
/* Operate on the basis of the projection name. */
/* -------------------------------------------------------------------- */
const char *pszProj = CSLFetchNameValue(papszNV,"proj");
if( pszProj == NULL )
{
CPLDebug( "OGR_PROJ4", "Can't find +proj= in:\n%s", pszProj4 );
CSLDestroy( papszNV );
return OGRERR_CORRUPT_DATA;
}
else if( EQUAL(pszProj,"longlat") || EQUAL(pszProj,"latlong") )
{
}
else if( EQUAL(pszProj,"bonne") )
{
SetBonne( OSR_GDV( papszNV, "lat_1", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"cass") )
{
SetCS( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"nzmg") )
{
SetNZMG( OSR_GDV( papszNV, "lat_0", -41.0 ),
OSR_GDV( papszNV, "lon_0", 173.0 ),
OSR_GDV( papszNV, "x_0", 2510000.0 ),
OSR_GDV( papszNV, "y_0", 6023150.0 ) );
}
else if( EQUAL(pszProj,"cea") )
{
SetCEA( OSR_GDV( papszNV, "lat_ts", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"tmerc") )
{
SetTM( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "k", 1.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"utm") )
{
SetUTM( (int) OSR_GDV( papszNV, "zone", 0.0 ),
(int) OSR_GDV( papszNV, "south", 1.0 ) );
}
else if( EQUAL(pszProj,"merc") /* 2SP form */
&& OSR_GDV(papszNV, "lat_ts", 1000.0) < 999.0 )
{
SetMercator2SP( OSR_GDV( papszNV, "lat_ts", 0.0 ),
0.0,
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"merc") ) /* 1SP form */
{
SetMercator( 0.0,
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "k", 1.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"stere")
&& ABS(OSR_GDV( papszNV, "lat_0", 0.0 ) - 90) < 0.001 )
{
SetPS( OSR_GDV( papszNV, "lat_ts", 90.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "k", 1.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"stere")
&& ABS(OSR_GDV( papszNV, "lat_0", 0.0 ) + 90) < 0.001 )
{
SetPS( OSR_GDV( papszNV, "lat_ts", -90.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "k", 1.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUALN(pszProj,"stere",5) /* mostly sterea */
&& CSLFetchNameValue(papszNV,"k") != NULL )
{
SetOS( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "k", 1.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"stere") )
{
SetStereographic( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
1.0,
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"eqc") )
{
SetEquirectangular( OSR_GDV( papszNV, "lat_ts", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"gnom") )
{
SetGnomonic( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"ortho") )
{
SetOrthographic( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"laea") )
{
SetLAEA( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"aeqd") )
{
SetAE( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"eqdc") )
{
SetEC( OSR_GDV( papszNV, "lat_1", 0.0 ),
OSR_GDV( papszNV, "lat_2", 0.0 ),
OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"mill") )
{
SetMC( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"moll") )
{
SetMollweide( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"eck4") )
{
SetEckertIV( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"eck6") )
{
SetEckertVI( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"poly") )
{
SetPolyconic( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"aea") )
{
SetACEA( OSR_GDV( papszNV, "lat_1", 0.0 ),
OSR_GDV( papszNV, "lat_2", 0.0 ),
OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"robin") )
{
SetRobinson( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"vandg") )
{
SetVDG( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"sinu") )
{
SetSinusoidal( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"gall") )
{
SetGS( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"goode") )
{
SetGH( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"geos") )
{
SetGEOS( OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "h", 35785831.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"lcc") )
{
if( OSR_GDV(papszNV, "lat_0", 0.0 )
== OSR_GDV(papszNV, "lat_1", 0.0 ) )
{
/* 1SP form */
SetLCC1SP( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "k_0", 1.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else
{
/* 2SP form */
SetLCC( OSR_GDV( papszNV, "lat_1", 0.0 ),
OSR_GDV( papszNV, "lat_2", 0.0 ),
OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
}
else if( EQUAL(pszProj,"omerc") )
{
SetHOM( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lonc", 0.0 ),
OSR_GDV( papszNV, "alpha", 0.0 ),
0.0, /* ??? */
OSR_GDV( papszNV, "k", 1.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
}
else if( EQUAL(pszProj,"somerc") )
{
SetHOM( OSR_GDV( papszNV, "lat_0", 0.0 ),
OSR_GDV( papszNV, "lon_0", 0.0 ),
90.0, 90.0,
OSR_GDV( papszNV, "k", 1.0 ),
OSR_GDV( papszNV, "x_0", 0.0 ),
OSR_GDV( papszNV, "y_0", 0.0 ) );
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -