como mencionado acima, o seguinte tutorial do Google Maps responde sua pergunta QUASE completamente:http://code.google.com/apis/kml/articles/phpmysqlkml.html
infelizmente, ele não propõe código para análise de polígonos (que você precisará, se estiver gerenciando a exibição de áreas de fazenda), mas você pode adaptar o método de análise LinesString e alcançá-lo. cuidado ao incorporar corretamente a tag outerBoundaryIs na tag Polygon E lembre-se que você deve duplicar o ponto inicial para que o polígono seja desenhado corretamente.
$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);