SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 189 visiteurs en ce moment

Accueil > Géo, carto, météo > GIS > GIS Geometries > GIS Geometries

GIS Geometries

19 mars 2014 – par b_b – 54 commentaires

15 votes

Ce plugin ajoute au plugin GIS la possibilité d’afficher et d’éditer des formes géométriques.

Avertissement : ce plugin ne fonctionne que sur les sites qui utilisent une base de données MySQL en version 4.1 minimum, car la gestion des données spatiales est uniquement disponible depuis cette version. La compatibilité avec les bases SQLite sera peut-être ajoutée par la suite.

Présentation et installation

GIS Geometries est une extension du plugin GIS, il est donc nécessaire d’installer celui-ci auparavant.

Le plugin utilise les librairies Leaflet Draw et geoPHP. Cette dernière sera téléchargée automatiquement lors de l’activation du plugin GIS Gemoetries.

Fonctionnalités :

  • possibilité de dessiner des formes géométriques à la main
  • possibilité de définir le style des formes géométriques (si l’option correspondante est activée dans la page de configuration de GIS)
  • import/export les données aux formats GPX et KML.

Fonctionnement

Dans l’espace privé

Lors de la création d’un nouvel objet géolocalisé, le plugin ajoute trois boutons visibles sous les boutons de zoom dans la capture d’écran suivante. Ces boutons permettent de choisir le type de forme à dessiner : un point, un polygone ou une ligne.

Après avoir cliqué sur le type de forme souhaité, vous pouvez commencer à tracer la forme en cliquant sur la carte.

Le plugin ajoute aussi un champ « Importer » dans le formulaire afin de créer une forme géométrique à partir d’un fichier GPX ou KML. Il devient ainsi possible d’importer des formes complexes comme les contours d’un département par exemple (récupérés depuis le site karamelise.fr par exemple).

Une fois importés ou dessinés, les objets géolocalisés du site peuvent être exportés au format GPX ou KML depuis leur page de « vue ».

Lors de la modification d’un objet géolocalisé il est possible de :

  • déplacer un point de l’objet en le faisant glisser,
  • supprimer un point de l’objet en cliquant sur celui-ci,
  • ajouter un nouveau point intermédiaire en cliquant sur celui-ci.

Dans l’espace public

Vous n’avez rien à faire de spécial :) Les squelettes JSON fournis par GIS prennent automatiquement l’affichage des nouveaux types d’objets dans les cartes de votre site.

Si vous utilisez des anciens squelettes JSON personnalisés, vous pouvez les adapter à GIS Geometries en remplaçant :

"geometry": {"type": "Point", "coordinates": [#LON, #LAT]},

par :

["geometry": (#GEOMETRY|wkt_to_json),]

Ainsi vos squelette persos prendront en charge les lignes et les polygones en plus des points.

Remarques

Si vous désactivez GIS Geometries les lignes et les polygones de vos cartes seront affichés sous forme de points correspondants au centre de la forme géométrique.

Malgré cela, il est recommandé de désinstaller le plugin si vous n’en avez plus besoin, afin d’être certain d’effacer le champ geo (de type GEOMETRY) de la table gis, sans quoi vous rencontrerez une erreur SQL lors de la création d’un nouveau point avec GIS.

Si votre carte affiche des lignes ou des polygones, l’activation du clustering fonctionnera uniquement sur les points (cf paramètre cluster du modèle de GIS), et les autres formes ne seront pas affichées.

Voir en ligne : http://plugins.spip.net/gisgeom

P.-S.

Notes de développement : http://labo.eliaz.fr/spip.php?article100

Dernière modification de cette page le 27 mars 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 22 mars 2016 à 10:09, par RealET En réponse à : GIS Geometries

    Est-ce qu’il serait possible de rajouter une zone permettant de choisir la couleur et son niveau de transparence ?

    J’ai essayé par ailleurs d’exporter au format kml, de rajouter :

            <Style>
              <PolyStyle>  
               <color>#a00000ff</color>
              <outline>0</outline>
              </PolyStyle>
             </Style>       

    Et de réimporter dans GIS géométrie, mais le polygone est resté bleu.

    Doc utilisée : http://dagik.org/kml_intro/E/polygon.html

    • Le 5 avril 2016 à 14:34, par b_b En réponse à : GIS Geometries

      Pour info, nouveauté dans la version 1.8.0 : on peut maintenant définir les options de styles des formes géométriques (couleur, opacité, épaisseur du trait, couleur de remplissage et opacité du remplissage).

      Et hop :)

    • Le 15 avril 2016 à 14:45, par Michel En réponse à : GIS Geometries

      Effectivement cette fonction est très pratique et permet la création de polygones ou de lignes de couleurs différentes ce qui rend ces signalisations plus efficaces.
      Mais comme je suis Monsieur +, serait-il possible que la fonction plein écran de visualisation puisse exister lors de la création des polygones , points et lignes, pour permettre une plus grande précision qu’avec la petite fenêtre lors de leur création ?
      Merci beaucoup ! Bravo pour cet outils très utile et très complet !
      Michel
      http://laccreteil.fr

    • Le 21 juin à 11:21, par Michel En réponse à : GIS Geometries

      Bonjour,
      Pas eu de retour à la question ci-dessus depuis le 15 avril 2016.
      La question est toujours d’actualité, pour permettre une plus grande précision qu’avec la petite fenêtre (côté privé - création de formes).
      Merci.
      Michel
      http://laccreteil.fr

    • Le 21 juin à 11:35, par b_b En réponse à : GIS Geometries

      Hop,

      Pas eu de retour à la question ci-dessus depuis le 15 avril 2016.

      Et oui, parfois les gens ne sont pas disponibles pour faire du SAD, désolé :)

      Concernant la demande d’évolution, oui ça pourrait être possible, mais le problème est que si j’ajoute cette option, elle sera présente dans toutes les cartes d’édition dans l’espace privé, pour toutes les installations du plugin. Amha cette fonctionnalité devrait être optionnelle, mais je ne pense qu’il faille surcharger la page de configuration du plugin avec ça. Je propose donc de la rendre disponible par le biais d’un define qui pourrait être personnalisé dans le fichier mes_options.php du site qui souhaite l’activer.

    • Le 21 juin à 12:04, par Michel En réponse à : GIS Geometries

      Merci, pour ce retour extrêmement rapide !
      -  Il existe un bouton, sur l’affichage public si on paramètre du côté privé son affichage.
      Il semblerait donc intéressant d’en permettre l’affichage lors de la création d’un point, une ligne, trace, polygone, etc. par une case à cocher/décocher sous la carte lors de la création ou de la modification, avec alerte lors de l’enregistrement (si vous le souhaitez - pour sécuriser la manie))
      -  Vous aurez alors un véritable outil d’édition en plein écran ou dans une fenêtre redimensionnable (si c’est possible).
      Imaginez ceux qui doivent faire des formes complexes, mais qui disposent d’écrans de 24« ou 27 », ce serait le pied !

      Michel
      http://laccreteil.fr

    • Le 21 juin à 12:40, par b_b En réponse à : GIS Geometries

      par une case à cocher/décocher sous la carte lors de la création ou de la modification, avec alerte lors de l’enregistrement

      Justement non, je souhaite aussi éviter de surcharger le formulaire d’édition avec une case à cocher qui en plus demanderait deux clics pour passer en plein écran (cocher la case pour voir le bouton, puis cliquer sur le bouton).

      L’option que je propose permettrait d’afficher le bouton plein écran tout le temps dans les sites qui l’auraient activé, ça me semble bien plus simple et efficace.

    • Le 21 juin à 13:00, par Michel En réponse à : GIS Geometries

      Pour ma part, j’ai mes outils d’édition, qui me permettent un travail en plein écran.
      C’est pourquoi, en me mettant à la place de ceux qui n’en disposent pas, je vous ai fait cette proposition d’amélioration, car la petite fenêtre du secteur privé est beaucoup plus difficile d’utilisation.
      Sachant que la visualisation en plein écran du côté public peut être utile, mais pas autant que du côté privé lors de créations d’éléments qui peuvent être complexes.
      Pour ma part, je suis OK pour l’option proposée qui permettrait d’afficher le bouton plein écran tout le temps dans les sites qui l’auraient activé, sachant que pour ma part je pourrai l’activer ou la désactiver en modifiant le fichier mes_options.php, ce qui n’est peut-être pas le cas de tout un chacun.
      C’est à eux que je pensais !
      Merci pour tout !
      Michel.
      http://laccreteil.fr

    Répondre à ce message

  • Le 20 mai à 11:59, par Rainer Müller En réponse à : GIS Geometries

    Salut b_b,

    Je suis en train d’écrire un plugin qui importe les communes belges comme point gis.

    Quand j’importe j’obtiens un « Cannot get geometry object from data you send to the GEOMETRY field »

    la fonction d’import et la suivante

    1. function gis_cb_importer_points() {
    2. $json = json_decode(file_get_contents(__DIR__ . '/../data/complete_data.json'), TRUE);
    3. $set = array();
    4. foreach($json AS $values) {
    5. $nom_fr = $values['Name']['fr'];
    6. $nom_nl = isset($values['Name']['nl']) ? $values['Name']['nl'] : $nom_fr;
    7. $polygon = array('type' => 'Feature','geometry' => $values['POLYGON']);
    8. $wkt = json_to_wkt(json_encode($polygon));
    9. $set = array(
    10. 'titre' => '<multi>[fr]' . $nom_fr. '[nl]' . $nom_nl. '</multi>',
    11. 'lat' => $values['lat'],
    12. 'lon' => $values['lng'],
    13. 'geo' => "GeomFromText('$wkt')",
    14. 'zoom' => 11,
    15. 'type' => 'Multipolygon',
    16. 'pays' => '<multi>[fr]Belgique[nl]België</multi>',
    17. 'code_pays' => 'BE',
    18. 'ville' => '<multi>[fr]' . $nom_fr. '[nl]' . $nom_nl. '</multi>',
    19. 'code_postal' => $values['zip'],
    20. );
    21. }
    22. sql_insertq_multi('spip_gis' , $set);
    23. }

    Télécharger

    et la source : https://raw.githubusercontent.com/abelass/spip_gis_communes_belges/master/data/complete_

    je ne comprends pas comme importer correctement le multipolygone dans la bd. Est-ce que tu aurais une idée ?

    Merci
    Rainer

    Répondre à ce message

  • Le 10 avril à 13:42, par graphie En réponse à : GIS Geometries

    Bonjour b_b,

    Sur un point qui contient une kml importée : si on supprime ce tracé + enregistrer, on ne dispose plus de l’input pour importer un nouveau kml. Il ne reste plus que le choix d’ajouter un marker, trait, polygone.

    ... où bien ai-je oublié quelque chose ?

    françois

    • Le 15 mai à 16:38, par b_b En réponse à : GIS Geometries

      Oui c’est voulu, car une fois un objet créé son type de forme est gravé dans le marbre, et comme l’import d’un kml peut faire varier ce type, on ne le propose qu’à la création (désolé pour le délai de réponse).

    • Le 15 mai à 19:19, par graphie En réponse à : GIS Geometries

      OK, je comprends le principe.

      Merci pour ta réponse ;-)

    Répondre à ce message

  • Le 13 avril 2016 à 09:44, par Michel En réponse à : GIS Geometries

    Bonjour,
    Bravo et merci beaucoup, pour vos réalisations, qui disposent de nombreuses fonctionnalités.
    Je suis un peu « Monsieur + », en effet pour pouvoir réaliser des polygones plus précis (ou des lignes, des traces), serait-il possible de choisir le mode « plein écran » qui existe du côté public, mais pas privé ?
    Bonne journée.
    Michel
    http://laccreteil.fr

    Répondre à ce message

  • Le 1er avril 2016 à 06:55, par RealET En réponse à : GIS Geometries

    cluster=oui est-il incompatible avec Géométrie ?

    J’ai cette erreur dans la console (avec Opera Chromium) :
    VM4084:8 Uncaught TypeError : Cannot read property ’lat’ of null

    Le code d’appel :

    1. [(#INCLURE{fond=modeles/carte_gis,id_article,autocenterandzoom=oui,hauteur=#CONFIG{soyezcreateurs_layout/hauteurgisarticles,400px},cluster=oui,maxClusterRadius=40,clusterShowCoverageOnHover=oui,clusterSpiderfyOnMaxZoom=oui,fullscreen=oui})]

    Si j’enlève le « cluster=oui, », je n’ai plus d’erreur et ma carte s’affiche.

    • Le 3 avril 2016 à 13:12, par RealET En réponse à : GIS Geometries

      Ah, c’était dans la doc juste au-dessus : « Si votre carte affiche des lignes ou des polygones, veillez bien à ne pas activer le clustering. »

      Mais, ceci lu, est-ce qu’il ne serait pas pertinent :

      • de mettre le champ type dès GIS et pas rajouté par GISGEOM avec comme valeur par défaut : Point
        ainsi, on pourrait mettre dans toutes les boucles de GIS type ? sans que ça plante le compilo si GISGEOM n’est pas installé
      • et faire un layer par type de données(ce qui permettrait d’avoir le clustering quand même sur les points seuls, et des polygon)
      • ça donnerait aussi une voie pour résoudre un autre bug : si on active GISGEOM, il n’est plus possible d’avoir un images/marker_default.png
    • Le 3 avril 2016 à 14:02, par RealET En réponse à : GIS Geometries

      Bug de images/marker_default.png résolu par http://zone.spip.org/trac/spip-zone/changeset/96411

      Merci

    • Le 5 avril 2016 à 12:56, par b_b En réponse à : GIS Geometries

      Le bug du cluster est « corrigé » et la doc est à jour sur ce point, cf :

      Si votre carte affiche des lignes ou des polygones, l’activation du clustering fonctionnera uniquement sur les points (cf paramètre cluster du modèle de GIS), et les autres formes ne seront pas affichées.

    Répondre à ce message

  • Le 8 octobre 2015 à 22:39, par graphie En réponse à : GIS Geometries

    b_b,

    Peut-on passer des paramètres pour interagir avec la couleur/transparence d’un polygone, du style :

    1. <carte_gis1|id_article=3|zoom=8|color=green|weight=1|opacity=0.3|fillOpacity=0.2>

    au lieu de modifier en dur les paramètres dans leaflet-src.js, ligne 8768 et suivantes ?

    Merci,
    françois

    • Le 8 octobre 2015 à 22:49, par graphie En réponse à : GIS Geometries

      Oups : surement un bonne piste ici, comme indiqué dans la doc de GIS :
      http://leafletjs.com/reference.html#path-options

    • Le 8 octobre 2015 à 23:00, par graphie En réponse à : GIS Geometries

      Hmmmm,

      1. path_styles=#ARRAY{color,green}

      ne semble pas faire son effet... vert ;)

    • Le 9 octobre 2015 à 09:39, par b_b En réponse à : GIS Geometries

      http://leafletjs.com/reference.html#path-color attend un code couleur plutôt qu’un nom ;)

    • Le 9 octobre 2015 à 11:02, par graphie En réponse à : GIS Geometries

      J’ai essayé plusieurs méthodes couleurs :

      1. <carte_gis1|id_article=4|path_styles=#ARRAY{color,#000}>

      ne fonctionne pas non plus.

      Pourtant dans le fichier leaflet-src.js :

      1. options: {
      2. stroke: true,
      3. color: 'blue',//fpradignac
      4. dashArray: null,
      5. lineCap: null,
      6. lineJoin: null,
      7. weight: 1,//fpradignac
      8. opacity: 0.3,//fpradignac
      9. fill: false,
      10. fillColor: null, //same as color by default
      11. fillOpacity: 0.15,
      12. clickable: true
      13. },

      Télécharger

      prend bien du bleu et un trait de 1px de large :(

    • Le 9 octobre 2015 à 11:12, par b_b En réponse à : GIS Geometries

      Ha mais oui, pas certain que ça passe en l’utilisant depuis le modèle, voilà comment je l’utilise depuis un appel dans un squelette :

      [(#INCLURE{fond=modeles/carte_gis,id_gis,
              id_map=_album,
              centrer_auto=oui,
              path_styles=#ARRAY{color,#00c0f8,weight,3,opacity,1,dashArray,5,}
      })]
    • Le 19 février 2016 à 07:56, par Michel En réponse à : GIS Geometries

      Bonjour,
      Ne serait-il pas possible de permettre un choix de coloris pour les lignes et les polygones (ligne et remplissage - si possible choix différents pour ces deux éléments), comme cela se fait pour le choix du logo (Qui disparait lorsque l’on utilise ces deux choix et non un point) ?

      Merci beaucoup, pour la richesse des fonctions et des variables !

      Michel

    Répondre à ce message

  • Le 7 mai 2014 à 16:41, par perig En réponse à : GIS Geometries

    Merci pour ce plugin qui est un précieux complément au plugin GIS.
    Serait-il possible d’envisager une amélioration permettant de dessiner plusieurs polygones pour un même point.
    Ce serait utile pour certaines cartes. Par exemple, le golfe du Morbihan, composé de plus d’une centaine d’îles. Ou plus simplement, la France et la Corse ensemble... etc.

    Pierrick

    • Le 7 mai 2014 à 18:41, par b_b En réponse à : GIS Geometries

      Salut, non l’interface ne permet pas de dessiner plusieurs formes par objet. Par contre, c’est possible en important un kml ou un gpx.

    • Le 8 octobre 2015 à 19:52, par graphie En réponse à : GIS Geometries

      Déterrage : on peut néanmoins ajouter plusieurs points sur un article et appeler la combinaison des différents points dans cet article ou dans un autre, ou dans une rubrique ou une brève :

      1. <carte_gis1|id_article=3|zoom=8|limit=100|scale=oui>

    Répondre à ce message

  • Le 8 octobre 2015 à 12:26, par graphie En réponse à : GIS Geometries

    Bonsoir b_b,

    Avec SPIP 3.1.0-beta et GIS4 + GIS Géométries à jours ;), voici ce que je reproduis :

    -  ajout d’un nouveau point : import d’un KML
    -  enregistrer : le KML est importé et visible, mais le titre n’est pas enregistré (input vide) il faut ressaisir et recliquer sur enregistrer

    -  retour sur le point, modification du point : les 3 outils de tracé ne sont plus disponibles, mais on peut déplacer les points du KML (peut-être normal ?)
    -  on ne peut pas importer une nouvelle KML (peut-être normal aussi ?)

    Le SPIP 3.1.0 n’est pas neuf ;) mais j’ai désactivé les autres plugins.


    Bon, je viens d’installer une SPIP 3.1.0-beta neuve et je reproduis la même erreur avec le log suivant :

    2015-10-08 06:48:09 ::1 (pid 713) :Pri:ERREUR : Erreur mysql 1416
    2015-10-08 06:48:09 ::1 (pid 713) :Pri:ERREUR : Erreur mysql 1416
    2015-10-08 06:48:09 ::1 (pid 713) :Pri:ERREUR : Erreur 1416 de mysql : Cannot get geometry object from data you send to the GEOMETRY field
    in /Applications/MAMP/SITES/_spip31gis/plugins/auto/gis/v4.31.4/action/editer_gis.php L38 [sql_insertq(),gis_inserer(),action_editer_gis_dist(),formulaires_editer_objet_traiter(),formulaires_editer_gis_traiter_dist(),call_user_func_array(),traiter_formulaires_dynamiques()]
    INSERT INTO spip_gis () VALUES ()

    Aucun autre plugin installé. Si ça te parles b_b ;)

    • Le 8 octobre 2015 à 12:32, par b_b En réponse à : GIS Geometries

      Salut Graphie,

      retour sur le point, modification du point : les 3 outils de tracé ne sont plus disponibles, mais on peut déplacer les points du KML (peut-être normal ?)

      Oui c’est normal, un gis (point, ligne, etc) peut être modifié uniquement

      on ne peut pas importer une nouvelle KML (peut-être normal aussi ?)

      Normal aussi, un gis contient une unique forme géométrique, donc pas moyen d’importer deux kml sur le même gis.

      Pour l’erreur sql, j’ai trouvé l’origine du problème. Cela se produit uniquement avec les tables en InnoDB. J’ai un patch pour fixer le bug, mais je vais peut-être plutôt forcer le passage de la table spip_gis en MyISAM.

    • Le 8 octobre 2015 à 13:27, par b_b En réponse à : GIS Geometries

      Voilà qui devrait fixer le bug en attendant mieux :

      http://zone.spip.org/trac/spip-zone/changeset/92222

      ++

    • Le 8 octobre 2015 à 19:38, par graphie En réponse à : GIS Geometries

      Parfait ;) Cool.

      Merci b_b

    Répondre à ce message

  • Le 4 octobre 2015 à 14:54, par Artlogic En réponse à : GIS Geometries

    Salut,

    J’ai installé Gis Géométrie et dès lors je ne peux plus ajouter de points sur les cartes. J’ai vidé le cache, mis à jour GIS, rien de rein. Quand j’ajoute un point, petite croix rouge, Niet Nada keutchi le formulaire tousse. Jamais vu le moindre polygone sur la carte, ni de champs suplémentaire pour ajouter un kml, rien de rien en interne.

    Suis sur open street map + surcouche France.

    De quoi ça vient c’t’affaire ?

    • Le 5 octobre 2015 à 09:55, par b_b En réponse à : GIS Geometries

      Ton « rapport de bug » manque un peu d’info, pas moyen de t’en dire plus pour l’instant...

      Erreur javascript ? Champs ajoutés par le plugin bien présent dans la base (champ geo sur la table spip_gis) ?

    Répondre à ce message

  • Le 26 août 2015 à 10:44, par Julien En réponse à : GIS Geometries

    Icône perso

    Bonjour,

    Sur un GIS géo, je souhaite que les points seuls aient un marqueur avec une image png. Je change donc le json, avec après la description :

    « description » :[(#TEXTE|video_responsive|json_encode)],
    « icon » : « \/squelettes\/images\/marker_defaut.png »,
    « icon_size » : [10,10],
    « icon_anchor » : [5,5]

    Cela marche très bien sous GIS (le json est valide) mais pas avec Gis Géo. Une idée . Pour voir c’est ici : http://moduloo.net/spip.php?rubrique45&var_mode=recalcul

    Merci (encore) de l’aide apportée.

    PS : la ligne [« geometry » : (#GEOMETRY|wkt_to_json),] est modifiée (sans la personnalisation des marqueurs, tout marche bien)

    Julien

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • ScolaSPIP 4

    19 janvier 2016 – 213 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • MediaBox

    10 mai 2010 – 514 commentaires

    Avertissement Le présent plugin est installé et activé par défaut sur toute les version de SPIP > 3.0. Inutile donc de l’installer manuellement sauf si vous utilisez SPIP 2.1. Aperçu La MediaBox est une Boîte multimédia polyvalente et (...)

  • Sommaire automatique

    31 janvier 2013 – 14 commentaires

    Ce plugin repère les intertitres des textes de vos articles et s’en sert pour génèrer un sommaire. Ce dernier peut être inséré automatiquement au début de chaque article, ou utilisé dans les squelettes pour générer un sommaire sur n’importe quel autre (...)

  • La Fabrique

    20 avril 2012 – 316 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)

  • Enluminures typographiques V3

    25 juillet 2009 – 186 commentaires

    Les Enluminures typographiques V3 permettent d’ajouter au Porte plume les raccourcis typographiques présents dans le Plugin Barre Typographique Enluminée. C’est une extension du PortePlume. Pour la documentation d’usage, se reporter à celle du (...)

Ça spipe par là