It would be extremely difficult for anyone to write a state plane
coordinate conversion program with zero geodesy experience.  So, I
spent a couple of minutes and wrote a converter myself.  This converts
your sample point but, it sounds like you have some php skills, so it
should be no trouble to extend it to a file input.  ***The code below
is only good for the Florida East state plane zone!!!*** I'll post the
West Zone here tomorrow.  William was partially right.  The Florida
North Zone is Lambert Conformal Conic projection and requires an
iterative solution, but, the East and West Zones are Transverse
Mercator and do not.

<?php

//Convert Florida East Zone (0901) State Plane Coordinates (NAD83,
U.S. survey feet) to lat, long.  Use at your own risk.

//Computations from NOAA Manual NOS NGS 5, "State Plane Coordinate
System of 1983" by James E. Stem, Rockville, MD, January 1989,
Reprinted with minor corrections, March 1990.

//Easting (point from file)
$E = 577133.49812984;

//Northing (point from file)
$N = 1971920.60310639;

//Constants
$m2sft = 1200/3937;
$N0 = 0.0;
$E0 = 656166.6666666665;
$S0 = 2692050.5001/$m2sft;
$k0 = 0.9999411764705882;
$a = 6378137.00000/$m2sft;
$e = 0.08181919111988833;
$ePrime = 0.08208852110265381;
$r = 6367449.14577/$m2sft;
$V0 = 0.005022893948;
$V2 = 0.000029370625;
$V4 = 0.000000235059;
$V6 = 0.000000002181;
$L0 = 81.0;

//Computations
$w = ($N - $N0 + $S0)/($k0*$r);
$of = $w + (sin($w)*cos($w))*($V0 + $V2*pow(cos($w),2) +
$V4*pow(cos($w),4) + $V6*pow(cos($w),6));
$Rf = $k0*$a/sqrt((1 - pow($e,2)*pow(sin($of),2)));
$Eprime = $E - $E0;
$Q = $Eprime/$Rf;
$tf = tan($of);
$nf = $ePrime*cos($of);
$B2 = -0.5*$tf*(1 + pow($nf,2));
$B4 = -1/12*(5 + 3*pow($tf,2) +pow($nf,2)*(1-9*pow($tf,2)) - 4*pow($nf,
4));
$B6 = 1/360*(61 + 90*pow($tf,2) + 45*pow($tf,4) + pow($nf,2)*(46 -
252*pow($tf,2) - 90*pow($tf,4)));
$latitude = ($of + $B2*pow($Q,2)*(1 + pow($Q,2)*($B4 + $B6*pow($Q,
2))))*180/(M_PI);
$B3 = -1/6*(1 + 2*pow($tf,2) + pow($nf,2));
$B5 = 1/120*(5 + 28*pow($tf,2) + 24*pow($tf,4) + pow($nf,2)*(6 +
8*pow($tf,2)));
$B7 = -1/5040*(61 + 662*pow($tf,2) + 1320*pow($tf,4) + 720*pow($tf,
6));
$L = $Q*(1 + pow($Q,2)*($B3 + pow($Q,2)*($B5 + $B7*pow($Q,2))));
$longitude = ($L0 - ($L/cos($of))*180/(M_PI))*-1;

echo $latitude.",".$longitude;
?>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps API" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-api?hl=en.

Reply via email to