// // Test coordinate transformations for simple cases. // This is not the test provided by OpenGIS. This is // a set of simplier tests focusing on one Geotools // class at time, which make debugging easier. For // OpenGIS tests, see CT_TestScript and MT_TestScript. // // Coordinate systems set _WGS84_ = GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]] set _Mercator_ = PROJCS["Mercator", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Mercator_2SP"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", 60.0], PARAMETER["standard_parallel1", 45.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _EPSG:4210_=GEOGCS["Arc 1960",DATUM["Arc_1960",SPHEROID["Clarke 1880 (RGS)",6378249.145,293.465,AUTHORITY["EPSG","7012"]],TOWGS84[-160,-6,-302,0,0,0,0],AUTHORITY["EPSG","6210"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4210"]] set _Nad27_=GEOGCS["NAD27",DATUM["North_American_Datum_1927",SPHEROID["Clarke 1866",6378206.4,294.978698213901,AUTHORITY["EPSG","7008"]],TOWGS84[-3,142,183,0,0,0,0],AUTHORITY["EPSG","6267"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4267"]] set _Osgb36_=GEOGCS["OSGB 1936",DATUM["OSGB_1936",SPHEROID["Airy 1830",6377563.396,299.3249646,AUTHORITY["EPSG","7001"]],TOWGS84[375,-111,431,0,0,0,0],AUTHORITY["EPSG","6277"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4277"]] set _Osgb36rad_=GEOGCS["OSGB 1936 rad",DATUM["OSGB_1936",SPHEROID["Airy 1830",6377563.396,299.3249646,AUTHORITY["EPSG","7001"]],TOWGS84[375,-111,431,0,0,0,0],AUTHORITY["EPSG","6277"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["Radians",1.0],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4277"]] set _NtfParis_=GEOGCS["NTF (Paris)",DATUM["Nouvelle_Triangulation_Francaise",SPHEROID["Clarke 1880 (IGN)",6378249.2,293.466021293627,AUTHORITY["EPSG","7011"]],TOWGS84[-168,-60,320,0,0,0,0],AUTHORITY["EPSG","6275"]],PRIMEM["Paris",2.5969213,AUTHORITY["EPSG","8903"]],UNIT["grad",0.015707963267949,AUTHORITY["EPSG","9105"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4807"]] set _NAD27Idaho_=PROJCS["NAD27 / Idaho Central",GEOGCS["NAD27",DATUM["North_American_Datum_1927",SPHEROID["Clarke 1866",6378206.4,294.978698213901,AUTHORITY["EPSG","7008"]],TOWGS84[-3,142,183,0,0,0,0],AUTHORITY["EPSG","6267"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4267"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.6666666666666],PARAMETER["central_meridian",-114],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",152400.30480061],PARAMETER["false_northing",0],UNIT["US survey foot",0.304800609601219,AUTHORITY["EPSG","9003"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","26769"]] set _NAD83Idaho_=PROJCS["NAD83 / Idaho Central",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4269"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.6666666666666],PARAMETER["central_meridian",-114],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","26969"]] set _Nad83_=GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4269"]] ////////////////////////////////// // Tests transforms cs_source=_WGS84_ cs_target=_Mercator_ test_tolerance=(1e-5, 1e-5) pt_source=(60, 0) pt_target=(0, 0) pt_source=(70, 40) pt_target=(788468.3509397813, 3427056.247843599) //////////////////////////// // Inverse transforms cs_source=_Mercator_ cs_target=_WGS84_ test_tolerance=(1e-5, 1e-5) pt_source=(0, 0) pt_target=(60, 0) pt_source=(788468.3509397813, 3427056.247843599) pt_target=(70, 40) ////////////////////////////////////////////////////////////////////////////////////////////////////// // More transforms (RS Feb 2003) // the following test tranforms between different datums (and a few other things) // to track down potential failures in the full test suite. Source to Target points // were calculated with arc/info using user defined datums shift parameters. // all coords are in decimal degrees unless stated otherwise /////////////////Nairobi Test////////////////// //lat, long cs_source=_EPSG:4210_ //long, lat cs_target=_WGS84_ test_tolerance=(1e-6, 1e-6) pt_source=(-1.2833333333, 36.8166666666) pt_target=(36.81748504, -1.28594940) //the inverse of the above cs_source=_WGS84_ cs_target=_EPSG:4210_ pt_source=(36.81748504, -1.28594940) pt_target=( -1.28333333, 36.81666667) /////////////////Vancouver Test//////////////////// //lat, long cs_source=_Nad27_ cs_target=_WGS84_ test_tolerance=(1e-6, 1e-6) pt_source=(49.2166666666, -123.1) pt_target=( -123.10109890, 49.21642307) //the inverse cs_source=_WGS84_ cs_target=_Nad27_ pt_source=(-123.10109890, 49.21642307) pt_target=(49.21666666, -123.10000000) /////////////////London Test//////////////////// //a transform using this datum shift (and a transverse mercator transform) is currently failing in CT_TestScript //lat, long cs_source=_Osgb36_ cs_target=_WGS84_ test_tolerance=(1e-6, 1e-6) pt_source=(51.5, -0.1166666667) pt_target=(-0.11825416, 51.50045749) //the inverse cs_source=_WGS84_ cs_target=_Osgb36_ pt_source=(-0.11825416, 51.50045749) pt_target=(51.5, -0.1166666667) //test dd to radians cs_source=_Osgb36_ cs_target=_Osgb36rad_ pt_source=(51.5, -0.1166666667) pt_target=(0.898844564, -0.002036217) //test radians to dd cs_source=_Osgb36rad_ cs_target=_Osgb36_ pt_source=(0.898844564, -0.002036217) pt_target=(51.5, -0.1166666667) //test involving radians to dd (with a datum shift) cs_source=_Osgb36rad_ cs_target=_WGS84_ pt_source=(0.898844564, -0.002036217) pt_target=(-0.11825416, 51.50045749) /////////////////Paris Test//////////////////// //lat, long cs_source=_NtfParis_ //long, lat cs_target=_WGS84_ test_tolerance=(1e-6, 1e-6) pt_source=(48.85, 0) pt_target=(2.33656753, 43.96499314) //inverse cs_source=_WGS84_ cs_target=_NtfParis_ pt_source=(2.33656753, 43.96499314) pt_target=(48.85, 0) ////////////////////////////////////////////////////////////////////////////////////////////////////// //Simple test cases for the Mercator Projection //Inverse transforms are tested if java assertions are enabled //Rueben Schulz //April 12, 2003 //Coordinate Systems set _Mercator1_ = PROJCS["Mercator", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Mercator_1SP"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", -20.0], PARAMETER["false_easting", 500000.0], PARAMETER["false_northing", 0.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _Mercator2_ = PROJCS["Mercator", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Mercator_2SP"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", 45.0], PARAMETER["standard_parallel1", 49.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 1000000.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] //these test spherical projections. The CTFactory is taking the semimajor and semiminor //parameters from the source CS (since there is no datum shift they should be the same). set _Mercator3_ = PROJCS["Mercator", GEOGCS["Sphere", DATUM["Sphere", SPHEROID["Sphere", 6370997.0, 0],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Mercator_1SP"], PARAMETER["semi_major", 20902179.37], PARAMETER["semi_minor",20902179.37], PARAMETER["central_meridian", 0.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["feet", 0.304800609601219], AXIS["x",EAST], AXIS["y",NORTH]] set _Mercator4_ = PROJCS["Mercator", GEOGCS["Sphere", DATUM["Sphere", SPHEROID["Sphere", 6370997.0, 0],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Mercator_2SP"], PARAMETER["semi_major", 6370997], PARAMETER["semi_minor", 6370997], PARAMETER["central_meridian", 180.0], PARAMETER["standard_parallel1", 60.0], PARAMETER["false_easting", -500000.0], PARAMETER["false_northing", -1000000.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _sphere_= GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6370997.0, 0],TOWGS84[0,0,0,0,0,0,0]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]] //////////////////////////////////////////// //Elliptical 1SP tests cs_source=_WGS84_ cs_target=_Mercator1_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=(-10977039.5008, 6279333.9806) pt_source=(2.33656753, 43.96499314) pt_target=( 2986495.3235, 5430352.9248) pt_source=(151.283333333, -33.916666666) pt_target=(19567173.4480, -3993776.5773) pt_source=(-47.95, -15.75) pt_target=(-2611379.7677, -1764197.5884) //////////////////////////////////////////// //Elliptical 2SP tests cs_source=_WGS84_ cs_target=_Mercator2_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=(-12300178.4625, 5127490.3895) pt_source=(2.33656753, 43.96499314) pt_target=(-3121759.8644, 4569443.7624) pt_source=(151.283333333, -33.916666666) pt_target=(7776942.1034, -1625162.8742) pt_source=(-47.95, -15.75) pt_target=(-6801318.1921, -159630.7210) //////////////////////////////////////////// //Spherical 1SP tests cs_source=_sphere_ cs_target=_Mercator3_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=(-44908338.7410, 20684472.5614) pt_source=(2.33656753, 43.96499314) pt_target=(852407.5234, 17893383.3945) pt_source=(151.283333333, -33.916666666) pt_target=(55189952.7148, -13166379.0404) pt_source=(-47.95, -15.75) pt_target=( -17492728.2098, -5819546.9703) //////////////////////////////////////////// //Spherical 2SP tests cs_source=_sphere_ cs_target=_Mercator4_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=( 2663494.1734, 2152319.9230) pt_source=(2.33656753, 43.96499314) pt_target=( -10377631.5192, 1726957.0832) pt_source=(151.283333333, -33.916666666) pt_target=(-2096573.0700, -3006560.1789) pt_source=(-47.95, -15.75) pt_target=(6841641.5746, -1886900.7321) ////////////////////////////////////////////////////////////////////////////////////////////////////// //Simple test cases for the Lambert Conic Conformal Projection //Rueben Schulz //April 26, 2003 set _Lambert1_ = PROJCS["Lambert", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Lambert_Conformal_Conic_1SP"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", -50.0], PARAMETER["latitude_of_origin", 30.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _Lambert2_ = PROJCS["Lambert", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Lambert_Conformal_Conic_2SP"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", 0.0], PARAMETER["standard_parallel1", -40.0], PARAMETER["standard_parallel2", -40.0], PARAMETER["latitude_of_origin", -50.0], PARAMETER["false_easting", 100000.0], PARAMETER["false_northing", 0.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _Lambert3_ = PROJCS["Lambert", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Lambert_Conformal_Conic_2SP"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", 180.0], PARAMETER["standard_parallel1", 30.0], PARAMETER["standard_parallel2", 60.0], PARAMETER["latitude_of_origin", -10.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["feet", 0.304800609601219], AXIS["x",EAST], AXIS["y",NORTH]] //the following are spherical CS set _Lambert4_ = PROJCS["Lambert", GEOGCS["Sphere", DATUM["Sphere", SPHEROID["Sphere", 6370997.0, 0],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Lambert_Conformal_Conic_1SP"], PARAMETER["semi_major", 6370997.0], PARAMETER["semi_minor",6370997.0], PARAMETER["central_meridian", 111.0], PARAMETER["latitude_of_origin", -55.0], PARAMETER["false_easting", 500000.0], PARAMETER["false_northing", 1000000.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _Lambert5_ = PROJCS["Lambert", GEOGCS["Sphere", DATUM["Sphere", SPHEROID["Sphere", 6370997.0, 0],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Lambert_Conformal_Conic_2SP"], PARAMETER["semi_major", 6370997.0], PARAMETER["semi_minor",6370997.0], PARAMETER["central_meridian", -120.0], PARAMETER["standard_parallel1", 2.0], PARAMETER["standard_parallel2", 60.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] //////////////////////////////////////////// //Elliptical 1SP tests cs_source=_WGS84_ cs_target=_Lambert1_ test_tolerance=(1e-3, 1e-3) pt_source=(-123.1, 49.2166666666) pt_target=(-5287947.5666, 3923289.3804 ) pt_source=(2.33656753, 43.96499314) pt_target=(4185423.6188, 2538710.2320) pt_source=(151.283333333, -33.916666666) pt_target=(-19525733.2941, 7387672.7862) pt_source=(-47.95, -15.75) pt_target=(298409.3506, -5622289.0195) pt_source=(139.733333333, 35.6833333333) pt_target=(-10387588.6405, 10172070.1601) pt_source=(18.45, -33.9166666666) pt_target=(11174319.1487, -5370575.4103) //////////////////////////////////////////// //Elliptical 1SP tests (SP1 != lat of origin) cs_source=_WGS84_ cs_target=_Lambert2_ test_tolerance=(1e-3, 1e-3) pt_source=(-123.1, 49.2166666666) pt_target=(-22820289.5546, -2091996.3436) pt_source=(2.33656753, 43.96499314) pt_target=(661568.1116, 14923557.2916) pt_source=(151.283333333, -33.916666666) pt_target=(8321915.5406, -7539430.4248) pt_source=(-47.95, -15.75) pt_target=(-5216412.4004, 2416218.2440) pt_source=(139.733333333, 35.6833333333) pt_target=(19088312.4822, -6434450.6837) pt_source=(18.45, -33.9166666666) pt_target=(1803288.3324, 1616657.7846) //////////////////////////////////////////// //Elliptical 2SP tests cs_source=_WGS84_ cs_target=_Lambert3_ test_tolerance=(1e-3, 1e-3) pt_source=(-123.1, 49.2166666666) pt_target=(12079690.7391, 28400620.6811) pt_source=(2.33656753, 43.96499314) pt_target=(-16233824.7065, 54733007.9166) pt_source=(151.283333333, -33.916666666) pt_target=(-20584520.8916, -12470944.5767) pt_source=(-47.95, -15.75) pt_target=(45517278.1919, 46019589.2897) pt_source=(139.733333333, 35.6833333333) pt_target=(-11229968.4483, 22021503.7243) pt_source=(18.45, -33.9166666666) pt_target=(-52873049.7228, 67785243.1861) //////////////////////////////////////////// //Spherical 1SP tests cs_source=_sphere_ cs_target=_Lambert4_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=(25653461.6092, -9328874.3177) pt_source=(2.33656753, 43.96499314) pt_target=(-22649201.8064, -3061747.7330) pt_source=(151.283333333, -33.916666666) pt_target=(4232963.1816, 2287639.9866) pt_source=(-47.95, -15.75) pt_target=(-6481665.6402, -9361865.9892) pt_source=(139.733333333, 35.6833333333) pt_target=(8422286.8779, 14726891.2544) pt_source=(18.45, -33.9166666666) pt_target=(-6145284.5661, -1781049.8180) //////////////////////////////////////////// //Spherical 2SP tests cs_source=_sphere_ cs_target=_Lambert5_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=(-205662.8591, 4976567.1293) pt_source=(2.33656753, 43.96499314) pt_target=(6914767.9622, 8944877.6421) pt_source=(151.283333333, -33.916666666) pt_target=(-12528988.3121, 699778.9719) pt_source=(-47.95, -15.75) pt_target=(8770667.9768, 1149590.9576) pt_source=(139.733333333, 35.6833333333) pt_target=(-6789805.6471, 7107623.6859) pt_source=(18.45, -33.9166666666) pt_target=(16288385.6535, 7582342.0136) ////////////////////////////////////////////////////////////////////////////////////////////////////// //Simple test cases for the Transverse Mercator Projection //note that the calculation of meridian distances is only accurate for values near the central meridian. //Therefore, tests that are too far away for accurat computations are commented out. //Rueben Schulz //May 24, 2003 set _Tmerc1_ = PROJCS["TransverseMercator", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", -117.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["scale_factor", 0.9996], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _Tmerc2_ = PROJCS["TransverseMercator", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", 3.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["scale_factor", 0.9996], PARAMETER["false_easting", 500000.0], PARAMETER["false_northing", 0.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _Tmerc3_ = PROJCS["TransverseMercator", GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6356752.314245179], PARAMETER["central_meridian", 150.0], PARAMETER["latitude_of_origin", -30.0], PARAMETER["scale_factor", 0.9], PARAMETER["false_easting", 500000.0], PARAMETER["false_northing", 1000000.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _Tmerc4_ = PROJCS["TransverseMercator", GEOGCS["Sphere", DATUM["Sphere", SPHEROID["Sphere", 6370997.0, 0],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["semi_major", 6370997], PARAMETER["semi_minor", 6370997], PARAMETER["central_meridian", 170.0], PARAMETER["latitude_of_origin", 50.0], PARAMETER["scale_factor", 0.95], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["feet", 0.304800609601219], AXIS["x",EAST], AXIS["y",NORTH]] set _Tmerc5_ = PROJCS["TransverseMercator", GEOGCS["Sphere", DATUM["Sphere", SPHEROID["Sphere", 6370997.0, 0],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["semi_major", 6370997], PARAMETER["semi_minor", 6370997], PARAMETER["central_meridian", 5.0], PARAMETER["latitude_of_origin", -60.0], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 150000.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] set _Tmerc6_ = PROJCS["TransverseMercator", GEOGCS["Sphere", DATUM["Sphere", SPHEROID["Sphere", 6370997.0, 0],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich", 0.0], UNIT["degree",0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]], PROJECTION["Transverse_Mercator"], PARAMETER["semi_major", 6370997], PARAMETER["semi_minor", 6370997], PARAMETER["central_meridian", -63.0], PARAMETER["latitude_of_origin", 70.0], PARAMETER["scale_factor", 0.86], PARAMETER["false_easting", 15000.0], PARAMETER["false_northing", 0.0], UNIT["metre",1.0], AXIS["x",EAST], AXIS["y",NORTH]] //////////////////////////////////////////// //Elliptical tests cs_source=_WGS84_ cs_target=_Tmerc1_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=(-444107.3188, 5469474.1590) //pt_source=(2.33656753, 43.96499314) //pt_target=(5395779.7395, 17860740.2883) //pt_source=(151.283333333, -33.916666666) //pt_target=(-9197909.7926, -11258764.2868) //pt_source=(-47.95, -15.75) //pt_target=(9339271.6317, -3978502.4742) //pt_source=(139.733333333, 35.6833333333) //pt_target=(-9513492.7251, 14822536.2027) //pt_source=(18.45, -33.9166666666) //pt_target=(12336608.1818, -36243900.7093) cs_source=_WGS84_ cs_target=_Tmerc2_ test_tolerance=(1e-2, 1e-2) //pt_source=(-123.1, 49.2166666666) //pt_target=(-1863536.1421, 16536799.6090) pt_source=(2.33656753, 43.96499314) pt_target=( 446778.5824, 4868198.6309) //pt_source=(151.283333333, -33.916666666) //pt_target=(12761995.7679, -51898991.5706) //pt_source=(-47.95, -15.75) //pt_target=(-5664090.2726, -2656961.6849) //pt_source=(139.733333333, 35.6833333333) //pt_target=(10709202.7967, 35498422.8616) test_tolerance=(10.0, 1e-1) pt_source=(18.45, -33.9166666666) pt_target=(1934662.0613, -3862443.5840) cs_source=_WGS84_ cs_target=_Tmerc3_ test_tolerance=(1e-2, 1e-2) //pt_source=(-123.1, 49.2166666666) //pt_target=(5076741.2088, 13016760.9637) //pt_source=(2.33656753, 43.96499314) //pt_target=(982645.8596, 31573829.2872) pt_source=(151.283333333, -33.916666666) pt_target=(606811.9106, 608458.3480) //pt_source=(-47.95, -15.75) //pt_target=( 60000156.1174, -75011942.9212) test_tolerance=(1.0, 1.0) pt_source=(139.733333333, 35.6833333333) pt_target=( -337860.8646, 7587531.0000) //pt_source=(18.45, -33.9166666666) //pt_target=(-10513068.6892, -25266994.8562) //////////////////////////////////////////// //Spherical tests cs_source=_sphere_ cs_target=_Tmerc4_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=(13789574.5387, 7382397.5079) pt_source=(2.33656753, 43.96499314) pt_target=( -3078047.1496, 29585391.1514) pt_source=(151.283333333, -33.916666666) pt_target=(-5418312.9234, -29587617.9880) pt_source=(-47.95, -15.75) pt_target=(13513964.5111, -72890895.6259) pt_source=(139.733333333, 35.6833333333) pt_target=(-8635552.8787, -3554945.9672) pt_source=(18.45, -33.9166666666) pt_target=(-8302359.9726, -66747202.7054) cs_source=_sphere_ cs_target=_Tmerc5_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=( -3619915.0181, 19945609.9069) pt_source=(2.33656753, 43.96499314) pt_target=(-213168.1101, 11713815.2013) pt_source=(151.283333333, -33.916666666) pt_target=(3173530.0030, -8862237.9436) pt_source=(-47.95, -15.75) pt_target=(-6471578.8363, 4032504.5688) pt_source=(139.733333333, 35.6833333333) pt_target=(4191980.4525, 21768824.9670) pt_source=(18.45, -33.9166666666) pt_target=(1245355.0800, 2967869.4896) cs_source=_sphere_ cs_target=_Tmerc6_ test_tolerance=(1e-2, 1e-2) pt_source=(-123.1, 49.2166666666) pt_target=( -3502534.6252, -312621.9017) pt_source=(2.33656753, 43.96499314) pt_target=( 4302018.4925, -324688.6686) pt_source=(151.283333333, -33.916666666) pt_target=(-2761747.7005, -20164229.4262) pt_source=(-47.95, -15.75) pt_target=(1413912.6201, -8250773.3255) pt_source=(139.733333333, 35.6833333333) pt_target=(-1764893.7690, 6894266.7345) pt_source=(18.45, -33.9166666666) pt_target=(6363780.1590, -14108128.9456) //////////////////////////////////////////// //Tests for an OGC test case that fails //set _NAD27Idaho_=PROJCS["NAD27 / Idaho Central",GEOGCS["NAD27",DATUM["North_American_Datum_1927",SPHEROID["Clarke 1866",6378206.4,294.978698213901,AUTHORITY["EPSG","7008"]],TOWGS84[-3,142,183,0,0,0,0],AUTHORITY["EPSG","6267"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4267"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.6666666666666],PARAMETER["central_meridian",-114],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",152400.30480061],PARAMETER["false_northing",0],UNIT["US survey foot",0.304800609601219,AUTHORITY["EPSG","9003"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","26769"]] //set _NAD83Idaho_=PROJCS["NAD83 / Idaho Central",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4269"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.6666666666666],PARAMETER["central_meridian",-114],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","26969"]] //the source CS with the FE in feet (assuming it is incorrectly given in meters in the original) //152400.30480061m == 500000.0 feet set _NAD27IdahoFeet_=PROJCS["NAD27 / Idaho Central",GEOGCS["NAD27",DATUM["North_American_Datum_1927",SPHEROID["Clarke 1866",6378206.4,294.978698213901,AUTHORITY["EPSG","7008"]],TOWGS84[-3,142,183,0,0,0,0],AUTHORITY["EPSG","6267"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],AXIS["Lat",NORTH],AXIS["Long",EAST],AUTHORITY["EPSG","4267"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",41.6666666666666],PARAMETER["central_meridian",-114],PARAMETER["scale_factor",0.999947368],PARAMETER["false_easting",500000.0],PARAMETER["false_northing",0],UNIT["US survey foot",0.304800609601219,AUTHORITY["EPSG","9003"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","26769"]] cs_source=_NAD27Idaho_ cs_target=_NAD83Idaho_ test_tolerance=(1e-2, 1e-2) //the original test (fails) pt_source=(30000.0, 40000.0) pt_target=(356672.14701, 12183.56326) //the target as calculated with arcInfo (FE in source assumed to be correctly given as feet) pt_source=(30000.0, 40000.0) pt_target=( 462631.7604, 12177.9660) cs_source=_NAD27IdahoFeet_ cs_target=_NAD83Idaho_ //source FE assumed to be given in meters (target calculated with arcinfo) pt_source=(30000.0, 40000.0) pt_target=(356682.9969, 12177.9631)