var convertCoord={deg2rad:function(b){return b=b*Math.PI/180},rad2deg:function(b){return b=180*b/Math.PI},roundoff:function(b,e){b=parseFloat(b);e=parseFloat(e);return b=Math.round(b*Math.pow(10,e))/Math.pow(10,e)},resToString:function(b,e){if(!e||!e.match)e="";e.match(/d/i)||(e+="dms");if(e.match(/lo/i))if(0>b)var a=" W",b=Math.abs(b);else a=" E";else 0>b?(a=" S",b=Math.abs(b)):a=" N";var c=0,d=0,f=0,h=Math.abs(parseFloat(b));e.match(/dm/i)?(c=parseInt(h+1)-1,h=60*(h-c)):(c=this.roundoff(h,7),h= 0);e.match(/dms/i)?(d=parseInt(h+1)-1,f=this.roundoff(60*(h-d),3)):d=this.roundoff(h,5);60<=f&&(f-=60,d+=1);60<=d&&(d-=60,c+=1);value=""+c;e.match(/dm/i)&&(value=value+"\u00b0"+d+"'");e.match(/dms/i)&&(value=value+f+'"');return{locNum:value,locStr:a}},degStr:function(b,e,a){b=this.resToString(b,"lat"+a);e=this.resToString(e,"lot"+a);return a&&a.match&&a.match(/p/i)?""+b.locStr+b.locNum+" "+e.locStr+e.locNum:""+b.locNum+b.locStr+" "+e.locNum+e.locStr},radStr:function(b,e,a,c){return this.degStr(this.rad2deg(b), this.rad2deg(e),a,c)},StringToRes:function(b){if(!isNaN(b))return b;b=b.match("^ *([NSWE]?) *(-?) *([0-9][0-9]*(\\.[0-9]*)?) *([dDo\u00b0 ] *(([0-9][0-9]*(\\.[0-9]*)?) *([' ] *(([0-9][0-9]*(\\.[0-9]*)?) *\"? *)?)?)?)?([NSWE]?) *$");if(null===b)return 1/0;if(2<=b[1].length+b[13].length)return 1/0;void 0===b[7]&&(b[7]=0);void 0===b[11]&&(b[11]=0);return(b[1].match(/[SW]/)?-1:1)*(b[2].length?-1:1)*(b[13].match(/[SW]/)?-1:1)*(parseFloat(b[3])+parseFloat(b[7])/60+parseFloat(b[11])/3600)},JTSKToRad:function(b, e,a){void 0===a&&(a=300);var a=a+45,c=this.deg2rad,b=function(a,f){var b=Math.sqrt(a*a+f*f),c=2*Math.atan(f/(b+a))/0.97992470462083,g=2*Math.atan(Math.exp(1.0204865693093612*Math.log(1.231023012797036E7/b)))-Math.PI/2,b=Math.sin(g),e=Math.cos(g),b=0.863499969506341*b-0.504348889819882*e*Math.cos(c),g=Math.sqrt(1-b*b),c=Math.sin(c)*e/g,e=Math.sqrt(1-c*c),c=2*Math.atan((0.420215144586493*e-0.907424504992097*c)/(1+(0.907424504992097*e+0.420215144586493*c)))/1.000597498371542,b=Math.exp(1.9988057168391598* Math.log((1+b)/g/1.003419163966575)),g=(b-1)/(b+1);do e=g,g=b*Math.exp(0.081696831215303*Math.log((1+0.081696831215303*e)/(1-0.081696831215303*e))),g=(g-1)/(g+1);while(1.0E-15<Math.abs(g-e));b=Math.atan(g/Math.sqrt(1-g*g));return{L:c,B:b}}(e,b),a=function(a,f,b){var c=1-(1-1/299.152812853)*(1-1/299.152812853);ro=6377397.15508/Math.sqrt(1-c*Math.sin(a)*Math.sin(a));var g=(ro+b)*Math.cos(a)*Math.cos(f),f=(ro+b)*Math.cos(a)*Math.sin(f),a=((1-c)*ro+b)*Math.sin(a);return{x:g,y:f,z:a}}(b.B,b.L,a),a=function(a, f,b){var e=c(-5.2611/3600),g=c(-1.58676/3600),j=c(-4.99821/3600);return{x:570.69+1.000003543*(a+e*f-g*b),y:85.69+1.000003543*(-e*a+f+j*b),z:462.84+1.000003543*(g*a-j*f+b)}}(a.x,a.y,a.z),a=function(a,b,c){var e=Math.sqrt(a*a+b*b),g=1-(1-1/298.257223563)*(1-1/298.257223563),j=Math.atan(1.0033640898209764*c/e),i=Math.sin(j),j=Math.cos(j),i=(c+6399593.625758492*g*i*i*i)/(e-6378137*g*j*j*j),c=Math.atan(i),a=2*Math.atan(b/(e+a)),e=Math.sqrt(1+i*i)*(e-6378137/Math.sqrt(1+(1-g)*i*i));return{B:c,L:a,H:e}}(a.x, a.y,a.z);return{lat:a.B,lot:a.L,alt:a.H-45}},radToJTSK:function(b,e,a){var c=a,d=this.deg2rad;void 0===a&&(c=300);b=function(a,b,c){var d=1-(1-1/298.257223563)*(1-1/298.257223563),e=6378137/Math.sqrt(1-d*Math.sin(a)*Math.sin(a)),i=(e+c)*Math.cos(a)*Math.cos(b),b=(e+c)*Math.cos(a)*Math.sin(b),a=((1-d)*e+c)*Math.sin(a);return{x:i,y:b,z:a}}(b,e,c);b=function(a,b,c){var e=d(5.2611/3600),j=d(1.58676/3600),i=d(4.99821/3600);return{x:-570.69+0.999996457*(a+e*b-j*c),y:-85.69+0.999996457*(-e*a+b+i*c),z:-462.84+ 0.999996457*(j*a-i*b+c)}}(b.x,b.y,b.z);b=function(a,b,c){var d=Math.sqrt(a*a+b*b),e=1-(1-1/299.152812853)*(1-1/299.152812853),i=Math.atan(1.0033539847919968*c/d),l=Math.sin(i),i=Math.cos(i),l=(c+6398786.848150662*e*l*l*l)/(d-6377397.15508*e*i*i*i),c=Math.atan(l),a=2*Math.atan(b/(d+a)),d=Math.sqrt(1+l*l)*(d-6377397.15508/Math.sqrt(1+(1-e)*l*l));return{B:c,L:a,H:d}}(b.x,b.y,b.z);b=function(a,b,c){var a=Math.sin(a),a=(1+a)*(1+a)/(1-a*a)*Math.exp(0.081696831215303*Math.log((1-0.081696831215303*a)/(1+ 0.081696831215303*a))),a=1.00685001861538*Math.exp(1.000597498371542*Math.log(a)),d=(a-1)/(a+1),a=Math.sqrt(1-d*d),b=1.000597498371542*b,e=Math.sin(b),i=Math.cos(b),b=0.420215144586493*i-0.907424504992097*e,d=0.863499969506341*d+0.504348889819882*a*(0.907424504992097*i+0.420215144586493*e),e=Math.sqrt(1-d*d),a=b*a/e,a=0.97992470462083*Math.atan(a/Math.sqrt(1-a*a)),b=1.231023012797036E7*Math.exp(-0.97992470462083*Math.log((1+d)/e)),d=b*Math.cos(a),a=b*Math.sin(a);return{X:d,Y:a,H:c}}(b.B,b.L,b.H); return{y:b.Y,x:b.X,z:b.H}},datumS42:{a1:6378245,f1:0.00335232986925913,a2:6378137,f2:0.00335281066474748,dx:26,dy:-121,dz:-78},abridgedMologensky:function(b,e,a,c){if(c)var d=a.a2,f=a.f2,h=a.a1,k=a.f1,c=-a.dx,g=-a.dy,j=-a.dz;else d=a.a1,f=a.f1,h=a.a2,k=a.f2,c=a.dx,g=a.dy,j=a.dz;var i=Math.sin(b),l=Math.cos(b),n=Math.sin(e),p=Math.cos(e),m=2*f-f*f,o=1-m*i*i,a=a.a1*(1-m)/Math.pow(o,1.5),o=d/Math.sqrt(o),m=Math.sin(this.deg2rad(1/3600)),d=(-c*i*p-g*i*n+j*l+(d*(k-f)+f*(h-d))*Math.sin(2*b))/(a*m),c=(-c* n+g*p)/(o*l*m);return{fi:b+this.deg2rad(d/3600),lambda:e+this.deg2rad(c/3600)}},s42ToRad:function(b,e){var a=this.deg2rad,c=Math.floor(e/1E6),d=5E5+1E6*c,a=a(6*c-3),d=e-d,f=b-0,c=(1-Math.sqrt(0.9933065783770341))/(1+Math.sqrt(0.9933065783770341)),f=(0+f/1)/6367558.497012303,c=f+Math.sin(2*f)*(3*c/2-27*Math.pow(c,3)/32)+Math.sin(4*f)*(21*c*c/16-55*Math.pow(c,4)/32)+151*Math.sin(6*f)*Math.pow(c,3)/96+1079*Math.sin(8*f)*Math.pow(c,4)/512,f=0.006738525414683499*Math.pow(Math.cos(c),2),h=Math.pow(Math.tan(c), 2),k=1-0.006693421622965951*Math.pow(Math.sin(c),2),g=6378245/Math.sqrt(k),k=6335552.717000426/Math.pow(k,1.5),d=d/(1*g),g=c-g*Math.tan(c)/k*(d*d/2-(5+3*h+10*f-4*f*f-0.06064672873215149)*Math.pow(d,4)/24+(61+90*h+298*f+45*h*h-1.6981084045002417-3*f*f)*Math.pow(d,6)/720),a=a+(d-(1+2*h+f)*Math.pow(d,3)/6+(5-2*f+28*h-3*f*f+0.05390820331746799+24*h*h)*Math.pow(d,5)/120)/Math.cos(c),a=this.abridgedMologensky(g,a,this.datumS42);return{lat:a.fi,lot:a.lambda}},radToS42:function(b,e){var a,c;a=this.abridgedMologensky(b, e,this.datumS42,!0);var d=this.deg2rad;c=this.rad2deg;var f=a.fi;a=a.lambda;var h=Math.floor(c(a)/6);c=15E5+1E6*h;var k=d(6*h+3),g=Math.cos(f),d=Math.tan(f),h=6378245/Math.sqrt(1-0.006693421622965951*Math.pow(Math.sin(f),2)),j=d*d,i=0.006738525414683499*g*g;a=(a-k)*g;k=6378245*(0.9983245386485315*f-0.0025142464643137605*Math.sin(2*f)+2.638289149946458E-6*Math.sin(4*f)-3.416578314713156E-9*Math.sin(6*f));f=1*h*(a+(1-j+i)*Math.pow(a,3)/6+(5-18*j+j*j+72*i-0.5727746602480974)*Math.pow(a,5)/120);a=0+1* (k-0+h*d*(a*a/2+(5-j+9*i+4*i*i)*Math.pow(a,4)/24+(61-58*j+j*j+600*i-2.2237133868455548)*Math.pow(a,6)/720));c+=f;return{y:a,x:c}},seznamToRad:function(b,e){return this.UTMToRad(e/32+13E5,b/32-37E5,33)},radToSeznam:function(b,e){var a=this.radToUTM(b,e,33);return{x:32*(a.east+37E5),y:32*(a.north-13E5)}},UTMToRad:function(b,e,a){var c=6378137*(1-1/298.257223563),d=(40680631590769-c*c)/40680631590769;Math.sqrt(d);Math.sqrt((40680631590769-c*c)/(c*c));var c=(6378137-c)/(6378137+c),f=this.deg2rad(6378137* (1-c)*(1-c*c)*(1+2.25*c*c+3.984375*Math.pow(c,4))),e=1*(e-5E5),b=this.deg2rad(1*(b-0)/0.9996/f),f=b+(3*c/2-27*Math.pow(c,3)/32)*Math.sin(2*b)+(21*c*c/16-55*Math.pow(c,4)/32)*Math.sin(4*b)+151*Math.pow(c,3)/96*Math.sin(6*b)+1097*Math.pow(c,4)/512*Math.sin(8*b),h=6378137*(1-d)/Math.pow(1-d*Math.sin(f)*Math.sin(f),1.5),c=6378137/Math.sqrt(1-d*Math.sin(f)*Math.sin(f)),b=c/h,d=Math.tan(f),c=e/(0.9996*c),k=d/(0.9996*h)*(e*c/2),g=d/(0.9996*h)*(e*Math.pow(c,3)/24)*(-4*b*b+9*b*(1-d*d)+12*d*d),j=d/(0.9996* h)*(e*Math.pow(c,5)/720)*(8*Math.pow(b,4)*(11-24*d*d)-12*Math.pow(b,3)*(21-71*d*d)+15*b*b*(15-98*d*d+15*Math.pow(d,4))+180*b*(5*d*d-3*Math.pow(d,4))+360*Math.pow(d,4)),e=d/(0.9996*h)*(e*Math.pow(c,7)/40320)*(1385+3633*d*d+4095*Math.pow(d,4)+1575*Math.pow(d,6)),e=f-k+g-j+e,k=1/Math.cos(f),f=c*k,h=Math.pow(c,3)/6*k*(b+2*d*d),b=Math.pow(c,5)/120*k*(-4*Math.pow(b,3)*(1-6*d*d)+b*b*(9-68*d*d)+72*b*d*d+24*Math.pow(d,4)),d=Math.pow(c,7)/5040*k*(61+662*d*d+1320*Math.pow(d,4)+720*Math.pow(d,6)),a=this.deg2rad(5* (a-30))+(f-h+b-d);return{lat:e,lot:a}},radToUTM:function(b,e,a){function c(a,b){a=parseFloat(a);b=parseFloat(b);return a=Math.round(a*Math.pow(10,b))/Math.pow(10,b)}this.rad2deg(b);var d=this.rad2deg(e),e=Math.round((d+183)/6);void 0!==a&&(e=a);var a=6378137*(1-1/298.257223563),f=(40680631590769-a*a)/40680631590769;Math.sqrt(f);Math.sqrt((40680631590769-a*a)/(a*a));a=(6378137-a)/(6378137+a);this.deg2rad(6378137*(1-a)*(1-a*a)*(1+2.25*a*a+3.984375*Math.pow(a,4)));var d=d-parseFloat(6*e-183),d=this.deg2rad(d), a=Math.tan(b),h=6378137*(1-f)/Math.pow(1-f*Math.sin(b)*Math.sin(b),1.5),k=6378137/Math.sqrt(1-f*Math.sin(b)*Math.sin(b)),g=k/h,h=Math.cos(b),j=Math.sin(b),i=1-f/4-3*f*f/64-5*Math.pow(f,3)/256,l=0.375*(f+f*f/4+15*Math.pow(f,3)/128),n=0.05859375*(f*f+3*Math.pow(f,3)/4),f=35*Math.pow(f,3)/3072,b=6378137*(i*b-l*Math.sin(2*b)+n*Math.sin(4*b)-f*Math.sin(6*b)),f=d*d/6*h*h*(g-a*a),i=Math.pow(d,4)/120*Math.pow(h,4)*(4*Math.pow(g,3)*(1-6*a*a)+g*g*(1+8*a*a)-2*g*a*a+Math.pow(a,4)),l=Math.pow(d,6)/5040*Math.pow(h, 6)*(61-479*a*a+179*Math.pow(a,4)-Math.pow(a,6)),f=c(5E5+0.9996*k*d*h*(1+f+i+l)/1,3),i=d*d/2*k*j*h,l=Math.pow(d,4)/24*k*j*Math.pow(h,3)*(4*g*g+g-a*a),g=Math.pow(d,6)/720*k*j*Math.pow(h,5)*(8*Math.pow(g,4)*(11-24*a*a)-28*Math.pow(g,3)*(1-6*a*a)+g*g*(1-32*a*a)-2*g*a*a+Math.pow(a,4)),d=Math.pow(d,8)/40320*k*j*Math.pow(h,7)*(1385-3111*a*a+543*Math.pow(a,4)-Math.pow(a,6)),d=c(0+0.9996*(b+i+l+g+d)/1,3);return{zone:e,east:f,north:d}},parseCoords:function(b){for(var e=[,/^([0-8]?[0-9]?)\u00b0[\s]*([0-5]?[0-9]?)\'[\s]*([0-5]?[0-9]?[\.]?[0-9]*)\"[\s]*([NS]{1})[\s]*\,[\s]*([01]?[0-7]?[0-9]?)\u00b0[\s]*([0-5]?[0-9]?)\'[\s]*([0-5]?[0-9]?[\.]?[0-9]*)\"[\s]*([WE]{1})$/, /^([NS]{1})[\s]*([0-8]?[0-9]?)\u00b0[\s]*([0-5]?[0-9]?[\.]?[0-9]*)\'[\s]*\,[\s]*([WE]{1})[\s]*([01]?[0-7]?[0-9]?)\u00b0[\s]*([0-5]?[0-9]?[\.]?[0-9]*)\'[\s]*$/,/^([0-8]?[0-9]?)\u00b0[\s]*([0-5]?[0-9]?[\.]?[0-9]*)\'[\s]*([NS]{1})[\s]*\,[\s]*([01]?[0-7]?[0-9]?)\u00b0[\s]*([0-5]?[0-9]?[\.]?[0-9]*)\'[\s]*([WE]{1})[\s]*$/,/^([0-8]?[0-9]?[\.]?[0-9]*)[\s]*([NS]{1})[\s]*\,[\s]*([01]?[0-7]?[0-9]?[\.]?[0-9]*)[\s]*([WE]{1})[\s]*$/],a=1;a<=e.length;a++){var c=b.match(e[a]);if(c){var d=a;break}}if(d<e.length){switch(d){case 1:var f= parseFloat(c[1])+c[2]/60+c[3]/3600,h=parseFloat(c[5])+c[6]/60+c[7]/3600,k=c[4],g=c[8];break;case 2:f=parseFloat(c[2])+c[3]/60;h=parseFloat(c[5])+c[6]/60;k=c[1];g=c[4];break;case 3:f=parseFloat(c[1])+c[2]/60;h=parseFloat(c[4])+c[5]/60;k=c[3];g=c[6];break;case 4:f=parseFloat(c[1]),h=parseFloat(c[3]),k=c[2],g=c[4]}"S"==k&&(f*=-1);"W"==g&&(h*=-1);return{lat:f,lon:h}}return{lat:!1,lon:!1}}};
