/** * 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; } }
/** * test getShape method * * @return void */ public function testGetShape() { $row_data = array( 'numparts' => 2, 'parts' => array( 0 => array( 'points' => array( 0 => array('x' => 5.02, 'y' => 8.45), 1 => array('x' => 6.14, 'y' => 0.15), ), ), 1 => array( 'points' => array( 0 => array('x' => 1.23, 'y' => 4.25), 1 => array('x' => 9.15, 'y' => 0.47), ), ), ), ); $this->assertEquals( $this->object->getShape($row_data), 'MULTILINESTRING((5.02 8.45,6.14 0.15),(1.23 4.25,9.15 0.47))' ); }
/** * 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_Multilinestring the singleton * @access public */ public static function singleton() { if (!isset(self::$_instance)) { $class = __CLASS__; self::$_instance = new $class(); } return self::$_instance; }
/** * test case for prepareRowAsOl() method * * @param string $spatial GIS MULTILINESTRING object * @param int $srid spatial reference ID * @param string $label label for the GIS MULTILINESTRING object * @param string $line_color color for the GIS MULTILINESTRING 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, $line_color, $scale_data, $output ) { $this->assertEquals( $output, $this->object->prepareRowAsOl( $spatial, $srid, $label, $line_color, $scale_data ) ); }
switch ($shp->shapeType) { // ESRI Null Shape case 0: $gis_obj = null; break; // ESRI Point // 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;