$geom_type = $gis_data['gis_type']; // Generate parameters from value passed. $gis_obj = GISFactory::factory($geom_type); if (isset($_REQUEST['value'])) { $gis_data = array_merge($gis_data, $gis_obj->generateParams($_REQUEST['value'])); } // Generate Well Known Text $srid = isset($gis_data['srid']) && $gis_data['srid'] != '' ? htmlspecialchars($gis_data['srid']) : 0; $wkt = $gis_obj->generateWkt($gis_data, 0); $wkt_with_zero = $gis_obj->generateWkt($gis_data, 0, '0'); $result = "'" . $wkt . "'," . $srid; // Generate SVG based visualization $visualizationSettings = array('width' => 450, 'height' => 300, 'spatialColumn' => 'wkt'); $data = array(array('wkt' => $wkt_with_zero, 'srid' => $srid)); $visualization = GISVisualization::getByData($data, $visualizationSettings)->toImage('svg'); $open_layers = GISVisualization::getByData($data, $visualizationSettings)->asOl(); // If the call is to update the WKT and visualization make an AJAX response if (isset($_REQUEST['generate']) && $_REQUEST['generate'] == true) { $extra_data = array('result' => $result, 'visualization' => $visualization, 'openLayers' => $open_layers); $response = PMA\libraries\Response::getInstance(); $response->addJSON($extra_data); exit; } ob_start(); echo '<form id="gis_data_editor_form" action="gis_data_editor.php" method="post">'; echo '<input type="hidden" id="pmaThemeImage"', ' value="', $GLOBALS['pmaThemeImage'], '" />'; echo '<div id="gis_data_editor">'; echo '<h3>'; printf(__('Value for the column "%s"'), htmlspecialchars($_REQUEST['field'])); echo '</h3>'; echo '<input type="hidden" name="field" value="' . htmlspecialchars($_REQUEST['field']) . '" />';