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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 20 July 2009 09:58

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

openlayers featureserver

bonjour
je cherche à exporter mes formats WFS crées avec openlayer enregistrés dans featureserver vers postgis,
ben j'ai reussi à les enregistrer dans featureserver mais mnt je cherche à les exporter vers postgis

merci d'avance

Hors ligne

 

#2 Mon 20 July 2009 10:03

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

Re: openlayers featureserver

Bonjour,

Comment est configuré la couche où tu as enregistré tes données ? Quel est le format actuel ? FeatureServer n'est pas un format de stockage donc il y a des fichiers ou une base !

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 Mon 20 July 2009 10:18

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

Re: openlayers featureserver

bon je vous envois mon code actuel si je la mets en localhost mes WFS seront enregistrés,est ce k vous pouvez m'aider parceque pour moi c encore flou

Code:

 function init(){
            map = new OpenLayers.Map('map', {maxResolution: 360/512,  controls: []});
            var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", 
                "http://labs.metacarta.com/wms-c/Basic.py", {'layers':'basic'}); 
map.addLayers([wms]);
            

            wfs = new OpenLayers.Layer.WFS("Panneaux solaires", "featureserver.cgi/scribble?format=WFS", {maxfeatures: "100"}, {extractAttributes: true, displayInLayerSwitcher: true});
map.addLayers([wfs]);
            
            vectors = new OpenLayers.Layer.Vector("Vector Layer",{displayInLayerSwitcher: false});             
map.addLayers([vectors]);
            map.addControl(new OpenLayers.Control.EditingToolbar(vectors));

            map.addControl(new OpenLayers.Control.Navigation());
            map.addControl(new OpenLayers.Control.PanZoomBar());
            map.addControl(new OpenLayers.Control.MousePosition());           
            map.addControl(new OpenLayers.Control.LayerSwitcher());          
 
            var sf = new OpenLayers.Control.SelectFeature(wfs, {callbacks: {'over':feature_info}});
            map.addControl(sf);
            sf.activate();            
            geojson = new OpenLayers.Format.GeoJSON();
            
            map.zoomToMaxExtent();
            vectors.onFeatureInsert = function(feature) {
                lastFeature = feature;
                updateFeature();
                var json = geojson.write(feature.layer.features);
                json = json.replace(/,/g, ', ');
                document.getElementById('info').innerHTML = json;
            }
            wfs.preFeatureInsert = function(feature) {
                for(var i in feature.style) {
                    if (feature.attributes['fs:'+i]) {
                        feature.style[i] = feature.attributes['fs:'+i];
                    }}}
            featureid = 1; 
            vectors.events.on({
                "featuremodified": report,
                "featureadded": report
            });          
        }
        function updateFeature() {
            if (!lastFeature) { 
                alert("Sorry, no feature to modify.");
                return;
            }
            if ($("title").value) {            
                lastFeature.attributes['title'] = $("title").value;
                featureid++;
                $("title").value = "Feature " + featureid;
            }
             for(i=1; i<=3; i++) {
                if ($("key"+i).value && $("value"+i).value) {
                    lastFeature.attributes[$("key"+i).value] = $("value"+i).value;
                }}
            var json = geojson.write(lastFeature.layer.features);
            // not a good idea in general, just for this demo
            json = json.replace(/,/g, ', ');
            document.getElementById('info').innerHTML = json;
        }    
        function success() { 
            $('info').innerHTML = "Features uploaded to server."; 
            vectors.destroyFeatures();
            wfs.refresh();
        }        
        function upload() {
            url = "./featureserver.cgi/scribble";
            var json = geojson.write(vectors.features);
            new OpenLayers.Ajax.Request(url, 
                     {   method: 'post', 
                         postBody: json,
                         requestHeaders: ['Accept', 'application/json'],
                         onSuccess: success,
                         onFailure: function(xhr) {
                           $('info').innerHTML = "Failed upload (status code "+xhr.status+"). Check your URL."
                         }
                      }
                     );
        }
function report(event) {
  document.f1.rep.value=event.feature.geometry.getArea();

}

merci d'avance

Dernière modification par miss_cancer (Mon 20 July 2009 10:19)

Hors ligne

 

#4 Mon 20 July 2009 10:50

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

Re: openlayers featureserver

Miss_cancer,

Le code côté client ne me renseignera pas wink Tu as fait une installation de featureServer dans lequel il devait y avoir un fichier de configuration par défaut (featureserver.cfg) et que tu as dû utiliser. Cette page te renseignera sur la configuration d'un tel fichier [1], tu remarqueras que tu peux configurer une base postgis simplement [2] comme ceci :

Code:

[mylayer]
type=PostGIS
dsn=host=localhost dbname=mydata user=myuser password=1234
layer=mylayer
fid=gid #defaults to ogc_fid
geometry=wkb_geometry # defaults to the_geom
srid=26910 #defaults to 4326
attribute_cols=name,some_interesting_column #optional
order=cost #optional

Tu n'auras pas ainsi à transférer tes données.

Enfin, juste quelques informations qui me semblent important à te donner :
Le service WFS est un standard qui permet de transférer des données entre application. Par rapport à ton "application", celle-ci me semble être constitué de deux applications sous-jascente : une application cliente (OpenLayers) et une application serveur (FeatureServer). Le lien entre les deux se fait par l'intermédiaire de services tels que le WFS.

OpenLayers, application cliente, gère l'interface pour que l'utilisateur puisse facilement se déplacer, ajouter des couches, modifier des données. Il envoie des requêtes WFS, WMS, etc. vers des serveurs (featureserver pour ta couche WFS). Tes données sont alors traitées par Featureserver qui gère le stockage.

si tu as bien installé featureserver sans le configurer (ie sans l'adapter à ton serveur, ici dans le sens de système) ta couche scribble est stocké dans /home/example/scribble.db

Y.
[1] http://featureserver.org/doc/DataSources
[2] http://featureserver.org/doc/DataSources#postgis


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 Mon 20 July 2009 11:20

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

Re: openlayers featureserver

merci pour ces infos, pour mon featureserver est bien installé et j'ai deja ce fichier featureserver.cfg,je veux just savoir si je dois just ajouter ce code dans cette page et mes donnés seront enregistrés automatiquement??
merci

Hors ligne

 

#6 Mon 20 July 2009 11:40

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

Re: openlayers featureserver

Bonjour,

oui je suppose, mais après avoir adapté la config à ton serveur (login, mdp, nom de la base et de la table etc.).

As tu déjà un serveur postgis d'installé ?

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 Mon 20 July 2009 11:43

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

Re: openlayers featureserver

oui le postgis  est deja installé  mais le problème que je n'ai pas trouvé le fichier scribble.db dans ce cas la mon featureserver n'est pas bien installé??

Hors ligne

 

#8 Mon 20 July 2009 11:54

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

Re: openlayers featureserver

je ne sais pas, regarde le fichier featureserver.cfg pour voir la configuration de cette couche wink Moi j'ai repris ce qu'il y avait dans l'exemple de la doc wink

si le format est bien DBM, quel est le chemin du fichier ? Est il présent ?

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

 

#9 Mon 20 July 2009 14:22

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

Re: openlayers featureserver

ben j'ai essaié mais j'ai pas reussi je ne trouve pas la connexion entre postgis et   featureserver

Hors ligne

 

#10 Mon 20 July 2009 14:42

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

Re: openlayers featureserver

miss_cancer a écrit:

ben j'ai essaié mais j'ai pas reussi je ne trouve pas la connexion entre postgis et   featureserver


Je ne comprend pas, qu'appelles tu "la connexion entre postgis et   featureserver" ?

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

 

#11 Mon 20 July 2009 15:32

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

Re: openlayers featureserver

il me faut manipuler des layer enregistrés dans postgis  à travers featureserver et mon navigateur est OL
j'ai utilisé ce code dans le fichier .cfg

Code:

[route]
type=PostGIS
dsn=host=localhost dbname=testgis user=postgres password=xxxx
layer=route
fid=gid
geometry=the_geom
srid=22391

est dans ma page html ce code la

Code:

var rou= new OpenLayers.Layer.WFS("WFS route(postgis)", "/featureser/featureserver.cgi/route?format=WFS", 
            {maxfeatures: "300"}, {extractAttributes: true, displayInLayerSwitcher: true});

Hors ligne

 

#12 Thu 23 July 2009 09:53

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

Re: openlayers featureserver

bonjour votre sujet m'interesse bcp, j'utilise featureserver pour manipuler(select,update,insert,delete) des données deja dessiné sous navigateur openlayers dans une BD postgis j'ai testé le code

Code:

 wfs = new OpenLayers.Layer.WFS("Panneaux solaires", "featureserver.cgi/po?format=WFS", {maxfeatures: "100"}, {extractAttributes: true, displayInLayerSwitcher: true});
map.addLayers([wfs]);

et dans le fichier .cfg

Code:

[po]
type=PostGIS
dsn=host=localhost dbname=testgis user=postgres password=makina
layer=po
fid=gid
geometry=geometry
srid=4326

mais je n'arrive pas à les traiter

j'attends votre aide svp

Hors ligne

 

#13 Thu 23 July 2009 10:15

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

Re: openlayers featureserver

Miss_cancer,

Merci de ne pas poser vos questions dans les threads qui ne concerne pas le même problème wink

Tenter d'apporter des informations supplémentaires pour aider les personnes qui sont susceptible de vous aider si vous êtes bloqué ! Si personne ne répond, il est fort probable que personne n'a la réponse, ou de temps pour y répondre.

Géomatiquement,

Yves pour la modération


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

 

#14 Thu 23 July 2009 10:19

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

Re: openlayers featureserver

Bonjour,

Une piste : il doit bien y avoir des logs quelque part qui vous informe si la connection se fait ou non, tentez de regarder les logs de featureserver, de postgresql

Y. qui ne sais pas s'il y a un problème puisqu'il n'y a aucun message d'erreur ni de problème posé dans vos messages wink


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

 

#15 Thu 23 July 2009 10:21

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

Re: openlayers featureserver

ben à mon avis ma question concerne meme problème,en tt k c'est pas grave et je suis dslé
bonjourné

Hors ligne

 

#16 Thu 23 July 2009 10:30

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

Re: openlayers featureserver

Non, ton problème et celui de jule porte effectivement sur l'utilisation de Featureserver, mais le tiens est d'ordre technique : la connection avec la base ne se fait pas (si j'ai compris correctement) alors que Jule pose des questions conceptuelles : qu'est ce qu'un WFS, le REST, quel est la meilleure utilisation, etc.

Et tu n'as pas à être désolé wink

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

 

#17 Thu 23 July 2009 10:39

miss_cancer
Participant occasionnel
Date d'inscription: 20 Jul 2009
Messages: 10

Re: openlayers featureserver

bon ok merci ,mais franchement je suis un peu bloquée dans ce sujet et je ne trouve pas des solutions à le traiter

Hors ligne

 

#18 Thu 23 July 2009 10:45

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

Re: openlayers featureserver

Et bien comme dis plus haut, il nous faut une description du problème et les messages d'erreur ou bien le comportement non voulu.

Si tu n'as pas de message d'erreur, tente d'utiliser ta couche featureserver directement sans passé par OL, par exemple :

Code:

http://myfeatureserver.com/featureserver.cgi/po/all?
    maxfeatures=25
    &color=green

OL n'affiche pas les messages d'erreur des serveurs, donc s'il y a un problème il vaut mieux appeler directement le service.

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

 

Pied de page des forums

Powered by FluxBB