banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Tue 02 November 2010 09:53

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

[MapServer/OpenLayers] Ajout, modif, suppression vecteur

Bonjour à tous,

je vais avoir besoin de faire une interface me permettant d'ajouter, modifier, supprimer, afficher des vecteurs (issus d'un champ de type geom de postgresql (postgis).
Le serveur cartographique est mapserver.

J'ai déjà utilisé OpenLayer, donc je pensais continuer à m'appuyer là-dessus.
Pour la gestion des vecteurs, j'ai vu un tutorial sur geotribu sur feature server. Le site dédié à feature server, possède un exemple, qui de plus ne fonctionne pas ! Pas très rassurant.
Avez-vous déjà utilisé Feature Server ?
Faîtes-vous sans ? Mais comment faîtes-vous dans ce cas ?

Merci d'avance pour vos suggestions, n'hésitez pas à poster, on peut avancer aussi comme cela.

Hors ligne

 

#2 Tue 02 November 2010 10:04

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

Bonjour,

Featureserver n'est pas un projet abouti et géré dans la continuité (de ce que je sais, attention je peux me tromper). il y a plusieurs manières de gérer l'édition de vecteur côté serveur : GeoServer avec du WFS-T, MapFish server avec le protocole REST propre à MapFish ou avec vos propres scripts (PHP, Python, Java, Perl, etc.).

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Tue 02 November 2010 15:47

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

Merci pour les infos Yves.
Feature Server n'est pas assez abouti pour prendre le risque de l'utiliser, c'est noté.

Comme j'ai mapserver, ce n'est pas comme geoserver ou mapfish, des possibilités d'édition de vecteur direct.

Dans ce cas, je me retrouve avec quel choix ?
des bidouilles pour aller ensuite stocker via de l'ajax dans le bon champ geom de la bonne table ? (solution peu souhaitable)
tinyows ou autre (avez-vous déjà essayé ou eu des échos d'une cohabitation sans heurt avec MapServer ?)

Dîtes-moi un peu ce que vous en pensez.

Hors ligne

 

#4 Tue 02 November 2010 16:32

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

Bonjour,

Quand on veux construire un mur, on utilise plusieurs briques. L'important est d'avoir un ensemble cohérent wink

L'idée est d'avoir le minimum de brique pour faire le maximum (plus simple à gérer). Pour faire simplement de la mise à jour de données GeoServer est une bonne solution, si celle-ci doit être écarté il va falloir multiplier les solutions.

* MapServer + tinyOWS est une solution
* MapServer + MapFish server en est une autre.

Laquelle choisir ? Cela dépend de tes compétences et de ce que tu veux faire en plus.MapFish permet de faire d'autres choses (recherche spatiale : je tape le nom de la commune, je zoome dessus automatiquement pour donner une idée très - trop - simple).

Y.
PS : quand je dis que "Featureserver n'est pas un projet abouti" je voulais dire pas forcément d'un point de vue technique, mais plus d'un point de vue projet, plutôt un proof of concept.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#5 Wed 03 November 2010 10:19

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

Bonjour Yves et merci.

Alors, je m'y connais en programmation (xhtml, javascript (+frameworks), php). J'ai appréhendé déjà OpenLayers, car j'ai l'utilisé avec le protocole WMS afin de faire de la consultation de cartes avec activation/désactivation de layers au-dessus.
MapServer, je m'y connais à peu près.
L'install sous unix/gnu linux, je sais faire, mais évidemment cela me cause des sueurs froides dès qu'il faut en faire sur une machine en production quand même. Et donc, j'essaie de laisser le moins d'incertitude, et d'avoir des appuis en cas de souci pour me lancer.
Du coup, j'espère juste que la solution qui sera choisie, ne sera pas trop compliqué à installer sur le serveur.
Sur ce serveur, il y a déjà mapserver, phpmapscript, apache, postgresql (+postgis).


Ce que je veux faire en gros, c'est faire un éditeur cartographique où l'on va pouvoir gérer des vecteurs (donc créer, modifier (déplacer les points d'un vecteur déjà crée), supprimer).
Donc j'aurai une carte, des listes déroulantes pour choisir un lieu, des boutons pour créer (avec un popup de confirmation de création dans l'idéal), etc, ... des vecteurs.

Oui, pour feature server, je comprend et du coup, tu comprends que je ne veux pas me lancer dans une solution peu soutenu d'une communauté, ni réactif côté développement et correction de bugs.

Alors, il y aurait 2 solutions :
- tinyOWS
- MapFish

Sais-tu s'il existe un comparatif entre les 2 ? Ou sinon qu'en penses-tu ?


Merci d'avance.

Hors ligne

 

#6 Wed 03 November 2010 10:26

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

Bonjour,

Tu peux toujours écrire tes scripts PHP pour sauver les modifications que tu as faîtes côté client. À ce niveau d'utilisation tu n'as pas besoin d'une application tierce (à mon avis, mais là encore c'est très subjectif).

Pour le comparatif, je n'en connais pas et je ne pense pas que cela soit pertinent car ce sont deux choses complètements différents. MapFish est un framework python de développement d'application web cartographique.

... et puis je travaille pour la société qui l'édite.

TinyOWS est un serveur qui propose des services OGC.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#7 Wed 03 November 2010 10:41

Laurent Jégou
Participant assidu
Lieu: Toulouse
Date d'inscription: 5 Sep 2005
Messages: 447
Site web

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

Bonjour, je suis d'accord avec Yves, le plus simple dans le cas d'un stockage PostGIS, le plus simple est de passer par des scripts PHP qui vont lancer des requêtes SQL pour gérer les données.

Perso. j'utilise des fonctions ajax lancées depuis des pages utilisant OL ou GeoExt.


Enseignant-Chercheur en Géomatique
UT2J - Dept Géo / CNRS UMR LISST-Cieu / Master Sigma - Revue Mappemonde

Hors ligne

 

#8 Wed 03 November 2010 11:28

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

Bonjour à tous les 2, et merci pour vos conseils, cela fait plaisir.

Cela m'arrange effectivement de ne pas avoir à installer une nouvelle application sur le serveur de prod, et de devoir appréhender de nouvelles connaissances dans l'urgence sur MapFish ou Tiny OWS.

Donc, en résumé, je peux m'en sortir avec :
- du javascript & ajax & openlayers.
- du postgresql (+postgis)

Les scripts que vous faîtes ressemble à ceux de Delu ? cf http://georezo.net/forum/viewtopic.php?id=70250

Des conversions geojson <-> WKT semblent être fait.

J'ai oublié une fonctionnalité qui serait un plus, mais est-ce que cela vous semble quelque chose de répandu ?
Du genre, je trace une droite qui coupe un vecteur en 2. Est-ce qu'une fonctionnalité existerait pour faire ceci ?
Ou en cherchant bien, je pourrai la faire moi-même avec OL ?

Hors ligne

 

#9 Wed 03 November 2010 14:25

Laurent Jégou
Participant assidu
Lieu: Toulouse
Date d'inscription: 5 Sep 2005
Messages: 447
Site web

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

sigdu80 a écrit:

Les scripts que vous faîtes ressemble à ceux de Delu ? cf http://georezo.net/forum/viewtopic.php?id=70250

Des conversions geojson <-> WKT semblent être fait.


Oui ça part du même principe que les scripts exposés dans ce sujet. L'avatage du GeoJSON c'est qu'il est manipulé plus directement côté client par les api carto (OL, GeoEXT), alors que le WKT est plutôt utilisé côté serveur dans PostGIS. Donc la solution passe souvent par le requêtage de données au format GeoJSON dans PostGIS (fonction ST_AsGeoJSON()), et le transfert à ce format entre le serveur et le client.

Attention cependant, ces données transitent en clair sur le réseau, prévoir des procédures plus sécurisée si besoin.

sigdu80 a écrit:

J'ai oublié une fonctionnalité qui serait un plus, mais est-ce que cela vous semble quelque chose de répandu ?
Du genre, je trace une droite qui coupe un vecteur en 2. Est-ce qu'une fonctionnalité existerait pour faire ceci ?
Ou en cherchant bien, je pourrai la faire moi-même avec OL ?


Je ne connais pas d'outils qui le fasse directement, mais on doit pouvoir utiliser les fonctions d'intersection de PostGIS en ajax.


Enseignant-Chercheur en Géomatique
UT2J - Dept Géo / CNRS UMR LISST-Cieu / Master Sigma - Revue Mappemonde

Hors ligne

 

#10 Thu 04 November 2010 17:24

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [MapServer/OpenLayers] Ajout, modif, suppression vecteur

Bonjour et merci.

Ma version de postgis est 1.3.3, donc pas de fonction ST_AsGeoJSON().
Il faut que je trouve des fonctions de conversion WKT -> GeoJson ou Texte -> GeoJson (la fonction AsText fonctionne avec postgis 1.3.3).
Ou alors mettre à jour postgis mais cela me donne des sueurs froides d'avance.
Avez-vous déjà fait une mise à jour de postgis ?
Y aurait-il un tutoriel sur le sujet ?

Pour le moment, je n'ai pas trouvé de conversion possible avec OpenLayers.
Serait-ce possible ?


Pour les fonctions d'intersection, je vais jeter un oeil là-dessus.

Dernière modification par sigdu80 (Thu 04 November 2010 18:52)

Hors ligne

 

Pied de page des forums

Powered by FluxBB