GIS Geometries

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.

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

updated on 6 April 2020

Discussion

21 discussions

  • 1

    Bonjour b_b,
    Tout d’abord merci pour cet excellent plugin.
    J’aurais besoin d’aide, voilà en local l’installation s’est correctement déroulé. j’ai rentré tout mes points sans problème.
    J’ai installé spip 3.0.16 sur mon serveur OVH, j’ai activé tous les plugins dont GIS 4 et j’ai restauré ma base, mais j’obtiens des erreurs de squelette Erreur MySQL HY000 / 1 (voir l’image) .
    Encore merci pour ton aide. Pat

    Ma version de Mysql est 5.6.11 et j’ai restauré la base par le dump Spip

    • Salut,

      Aïe... il y a bien une incompatibilité avec les dumps de SPIP de ce côté :\

      je cite ma réponse publiée sur la page de GIS :

      GIS Geometries utilise l’extension de données spatiales de MySQL, mais les données des dumps de SPIP sont stockés dans une base SQLite. Du coup ça « casse » les dumps car SQLite ne gère pas les données spatiales par défaut...

      En attendant mieux, tu peux transférer ta base avec un dump mysql et cela fonctionnera sans pb.

    Reply to this message

Ajouter un commentaire

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom