jak wspomniano powyżej, następujący samouczek Map Google odpowiada na Twoje pytanie PRAWIE całkowicie:http://code.google.com/apis/kml/articles/phpmysqlkml.html
niestety nie proponuje kodu do parsowania wielokątów (który będzie potrzebny, jeśli zarządzasz wyświetlaniem obszarów farmy), ale możesz dostosować metodę parsowania LinesString i to osiągnąć. uważaj na prawidłowe osadzenie znacznika outerBoundaryIs w znaczniku Polygon ORAZ pamiętaj, że musisz zduplikować punkt początkowy, aby wielokąt został narysowany poprawnie.
$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);