Fonction PL/PGSQL permettant la génération de GPolyline

Vous trouverez ici le code d'une fonction PL/PGSQL permettant de produire des fichiers XML utilisable depuis l'API Google Map pour produire des GPolyline.

"

CREATE OR REPLACE FUNCTION extractGPolyline(wkb geometry,color text,width int,html text) RETURNS text AS $$
DECLARE
    ret text;
    rett text;
    i int;
    mymax int;
    tmp geometry;
    rec record;
BEGIN
    i:=1;
    ret:='';
    SELECT Simplify(tmp,10) into tmp;
    SELECT NumPoints(tmp) INTO mymax;
    ret:='
';
    WHILE i <= mymax LOOP
        BEGIN
            SELECT '' INTO rett;
            ret:=ret||''||rett;
        EXCEPTION WHEN OTHERS         THEN
            RAISE NOTICE 'ERROR ON :%',AsText(wkb);
            RETURN FALSE;
        END;
        i=i+1;
    END LOOP;
    ret:=ret||'
';
    RETURN ret;
END;
$$ LANGUAGE plpgsql;

Temps d'exécution obtenus lors de l'utilisation de cette fonction sur un ensemble de 10000 LINESTRING avec la fonction simplify :

real 1m4.948s
user 0m0.550s
sys 0m0.050s

La production de tels fichiers xml n'est donc pas très couteuse. Par contre l'utilisation en l'état du document xml produit depuis cet exemple demande d'utiliser un seuil de zoom minimum pour que l'affichage des GPolyline ne ralentisse pas trop l'application GMap que vous utilisez.

Posted in Le blogue de djay | Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | printer friendly version | 3281 lectures

Posté par djay le 10 Mai, 2008 - 15:39.

Accéder aux archives

« Novembre 2024  
Lun Mar Mer Jeu Ven Sam Dim
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Ouverture de session

Qui est en ligne

Il y a actuellement 1 utilisateur et 156 invités en ligne.
Locations of visitors to this page
Drupal Top Sites - Ultimate Drupal Exposure