Changeset 12074
- Timestamp:
- 09/05/07 05:38:34 (1 year ago)
- Files:
-
- trunk/gdal/ogr/ogr_srs_panorama.cpp (modified) (29 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/gdal/ogr/ogr_srs_panorama.cpp
r12018 r12074 42 42 /************************************************************************/ 43 43 44 #define NONE -1L 45 #define TM 1L // Gauss-Kruger (Transverse Mercator) 46 #define LAEA 4L // Lambert Azimuthal Equal Area 47 #define STEREO 5L // Stereographic 48 #define AE 6L // Azimuthal Equidistant (Postel) 49 #define MERCAT 8L // Mercator 50 #define POLYC 11L // Polyconic 51 #define PS 13L // Polar Stereographic 52 #define GNOMON 15L // Gnomonic 53 #define UTM 17L // Universal Transverse Mercator (UTM) 54 #define MOLL 19L // Mollweide 55 #define EC 20L // Equidistant Conic 56 44 #define PAN_PROJ_NONE -1L 45 #define PAN_PROJ_TM 1L // Gauss-Kruger (Transverse Mercator) 46 #define PAN_PROJ_LAEA 4L // Lambert Azimuthal Equal Area 47 #define PAN_PROJ_STEREO 5L // Stereographic 48 #define PAN_PROJ_AE 6L // Azimuthal Equidistant (Postel) 49 #define PAN_PROJ_MERCAT 8L // Mercator 50 #define PAN_PROJ_POLYC 11L // Polyconic 51 #define PAN_PROJ_PS 13L // Polar Stereographic 52 #define PAN_PROJ_GNOMON 15L // Gnomonic 53 #define PAN_PROJ_UTM 17L // Universal Transverse Mercator (PAN_PROJ_UTM) 54 #define PAN_PROJ_MOLL 19L // Mollweide 55 #define PAN_PROJ_EC 20L // Equidistant Conic 56 57 58 /************************************************************************/ 59 /* "Panorama" datum codes. */ 60 /************************************************************************/ 61 62 #define PAN_DATUM_NONE -1L 63 #define PAN_DATUM_PULKOVO42 1L // Pulkovo 1942 64 #define PAN_DATUM_WGS84 2L // WGS84 57 65 58 66 /************************************************************************/ … … 281 289 * 13: Polar Stereographic 282 290 * 15: Gnomonic 283 * 17: Universal Transverse Mercator ( UTM)291 * 17: Universal Transverse Mercator (PAN_PROJ_UTM) 284 292 * 19: Mollweide 285 293 * 20: Equidistant Conic … … 309 317 * </pre> 310 318 * 311 * @param iZone Input zone for UTM projection system.319 * @param iZone Input zone for PAN_PROJ_UTM projection system. 312 320 * 313 321 * @param padfPrjParams Array of 7 coordinate system parameters: … … 355 363 switch ( iProjSys ) 356 364 { 357 case NONE:358 break; 359 360 case UTM:365 case PAN_PROJ_NONE: 366 break; 367 368 case PAN_PROJ_UTM: 361 369 if ( iZone >= 0 ) 362 370 SetUTM( iZone, TRUE ); … … 365 373 break; 366 374 367 case MERCAT:375 case PAN_PROJ_MERCAT: 368 376 SetMercator( TO_DEGREES * padfPrjParams[2], 369 377 TO_DEGREES * padfPrjParams[3], … … 372 380 break; 373 381 374 case P S:382 case PAN_PROJ_PS: 375 383 SetPS( TO_DEGREES * padfPrjParams[2], 376 384 TO_DEGREES * padfPrjParams[3], … … 379 387 break; 380 388 381 case P OLYC:389 case PAN_PROJ_POLYC: 382 390 SetPolyconic( TO_DEGREES * padfPrjParams[2], 383 391 TO_DEGREES * padfPrjParams[3], … … 385 393 break; 386 394 387 case EC:395 case PAN_PROJ_EC: 388 396 SetEC( TO_DEGREES * padfPrjParams[0], 389 397 TO_DEGREES * padfPrjParams[1], … … 393 401 break; 394 402 395 case TM:403 case PAN_PROJ_TM: 396 404 SetTM( TO_DEGREES * padfPrjParams[2], 397 405 TO_DEGREES * padfPrjParams[3], … … 400 408 break; 401 409 402 case STEREO:410 case PAN_PROJ_STEREO: 403 411 SetStereographic( TO_DEGREES * padfPrjParams[2], 404 412 TO_DEGREES * padfPrjParams[3], … … 407 415 break; 408 416 409 case LAEA:417 case PAN_PROJ_LAEA: 410 418 SetLAEA( TO_DEGREES * padfPrjParams[2], 411 419 TO_DEGREES * padfPrjParams[3], … … 413 421 break; 414 422 415 case AE:423 case PAN_PROJ_AE: 416 424 SetAE( TO_DEGREES * padfPrjParams[2], 417 425 TO_DEGREES * padfPrjParams[3], … … 419 427 break; 420 428 421 case GNOMON:429 case PAN_PROJ_GNOMON: 422 430 SetGnomonic( TO_DEGREES * padfPrjParams[2], 423 431 TO_DEGREES * padfPrjParams[3], … … 425 433 break; 426 434 427 case MOLL:435 case PAN_PROJ_MOLL: 428 436 SetMollweide( TO_DEGREES * padfPrjParams[3], 429 437 padfPrjParams[5], padfPrjParams[6] ); … … 540 548 * returned. 541 549 * 542 * @param piZone Pointer to variable, where the zone for UTM projection550 * @param piZone Pointer to variable, where the zone for PAN_PROJ_UTM projection 543 551 * system will be returned. 544 552 * … … 574 582 /* ==================================================================== */ 575 583 if( IsLocal() ) 576 *piProjSys = NONE;584 *piProjSys = PAN_PROJ_NONE; 577 585 578 586 else if( pszProjection == NULL ) … … 582 590 "Empty projection definition, considered as Geographic" ); 583 591 #endif 584 *piProjSys = NONE;592 *piProjSys = PAN_PROJ_NONE; 585 593 } 586 594 587 595 else if( EQUAL(pszProjection, SRS_PT_MERCATOR_1SP) ) 588 596 { 589 *piProjSys = MERCAT;597 *piProjSys = PAN_PROJ_MERCAT; 590 598 padfPrjParams[3] = 591 599 TO_RADIANS * GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ); … … 599 607 else if( EQUAL(pszProjection, SRS_PT_POLAR_STEREOGRAPHIC) ) 600 608 { 601 *piProjSys = P S;609 *piProjSys = PAN_PROJ_PS; 602 610 padfPrjParams[3] = 603 611 TO_RADIANS * GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ); … … 611 619 else if( EQUAL(pszProjection, SRS_PT_POLYCONIC) ) 612 620 { 613 *piProjSys = P OLYC;621 *piProjSys = PAN_PROJ_POLYC; 614 622 padfPrjParams[3] = 615 623 TO_RADIANS * GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ); … … 622 630 else if( EQUAL(pszProjection, SRS_PT_EQUIDISTANT_CONIC) ) 623 631 { 624 *piProjSys = EC;632 *piProjSys = PAN_PROJ_EC; 625 633 padfPrjParams[0] = 626 634 TO_RADIANS * GetNormProjParm( SRS_PP_STANDARD_PARALLEL_1, 0.0 ); … … 643 651 if( *piZone != 0 ) 644 652 { 645 *piProjSys = UTM;653 *piProjSys = PAN_PROJ_UTM; 646 654 if( !bNorth ) 647 655 *piZone = - *piZone; … … 649 657 else 650 658 { 651 *piProjSys = TM;659 *piProjSys = PAN_PROJ_TM; 652 660 padfPrjParams[3] = 653 661 TO_RADIANS * GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ); … … 665 673 else if( EQUAL(pszProjection, SRS_PT_STEREOGRAPHIC) ) 666 674 { 667 *piProjSys = STEREO;675 *piProjSys = PAN_PROJ_STEREO; 668 676 padfPrjParams[3] = 669 677 TO_RADIANS * GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ); … … 677 685 else if( EQUAL(pszProjection, SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA) ) 678 686 { 679 *piProjSys = LAEA;687 *piProjSys = PAN_PROJ_LAEA; 680 688 padfPrjParams[3] = 681 689 TO_RADIANS * GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ); … … 688 696 else if( EQUAL(pszProjection, SRS_PT_AZIMUTHAL_EQUIDISTANT) ) 689 697 { 690 *piProjSys = AE;698 *piProjSys = PAN_PROJ_AE; 691 699 padfPrjParams[3] = 692 700 TO_RADIANS * GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ); … … 699 707 else if( EQUAL(pszProjection, SRS_PT_GNOMONIC) ) 700 708 { 701 *piProjSys = GNOMON;709 *piProjSys = PAN_PROJ_GNOMON; 702 710 padfPrjParams[3] = 703 711 TO_RADIANS * GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ); … … 710 718 else if( EQUAL(pszProjection, SRS_PT_MOLLWEIDE) ) 711 719 { 712 *piProjSys = MOLL;720 *piProjSys = PAN_PROJ_MOLL; 713 721 padfPrjParams[3] = 714 722 TO_RADIANS * GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ); … … 723 731 "Projection \"%s\" unsupported by \"Panorama\" GIS. " 724 732 "Geographic system will be used.", pszProjection ); 725 *piProjSys = NONE;733 *piProjSys = PAN_PROJ_NONE; 726 734 } 727 735 … … 731 739 const char *pszDatum = GetAttrValue( "DATUM" ); 732 740 733 if ( EQUAL( pszDatum, "Pulkovo_1942" ) ) 734 *piDatum = 1L; 735 if( EQUAL( pszDatum, SRS_DN_WGS84 ) ) 736 *piDatum = 2L; 741 if ( pszDatum == NULL ) 742 *piDatum = PAN_DATUM_NONE; 743 else if ( EQUAL( pszDatum, "Pulkovo_1942" ) ) 744 *piDatum = PAN_DATUM_PULKOVO42; 745 else if( EQUAL( pszDatum, SRS_DN_WGS84 ) ) 746 *piDatum = PAN_DATUM_WGS84; 737 747 738 748 // If not found well known datum, translate ellipsoid
