como se mencionó anteriormente, el siguiente tutorial de Google Maps responde CASI por completo a su pregunta:http://code.google.com/apis/kml/articles/phpmysqlkml.html
desafortunadamente, no propone código para el análisis de polígonos (que necesitará, si está administrando la visualización de áreas de la granja), pero puede adaptar el método de análisis de LinesString y lograrlo. tenga cuidado de incrustar correctamente la etiqueta outsideBoundaryIs en la etiqueta Polygon Y recuerde que debe duplicar el punto de inicio para que el polígono se dibuje correctamente.
$lineNode = $dom->createElement('Polygon');
$placeNode = $placeNode->appendChild($lineNode);
$exnode = $dom->createElement('extrude', '1');
$lineNode->appendChild($exnode);
$almodenode =$dom->createElement(altitudeMode,'relativeToGround');
$lineNode->appendChild($almodenode);
$outerboundnode = $dom->createElement('outerBoundaryIs');
$placeNode = $placeNode->appendChild($outerboundnode);
$ringnode =$dom->createElement('LinearRing');
$placeNode = $placeNode->appendChild($ringnode);
// optional styletag colors the polygon
//$stylenode =$dom->createElement(styleUrl,'#transYellowPoly');
//$lineNode->appendChild($stylenode);
//Create a coordinates element and give it the value of the lng and lat columns from the results
//$coorNode = $dom->createElement('coordinates',$row['coordinates']);
$coorNode = $dom->createElement('coordinates',$coordinates);
$placeNode = $placeNode->appendChild($coorNode);