Example #1
0
File: WKT.php Project: kitbs/geoPHP
 /**
  * Extract geometry to a WKT string
  *
  * @param Geometry $geometry A Geometry object
  *
  * @return string
  */
 public function extractData($geometry)
 {
     $parts = array();
     switch ($geometry->geometryType()) {
         case 'Point':
             return $geometry->getX() . ' ' . $geometry->getY();
         case 'LineString':
             foreach ($geometry->getComponents() as $component) {
                 $parts[] = $this->extractData($component);
             }
             return implode(', ', $parts);
         case 'Polygon':
         case 'MultiPoint':
         case 'MultiLineString':
         case 'MultiPolygon':
             foreach ($geometry->getComponents() as $component) {
                 $parts[] = '(' . $this->extractData($component) . ')';
             }
             return implode(', ', $parts);
         case 'GeometryCollection':
             foreach ($geometry->getComponents() as $component) {
                 $parts[] = strtoupper($component->geometryType()) . ' (' . $this->extractData($component) . ')';
             }
             return implode(', ', $parts);
     }
 }