Ważne dane - techniczne parametry konfiguracji usługi Multimo:
- Encapsulacja: PPPoE
- Multiplex: LLC
- VPI: 0
- VCI: 35
Dodatkowo nalezy ustawić taką opcję:
using System; using System.Collections.Generic; using System.Text; namespace FreeMierniczy { public class GeodGPS { public const double U92_L_ZERO = 19.0; //Poludnik srodkowy public const double U92_FE = 500000.0; // False Eting public const double U92_FN = -5300000.0; // False Northing public const double U92_M_ZERO = 0.9993; // Wsp. skali public const double U92_E = 0.0818191910428; // pozostale stale public const double PI = 3.14159265358979; public const double RO = 6367449.14577; public const double A2 = 0.0008377318247344; public const double A4 = 0.0000007608527788826; public const double A6 = 0.000000001197638019173; public const double A8 = 0.00000000000244337624251; /* Obliczenie współrzędnej X na podstawie współrzędnych geodezyjnych B,L Brad = B * Pi / 180 Lrad = L * Pi / 180 Lorad = Lo * Pi / 180 k = ((1 - E * Sin(Brad)) / (1 + E * Sin(Brad))) ^ (E / 2) C = k * Tan((Brad / 2) + (Pi / 4)) firad = (2 * Atn(C)) - (Pi / 2) Xmer = Atn(Sin(firad) / (Cos(firad) * Cos(Lrad - Lorad))) Ymer = 0.5 * Log((1 + Cos(firad) * Sin(Lrad - Lorad)) / (1 - Cos(firad) * Sin(Lrad - Lorad))) Xgk = Ro * (Xmer + (a2 * Sin(2 * Xmer) *Cosh(2 * Ymer)) + (a4 * Sin(4 * Xmer) * Cosh(4 * Ymer)) + (a6 * Sin(6 * Xmer) *Cosh(6 * Ymer)) + (a8 * Sin(8 * Xmer) *Cosh(8 * Ymer))) Współrzędna X Wgs84 = mo * Xgk + FN */ public double getXU92(double longitude, double latitude) { double brad, lrad, lorad, k, c, firad, xmer, ymer, xgk; brad = latitude * PI / 180; lrad = longitude * PI / 180; lorad = U92_L_ZERO * PI / 180; k = Math.Pow(((1 - U92_E * Math.Sin(brad)) / (1 + U92_E * Math.Sin(brad))), U92_E / 2); c = k * Math.Tan(brad / 2 + PI / 4); firad = 2 * Math.Atan(c) - PI / 2; xmer = Math.Atan(Math.Sin(firad) / (Math.Cos(firad) * Math.Cos(lrad - lorad))); ymer = 0.5 * Math.Log((1 + Math.Cos(firad) * Math.Sin(lrad - lorad)) / (1 - Math.Cos(firad) * Math.Sin(lrad - lorad))); xgk = RO * (xmer + A2 * Math.Sin(2 * xmer) * Math.Cosh(2 * ymer) + A4 * Math.Sin(4 * xmer) * Math.Cosh(4 * ymer) + A6 * Math.Sin(6 * xmer) * Math.Cosh(6 * ymer) + A8 * Math.Sin(8 * xmer) * Math.Cosh(8 * ymer)); return U92_M_ZERO * xgk + U92_FN; } /* Obliczenie współrzędnej Y na podstawie współrzędnych geodezyjnych B,L Brad = B * Pi / 180 Lrad = L * Pi / 180 Lorad = Lo * Pi / 180 k = ((1 - E * Sin(Brad)) / (1 + E * Sin(Brad))) ^ (E / 2) C = k * Tan((Brad / 2) + (Pi / 4)) firad = (2 * Atn(C)) - (Pi / 2) Xmer = Atn(Sin(firad) / (Cos(firad) * Cos(Lrad - Lorad))) Ymer = 0.5 * Log((1 + Cos(firad) * Sin(Lrad - Lorad)) / (1 - Cos(firad) * Sin(Lrad - Lorad))) Ygk = Ro * (Ymer + (a2 * Cos(2 * Xmer) * Sinh(2 * Ymer)) + (a4 * Cos(4 * Xmer) * Sinh(4 * Ymer)) + (a6 * Cos(6 * Xmer) *Sinh(6 * Ymer)) + (a8 * Cos(8 * Xmer) * Sinh(8 * Ymer))) Współrzędna Y Wgs84 = mo * Ygk + FE */ public double getYU92(double longitude, double latitude) { double brad, lrad, lorad, k, c, firad, xmer, ymer, ygk; brad = latitude * PI / 180; lrad = longitude * PI / 180; lorad = U92_L_ZERO * PI / 180; k = Math.Pow(((1 - U92_E * Math.Sin(brad)) / (1 + U92_E * Math.Sin(brad))), U92_E / 2); c = k * Math.Tan(brad / 2 + PI / 4); firad = 2 * Math.Atan(c) - PI / 2; xmer = Math.Atan(Math.Sin(firad) / (Math.Cos(firad) * Math.Cos(lrad - lorad))); ymer = 0.5 * Math.Log((1 + Math.Cos(firad) * Math.Sin(lrad - lorad)) / (1 - Math.Cos(firad) * Math.Sin(lrad - lorad))); ygk = RO * (ymer + A2 * Math.Cos(2 * xmer) * Math.Sinh(2 * ymer) + A4 * Math.Cos(4 * xmer) * Math.Sinh(4 * ymer) + A6 * Math.Cos(6 * xmer) * Math.Sinh(6 * ymer) + A8 * Math.Cos(8 * xmer) * Math.Sinh(8 * ymer)); return U92_M_ZERO * ygk + U92_FE; } } }