📄 geo_normalize.c
字号:
&dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 ) dfNatOriginLat = 0.0; if( GTIFKeyGet(psGTIF, ProjScaleAtNatOriginGeoKey, &dfNatOriginScale, 0, 1 ) == 0 ) dfNatOriginScale = 1.0; /* notdef: should transform to decimal degrees at this point */ psDefn->ProjParm[0] = dfNatOriginLat; psDefn->ProjParmId[0] = ProjCenterLatGeoKey; psDefn->ProjParm[1] = dfNatOriginLong; psDefn->ProjParmId[1] = ProjCenterLongGeoKey; psDefn->ProjParm[4] = dfNatOriginScale; psDefn->ProjParmId[4] = ProjScaleAtNatOriginGeoKey; psDefn->ProjParm[5] = dfFalseEasting; psDefn->ProjParmId[5] = ProjFalseEastingGeoKey; psDefn->ProjParm[6] = dfFalseNorthing; psDefn->ProjParmId[6] = ProjFalseNorthingGeoKey; psDefn->nParms = 7; break;/* -------------------------------------------------------------------- */ case CT_LambertConfConic_1SP: case CT_Mercator: case CT_ObliqueStereographic: case CT_TransverseMercator: case CT_TransvMercator_SouthOriented:/* -------------------------------------------------------------------- */ if( GTIFKeyGet(psGTIF, ProjNatOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 ) dfNatOriginLong = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 ) dfNatOriginLat = 0.0; if( GTIFKeyGet(psGTIF, ProjScaleAtNatOriginGeoKey, &dfNatOriginScale, 0, 1 ) == 0 ) dfNatOriginScale = 1.0; /* notdef: should transform to decimal degrees at this point */ psDefn->ProjParm[0] = dfNatOriginLat; psDefn->ProjParmId[0] = ProjNatOriginLatGeoKey; psDefn->ProjParm[1] = dfNatOriginLong; psDefn->ProjParmId[1] = ProjNatOriginLongGeoKey; psDefn->ProjParm[4] = dfNatOriginScale; psDefn->ProjParmId[4] = ProjScaleAtNatOriginGeoKey; psDefn->ProjParm[5] = dfFalseEasting; psDefn->ProjParmId[5] = ProjFalseEastingGeoKey; psDefn->ProjParm[6] = dfFalseNorthing; psDefn->ProjParmId[6] = ProjFalseNorthingGeoKey; psDefn->nParms = 7; break;/* -------------------------------------------------------------------- */ case CT_ObliqueMercator: /* hotine *//* -------------------------------------------------------------------- */ if( GTIFKeyGet(psGTIF, ProjNatOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 ) dfNatOriginLong = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 ) dfNatOriginLat = 0.0; if( GTIFKeyGet(psGTIF, ProjAzimuthAngleGeoKey, &dfAzimuth, 0, 1 ) == 0 ) dfAzimuth = 0.0; if( GTIFKeyGet(psGTIF, ProjRectifiedGridAngleGeoKey, &dfRectGridAngle, 0, 1 ) == 0 ) dfRectGridAngle = 90.0; if( GTIFKeyGet(psGTIF, ProjScaleAtNatOriginGeoKey, &dfNatOriginScale, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjScaleAtCenterGeoKey, &dfNatOriginScale, 0, 1 ) == 0 ) dfNatOriginScale = 1.0; /* notdef: should transform to decimal degrees at this point */ psDefn->ProjParm[0] = dfNatOriginLat; psDefn->ProjParmId[0] = ProjCenterLatGeoKey; psDefn->ProjParm[1] = dfNatOriginLong; psDefn->ProjParmId[1] = ProjCenterLongGeoKey; psDefn->ProjParm[2] = dfAzimuth; psDefn->ProjParmId[2] = ProjAzimuthAngleGeoKey; psDefn->ProjParm[3] = dfRectGridAngle; psDefn->ProjParmId[3] = ProjRectifiedGridAngleGeoKey; psDefn->ProjParm[4] = dfNatOriginScale; psDefn->ProjParmId[4] = ProjScaleAtCenterGeoKey; psDefn->ProjParm[5] = dfFalseEasting; psDefn->ProjParmId[5] = ProjFalseEastingGeoKey; psDefn->ProjParm[6] = dfFalseNorthing; psDefn->ProjParmId[6] = ProjFalseNorthingGeoKey; psDefn->nParms = 7; break;/* -------------------------------------------------------------------- */ case CT_CassiniSoldner: case CT_Polyconic:/* -------------------------------------------------------------------- */ if( GTIFKeyGet(psGTIF, ProjNatOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 ) dfNatOriginLong = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 ) dfNatOriginLat = 0.0; if( GTIFKeyGet(psGTIF, ProjScaleAtNatOriginGeoKey, &dfNatOriginScale, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjScaleAtCenterGeoKey, &dfNatOriginScale, 0, 1 ) == 0 ) dfNatOriginScale = 1.0; /* notdef: should transform to decimal degrees at this point */ psDefn->ProjParm[0] = dfNatOriginLat; psDefn->ProjParmId[0] = ProjNatOriginLatGeoKey; psDefn->ProjParm[1] = dfNatOriginLong; psDefn->ProjParmId[1] = ProjNatOriginLongGeoKey; psDefn->ProjParm[4] = dfNatOriginScale; psDefn->ProjParmId[4] = ProjScaleAtNatOriginGeoKey; psDefn->ProjParm[5] = dfFalseEasting; psDefn->ProjParmId[5] = ProjFalseEastingGeoKey; psDefn->ProjParm[6] = dfFalseNorthing; psDefn->ProjParmId[6] = ProjFalseNorthingGeoKey; psDefn->nParms = 7; break;/* -------------------------------------------------------------------- */ case CT_AzimuthalEquidistant: case CT_MillerCylindrical: case CT_Equirectangular: case CT_Gnomonic: case CT_LambertAzimEqualArea: case CT_Orthographic:/* -------------------------------------------------------------------- */ if( GTIFKeyGet(psGTIF, ProjNatOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 ) dfNatOriginLong = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 ) dfNatOriginLat = 0.0; /* notdef: should transform to decimal degrees at this point */ psDefn->ProjParm[0] = dfNatOriginLat; psDefn->ProjParmId[0] = ProjCenterLatGeoKey; psDefn->ProjParm[1] = dfNatOriginLong; psDefn->ProjParmId[1] = ProjCenterLongGeoKey; psDefn->ProjParm[5] = dfFalseEasting; psDefn->ProjParmId[5] = ProjFalseEastingGeoKey; psDefn->ProjParm[6] = dfFalseNorthing; psDefn->ProjParmId[6] = ProjFalseNorthingGeoKey; psDefn->nParms = 7; break;/* -------------------------------------------------------------------- */ case CT_Robinson: case CT_Sinusoidal: case CT_VanDerGrinten:/* -------------------------------------------------------------------- */ if( GTIFKeyGet(psGTIF, ProjNatOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 ) dfNatOriginLong = 0.0; /* notdef: should transform to decimal degrees at this point */ psDefn->ProjParm[1] = dfNatOriginLong; psDefn->ProjParmId[1] = ProjCenterLongGeoKey; psDefn->ProjParm[5] = dfFalseEasting; psDefn->ProjParmId[5] = ProjFalseEastingGeoKey; psDefn->ProjParm[6] = dfFalseNorthing; psDefn->ProjParmId[6] = ProjFalseNorthingGeoKey; psDefn->nParms = 7; break;/* -------------------------------------------------------------------- */ case CT_PolarStereographic:/* -------------------------------------------------------------------- */ if( GTIFKeyGet(psGTIF, ProjStraightVertPoleLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjNatOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 ) dfNatOriginLong = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 ) dfNatOriginLat = 0.0; if( GTIFKeyGet(psGTIF, ProjScaleAtNatOriginGeoKey, &dfNatOriginScale, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjScaleAtCenterGeoKey, &dfNatOriginScale, 0, 1 ) == 0 ) dfNatOriginScale = 1.0; /* notdef: should transform to decimal degrees at this point */ psDefn->ProjParm[0] = dfNatOriginLat; psDefn->ProjParmId[0] = ProjNatOriginLatGeoKey;; psDefn->ProjParm[1] = dfNatOriginLong; psDefn->ProjParmId[1] = ProjStraightVertPoleLongGeoKey; psDefn->ProjParm[4] = dfNatOriginScale; psDefn->ProjParmId[4] = ProjScaleAtNatOriginGeoKey; psDefn->ProjParm[5] = dfFalseEasting; psDefn->ProjParmId[5] = ProjFalseEastingGeoKey; psDefn->ProjParm[6] = dfFalseNorthing; psDefn->ProjParmId[6] = ProjFalseNorthingGeoKey; psDefn->nParms = 7; break;/* -------------------------------------------------------------------- */ case CT_LambertConfConic_2SP:/* -------------------------------------------------------------------- */ if( GTIFKeyGet(psGTIF, ProjStdParallel1GeoKey, &dfStdParallel1, 0, 1 ) == 0 ) dfStdParallel1 = 0.0; if( GTIFKeyGet(psGTIF, ProjStdParallel2GeoKey, &dfStdParallel2, 0, 1 ) == 0 ) dfStdParallel1 = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 ) dfNatOriginLong = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 ) dfNatOriginLat = 0.0; /* notdef: should transform to decimal degrees at this point */ psDefn->ProjParm[0] = dfNatOriginLat; psDefn->ProjParmId[0] = ProjFalseOriginLatGeoKey; psDefn->ProjParm[1] = dfNatOriginLong; psDefn->ProjParmId[1] = ProjFalseOriginLongGeoKey; psDefn->ProjParm[2] = dfStdParallel1; psDefn->ProjParmId[2] = ProjStdParallel1GeoKey; psDefn->ProjParm[3] = dfStdParallel2; psDefn->ProjParmId[3] = ProjStdParallel2GeoKey; psDefn->ProjParm[5] = dfFalseEasting; psDefn->ProjParmId[5] = ProjFalseEastingGeoKey; psDefn->ProjParm[6] = dfFalseNorthing; psDefn->ProjParmId[6] = ProjFalseNorthingGeoKey; psDefn->nParms = 7; break;/* -------------------------------------------------------------------- */ case CT_AlbersEqualArea: case CT_EquidistantConic:/* -------------------------------------------------------------------- */ if( GTIFKeyGet(psGTIF, ProjStdParallel1GeoKey, &dfStdParallel1, 0, 1 ) == 0 ) dfStdParallel1 = 0.0; if( GTIFKeyGet(psGTIF, ProjStdParallel2GeoKey, &dfStdParallel2, 0, 1 ) == 0 ) dfStdParallel1 = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjCenterLongGeoKey, &dfNatOriginLong, 0, 1 ) == 0 ) dfNatOriginLong = 0.0; if( GTIFKeyGet(psGTIF, ProjNatOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0 && GTIFKeyGet(psGTIF, ProjFalseOriginLatGeoKey, &dfNatOriginLat, 0, 1 ) == 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -