Exemple #1
0
def main():
    parser = argparse.ArgumentParser()

    parser.add_argument('-t', type=str, metavar='transform', dest='transform', required=True,
                    help='Select either to_geographic, or to_geocentric.')

    parser.add_argument('-x', type=float, metavar='x', dest='x', required=True, 
                    help='Enter x coordinate. If Geocentric this should be in metres. If Geographic, this should be in decimal degrees')

    parser.add_argument('-y', type=float, metavar='y', dest='y', required=True, 
                    help='Enter y coordinate. If Geocentric this should be in metres. If Geographic, this should be in decimal degrees')

    parser.add_argument('-z', type=float, metavar='z', dest='z', required=True, 
                    help='Enter z coordinate in metres.')

    parser.add_argument('-e', type=str, metavar='ellipsoid', dest='ellipsoid', required=True,
                    help='Select which ellipsoid your coordinates are in reference to. At the moment we only support either WGS84 or GRS80.')

    args = parser.parse_args()

    transform = args.transform
    ellipsoid = args.ellipsoid
    x         = args.x
    y         = args.y
    z         = args.z

    if transform == 'to_geographic':
        geo = Geocentrics(x, y, z, ellipsoid=ellipsoid)
        latlongs = geo.make_geographic()
        print("Geographic coordinates ({})".format(ellipsoid))
        print("lat: {0}, lon: {1}, h: {2}".format(latlongs[0], latlongs[1], latlongs[2]))
    elif transform == 'to_geocentric':
        print("coorblimey isn't this clever ... yet.")
    def test_grs80_to_geographic(self):
        geo1 = Geocentrics(1418595, -689557, -6159338)
        lat_long1 = geo1.make_geographic()
        self.assertEqual(lat_long1, [-75.72836167, -25.92366687, 30.705])

        geo2 = Geocentrics(1425925.3230, -703655.7929, -6156081.8741)
        lat_long2 = geo2.make_geographic()
        self.assertEqual(lat_long2, [-75.61017435, -26.26509986, 40.322])
Exemple #3
0
def main():
    parser = argparse.ArgumentParser()

    parser.add_argument('-t',
                        type=str,
                        metavar='transform',
                        dest='transform',
                        required=True,
                        choices=['to_geographic', 'to_geocentric'],
                        help='Select either to_geographic, or to_geocentric.')

    parser.add_argument(
        '-x',
        type=float,
        metavar='x',
        dest='x',
        required=True,
        help=
        'Enter x coordinate. If Geocentric this should be in metres. If Geographic, this should be in decimal degrees'
    )

    parser.add_argument(
        '-y',
        type=float,
        metavar='y',
        dest='y',
        required=True,
        help=
        'Enter y coordinate. If Geocentric this should be in metres. If Geographic, this should be in decimal degrees'
    )

    parser.add_argument('-z',
                        type=float,
                        metavar='z',
                        dest='z',
                        required=True,
                        help='Enter z coordinate in metres.')

    parser.add_argument(
        '-e',
        type=str,
        metavar='ellipsoid',
        dest='ellipsoid',
        required=True,
        choices=['GRS80', 'WGS84'],
        help=
        'Select which ellipsoid your coordinates are in reference to. At the moment we only support either WGS84 or GRS80.'
    )

    args = parser.parse_args()

    transform = args.transform
    ellipsoid = args.ellipsoid
    x = args.x
    y = args.y
    z = args.z

    if transform == 'to_geographic':
        geo = Geocentrics(x, y, z, ellipsoid=ellipsoid)
        latlongs = geo.make_geographic()
        print("Geographic coordinates ({})".format(ellipsoid))
        print("lat: {0}, lon: {1}, h: {2}".format(latlongs[0], latlongs[1],
                                                  latlongs[2]))
    elif transform == 'to_geocentric':
        print("coorblimey isn't this clever ... yet.")
 def test_to_geographic(self):
     geo      = Geocentrics(1418595, -689557, -6159338)
     lat_long = geo.make_geographic()
     self.assertEqual(lat_long, [-75.7283616724, -25.9236668699, 30.705])
 def test_wgs84_to_geographic(self):
     geo = Geocentrics(1418595, -689557, -6159338, ellipsoid='WGS84')
     lat_long = geo.make_geographic()
     self.assertEqual(lat_long, [-75.72836167, -25.92366687, 30.705])
    def test_user_input(self):
        geo_grs80 = Geocentrics(1418595, -689557, -6159338, ellipsoid='grs80')
        self.assertEqual('GRS80', geo_grs80.ellipsoid)

        geo_wgs84 = Geocentrics(1418595, -689557, -6159338, ellipsoid='wGS84')
        self.assertEqual('WGS84', geo_wgs84.ellipsoid)