Esempio n. 1
0
 public function OnPointLoopFinished(SvgRenderer $svgRender, Trajet $trajet)
 {
     $vbWidth = $this->maxX - $this->minX + $this->margin * 2;
     $vbHeight = $this->maxZ - $this->minZ + $this->margin * 2;
     $svgRender->addAttribut(array('width' => $vbWidth));
     $svgRender->addAttribut(array('height' => $vbHeight));
     $svgRender->addAttribut(array('viewBox' => '' . ($this->minX - $this->margin) . ' ' . ($this->minZ - $this->margin) . ' ' . $vbWidth . ' ' . $vbHeight));
 }
Esempio n. 2
0
 /**
  * Crée un document SVG avec une représentation simple
  * de l'itinéraire
  * @param Trajet $trajet
  * @return mixed
  */
 public static function asSVG(Trajet $trajet)
 {
     $svgrendu = new SvgRenderer();
     $pathRender = new SvgPathPoint(5, 'red');
     $pathRender->getPath()->addAttribut(array('id' => 'route'));
     $svgSizeRender = new SvgComputeSize(true, 100);
     $PoiRender = new SvgPoiRenderer();
     $svgrendu->attach($pathRender);
     $svgrendu->attach($svgSizeRender);
     $svgrendu->attach($PoiRender);
     return $svgrendu->render($trajet);
 }
Esempio n. 3
0
 public function onPointLoop(SvgRenderer $svgRender, Trajet $trajet, IPoint $point, $precPoint, $index)
 {
     if ($point instanceof PointInteret) {
         $svgCircle = new SvgNode('circle', true);
         $svgCircle->addAttribut(array('cx' => $point->getX()));
         $svgCircle->addAttribut(array('cy' => $point->getZ()));
         $svgCircle->addAttribut(array('r' => 12));
         $svgCircle->addAttribut(array('stroke' => 'orange'));
         $svgCircle->addAttribut(array('stroke-width' => 2));
         $svgCircle->addAttribut(array('fill' => 'limegreen'));
         $text = new SvgNode('text', false);
         $text->addAttribut(array('x' => $point->getX() + 15));
         $text->addAttribut(array('y' => $point->getZ() + 10));
         $text->addAttribut(array('style' => 'fill: orange; stroke: orange; stroke-width: 0px; font-size: 30px; font-weight: bold;'));
         $text->setTexte($point->getNom());
         $svgRender->addNoeud($text, 3);
         $svgRender->addNoeud($svgCircle, 2);
     }
 }
Esempio n. 4
0
// TODO Revoir la structure de l'index
try {
    // Initialisation de la connexion à la base de données PostGres
    // renseignée dans le fichier PgrImplementation/config.ini
    $co = new PgrImplementation\PgDefaultConnexion();
    // Création de l'objet gérant l'accès aux tables d'une map
    $map = new PgrImplementation\PgMapTable("V5", $co, false);
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        header('Content-Type: image/svg+xml');
        header('charset=utf-8');
        header('Vary: Accept-Encoding');
        if (isset($_POST['depart'])) {
            $depart = new PgrImplementation\PgEtapeNommee($_POST['depart'], $map);
            if (isset($_POST['arrivee'])) {
                $arrivee = new \PgrImplementation\PgEtapeNommee($_POST['arrivee'], $map);
                $itineraire = new PgrImplementation\PgItineraire($depart, $arrivee, $map);
                $trajet = $itineraire->calculerItineraire();
                echo \Itineraire\Renderer\Svg\SvgRenderer::asSVG($trajet);
            }
        }
    } else {
        header('Content-Type: text/html');
        header('charset=utf-8');
        header('Vary: Accept-Encoding');
        $gis = new \PgrImplementation\GisManager($map);
        $destinations = $gis->getAllDestination();
        include 'templatePageTest.php';
    }
} catch (Exception $e) {
    echo $e->getMessage();
}
Esempio n. 5
0
 public function OnPointLoopFinished(SvgRenderer $svgRender, Trajet $trajet)
 {
     $this->path->addAttribut(array("d" => $this->pathLine));
     $svgRender->addNoeud($this->getPath());
 }