- sin: documentation ( source)
- cos: documentation ( source)
- round: documentation ( source)
- print_r: documentation ( source)
- rad2deg: documentation ( source)
- deg2rad: documentation ( source)
<?php
$name= 'TEST';
$circleLat = 19.282494;
$circleLon = 166.636650;
$circleRadius = 1047*1852;
$circlePrecision =5;
$coordinatesList = "";
// Code based on Google Earth community posting by 'ink_polaroid'
// http://bbs.keyhole.com/ubb/showflat.php/Cat/0/Number/23634/an//page//vc/1
$num_points = 36;
$delta_pts = 360/$num_points;
// convert coordinates to radians
$lat = deg2rad(floatval($circleLat));
$lon = deg2rad(floatval($circleLon));
$d = $circleRadius;
$d_rad = $d/6378137; // convert dist to angular distance in radians
// loop around the compass, appending coordinates of each vertex
for($i=0; $i<=$num_points; $i++) {
$radial = deg2rad($i*$delta_pts);
$lonCircle = $d_rad*sin($radial);
$latCircle = $d_rad*cos($radial);
$coordinatesList .= Round(rad2deg($lon+$lonCircle),$circlePrecision).",".
Round(rad2deg($lat+$latCircle),$circlePrecision).",30\n";
}
print_r($coordinatesList);