#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
""" Usage:
./hatt2egsa.py 1,6985.90,-14252.00,0
"""
""" Example HATT lines:
1,6985.90,-14252.00,0
2,7002.70,-14366.20,0
3,7016.20,-14421.50,0
4,7033.40,-14477.40,0
5,7062.10,-14549.30,0
6,7084.00,-14611.10,0
7,7128.50,-14702.80,0
8,7143.90,-14725.10,0
9,7154.20,-14731.00,0
10,7185.70,-14761.90,0"""
""" Correct values EGSA87 (GGRS87, GR87) for Mitilini:
1,720186.936,4333162.749,0
2,720206.828,4333049.024,0
3,720221.824,4332994.100,0
4,720240.536,4332938.676,0
5,720271.179,4332867.566,0
6,720294.750,4332806.371,0
7,720341.728,4332715.893,0
8,720357.730,4332694.014,0
9,720368.188,4332688.395,0
10,720400.521,4332658.354,0
"""
def convert(line, HATTline):
linearray = line.split(",")
A0=float(linearray[5])
A1=float(linearray[6])
A2=float(linearray[7])
A3=float(linearray[8])
A4=float(linearray[9])
A5=float(linearray[10])
B0=float(linearray[11])
B1=float(linearray[12])
B2=float(linearray[13])
B3=float(linearray[14])
B4=float(linearray[15])
B5=float(linearray[16])
#HATTline = "1,6985.90,-14252.00,0"
HATTarray = HATTline.split(",")
x = float(HATTarray[1])
y = float(HATTarray[2])
extra1 = int(HATTarray[0])
extra2 = int(HATTarray[3])
GR87x = round(A0 + A1 * x + A2 * y + A3 * x**2 + A4 * y**2 + A5 * x * y, 3)
GR87y = round(B0 + B1 * x + B2 * y + B3 * x**2 + B4 * y**2 + B5 * x * y, 3)
print("HATT: {0}\nGR87: {1},{2},{3},{4}".format(HATTline, extra1, GR87x, GR87y, extra2))
lines = """ΜΥΤΙΛΗΝΗ,39,15,2,45,712815.509,0.999835574,-0.02715992,3.16E-09,-2.22E-09,1.11E-09,4347222.467,0.027176178,0.99980037,-2.72E-10,3.19E-10,4.67E-09"""
for line in lines.split("\n"):
HATTline = sys.argv[1]
print("Argument: {0}".format(sys.argv[1]))
convert(line, HATTline)