Exemplo n.º 1
0
 /**
  * Returns the singleton instance of geometric class of the given type.
  *
  * @param string $type type of the geometric object
  *
  * @return PMA_GIS_Geometry the singleton instance of geometric class
  *                          of the given type
  *
  * @access public
  * @static
  */
 public static function factory($type)
 {
     include_once './libraries/gis/pma_gis_geometry.php';
     $type_lower = strtolower($type);
     if (!file_exists('./libraries/gis/pma_gis_' . $type_lower . '.php')) {
         return false;
     }
     if (include_once './libraries/gis/pma_gis_' . $type_lower . '.php') {
         switch (strtoupper($type)) {
             case 'MULTIPOLYGON':
                 return PMA_GIS_Multipolygon::singleton();
             case 'POLYGON':
                 return PMA_GIS_Polygon::singleton();
             case 'MULTIPOINT':
                 return PMA_GIS_Multipoint::singleton();
             case 'POINT':
                 return PMA_GIS_Point::singleton();
             case 'MULTILINESTRING':
                 return PMA_GIS_Multilinestring::singleton();
             case 'LINESTRING':
                 return PMA_GIS_Linestring::singleton();
             case 'GEOMETRYCOLLECTION':
                 return PMA_GIS_Geometrycollection::singleton();
             default:
                 return false;
         }
     } else {
         return false;
     }
 }
 /**
  * Returns the singleton instance of geometric class of the given type.
  *
  * @param string $type type of the geometric object
  *
  * @return PMA_GIS_Geometry the singleton instance of geometric class
  *                          of the given type
  *
  * @access public
  * @static
  */
 public static function factory($type)
 {
     include_once './libraries/gis/GIS_Geometry.class.php';
     $type_lower = strtolower($type);
     $file = './libraries/gis/GIS_' . ucfirst($type_lower) . '.class.php';
     if (!PMA_isValid($type_lower, PMA_Util::getGISDatatypes()) || !file_exists($file)) {
         return false;
     }
     if (include_once $file) {
         switch (strtoupper($type)) {
             case 'MULTIPOLYGON':
                 return PMA_GIS_Multipolygon::singleton();
             case 'POLYGON':
                 return PMA_GIS_Polygon::singleton();
             case 'MULTIPOINT':
                 return PMA_GIS_Multipoint::singleton();
             case 'POINT':
                 return PMA_GIS_Point::singleton();
             case 'MULTILINESTRING':
                 return PMA_GIS_Multilinestring::singleton();
             case 'LINESTRING':
                 return PMA_GIS_Linestring::singleton();
             case 'GEOMETRYCOLLECTION':
                 return PMA_GIS_Geometrycollection::singleton();
             default:
                 return false;
         }
     } else {
         return false;
     }
 }
 /**
  * Returns the singleton instance of geometric class of the given type.
  *
  * @param string $type type of the geometric object
  *
  * @return PMA_GIS_Geometry the singleton instance of geometric class
  *                          of the given type
  *
  * @access public
  * @static
  */
 public static function factory($type)
 {
     include_once './libraries/gis/GIS_Geometry.class.php';
     /** @var PMA_String $pmaString */
     $pmaString = $GLOBALS['PMA_String'];
     $file = './libraries/gis/GIS_' . ucfirst($pmaString->strtolower($type)) . '.class.php';
     if (!file_exists($file)) {
         return false;
     }
     if (include_once $file) {
         switch ($pmaString->strtoupper($type)) {
             case 'MULTIPOLYGON':
                 return PMA_GIS_Multipolygon::singleton();
             case 'POLYGON':
                 return PMA_GIS_Polygon::singleton();
             case 'MULTIPOINT':
                 return PMA_GIS_Multipoint::singleton();
             case 'POINT':
                 return PMA_GIS_Point::singleton();
             case 'MULTILINESTRING':
                 return PMA_GIS_Multilinestring::singleton();
             case 'LINESTRING':
                 return PMA_GIS_Linestring::singleton();
             case 'GEOMETRYCOLLECTION':
                 return PMA_GIS_Geometrycollection::singleton();
             default:
                 return false;
         }
     } else {
         return false;
     }
 }
 /**
  * Returns the singleton.
  *
  * @return PMA_GIS_Multipolygon the singleton
  * @access public
  */
 public static function singleton()
 {
     if (!isset(self::$_instance)) {
         $class = __CLASS__;
         self::$_instance = new $class();
     }
     return self::$_instance;
 }
Exemplo n.º 5
0
 /**
  * test case for prepareRowAsOl() method
  *
  * @param string $spatial    GIS MULTIPOLYGON object
  * @param int    $srid       spatial reference ID
  * @param string $label      label for the GIS MULTIPOLYGON object
  * @param string $fill_color color for the GIS MULTIPOLYGON object
  * @param array  $scale_data array containing data related to scaling
  * @param string $output     expected output
  *
  * @return void
  * @dataProvider providerForPrepareRowAsOl
  */
 public function testPrepareRowAsOl($spatial, $srid, $label, $fill_color, $scale_data, $output)
 {
     $this->assertEquals($output, $this->object->prepareRowAsOl($spatial, $srid, $label, $fill_color, $scale_data));
 }
Exemplo n.º 6
0
 /**
  * test getShape method
  *
  * @param array  $row_data array of GIS data
  * @param string $shape    expected shape in WKT
  *
  * @dataProvider providerForTestGetShape
  * @return void
  */
 public function testGetShape($row_data, $shape)
 {
     $this->assertEquals($this->object->getShape($row_data), $shape);
 }
Exemplo n.º 7
0
 // ESRI Point
 case 1:
     include_once './libraries/gis/pma_gis_point.php';
     $gis_obj = PMA_GIS_Point::singleton();
     break;
     // ESRI PolyLine
 // ESRI PolyLine
 case 3:
     include_once './libraries/gis/pma_gis_multilinestring.php';
     $gis_obj = PMA_GIS_Multilinestring::singleton();
     break;
     // ESRI Polygon
 // ESRI Polygon
 case 5:
     include_once './libraries/gis/pma_gis_multipolygon.php';
     $gis_obj = PMA_GIS_Multipolygon::singleton();
     break;
     // ESRI MultiPoint
 // ESRI MultiPoint
 case 8:
     include_once './libraries/gis/pma_gis_multipoint.php';
     $gis_obj = PMA_GIS_Multipoint::singleton();
     break;
 default:
     $error = true;
     if (!isset($esri_types[$shp->shapeType])) {
         $message = PMA_Message::error(__('You tried to import an invalid file or the imported file contains invalid data'));
     } else {
         $message = PMA_Message::error(__('MySQL Spatial Extension does not support ESRI type "%s".'));
         $message->addParam($param);
     }