Pages: 1
- Sujet précédent - Openlayers 3 - WFS - Affichage en fonction du niveau de zoom - Sujet suivant
#1 Mon 19 January 2015 20:52
- lafayette
- Juste Inscrit !
- Date d'inscription: 19 Jan 2015
- Messages: 5
Openlayers 3 - WFS - Affichage en fonction du niveau de zoom
Bonjour,
Je débute avec Geoserver et 0penlayers 3. J'ai installé Opengeo qui contient les deux. J'ai des couches (postgis) que je souhaite afficher en WFS avec Openlayers 3. Cela fonctionne bien (servervector et geojson). Par contre je n'arrive pas à faire deux choses :
- d'une part afficher la couche wfs uniquement à partir d'un certain niveau de zoom ou d'échelle (en wms c'est simple avec geoexplorer)
- limiter le nombre d'attributs chargés (chaque couche contient beaucoup d'infos (colonnes) et je ne souhaite en charger que 2 ou 3).
Qqun aurait il une piste ou solution ?
Merci.
Hors ligne
#2 Mon 19 January 2015 21:55
Re: Openlayers 3 - WFS - Affichage en fonction du niveau de zoom
Bonjour,
Pour le point 1, utilisez les paramètres minResolution et maxResolution (cf http://openlayers.org/en/v3.0.0/apidoc/ … ctor.html)
Pour le point 2, comme vous avez la main sur le serveur, vous avez plusieurs choix:
* Enlever les colonnes dans la table de la base de données (PostGIS) avant d'importer
* Créer et utiliser une vue dans PostGIS et la réutiliser dans GeoServer (intéressant plutôt si vous êtes en lecture seule parce que la mise à jour de données depuis une vue est pas pratique à prendre en main)
* Utiliser une vue dans GeoServer cette fois-ci; soit statique (les colonnes ne changent pas); soit dynamique (vous passez dans l'url d'appel au WFS les colonnes que vous souhaitez) (cf doc http://docs.geoserver.org/stable/en/use … view.html)
Perso, je prendrais la dernière solution à la vue de votre avancement: vous avez déjà tout dans GeoServer, cela vous évite de "revenir en arrière" en réimportant des données ou en déclarant de nouvelles tables/vues PostgreSQL. L'autre facteur de décision est si vous êtes en lecture seule ou lecture/écriture. Si vous êtes en lecture-écriture, par exemple, "sabrer" des colonnes risquent d'être une mauvaise idée si vous devez récupérer les données de la base ultérieurement.
S'il y a d'autres solutions alternatives ou des compléments à ma réponse, je suis aussi preneur!
Cordialement
Thomas
Hors ligne
#3 Wed 21 January 2015 18:52
- lafayette
- Juste Inscrit !
- Date d'inscription: 19 Jan 2015
- Messages: 5
Re: Openlayers 3 - WFS - Affichage en fonction du niveau de zoom
Bonjour
Merci les view fonctionnent a merveille. Par contre impossible de faire fonctionner l affichage de la couche wfs par niveau de zoom, Je precise que je charge aussi des couches wms et que seule la couche wfs doit etre affichee en fonction du niveau de zoom. J essaye donc d appliquer un minzoom ou un minresolution ou un minscale au layer wfs et non a la map entiere, Dans l exemple suivant ou devrais je placer un minscale 1/50000 pour ne charger le wfs qu a partir de cette echelle,
http://openlayers.org/en/v3.1.1/example … r-wfs.html
Merci
Dernière modification par lafayette (Wed 21 January 2015 20:49)
Hors ligne
#4 Thu 22 January 2015 20:02
Re: Openlayers 3 - WFS - Affichage en fonction du niveau de zoom
Bonsoir,
Ce lien https://groups.google.com/d/msg/ol3-dev … -JQ9L_YeMJ pointe vers une fonction qui calcule l'échelle pour une résolution. Vous faites un produit en croix pour la résolution depuis l'échelle.
Ensuite, vous utilisez la valeur obtenue en mettant la propriété maxResolution sur la couche vecteur (WFS).
Cordialement
Thomas
Hors ligne
#5 Thu 22 January 2015 20:49
- lafayette
- Juste Inscrit !
- Date d'inscription: 19 Jan 2015
- Messages: 5
Re: Openlayers 3 - WFS - Affichage en fonction du niveau de zoom
Bonsoir,
Je vais regarder cela même si j'ai essayé de nombreuses combinaisons extrèmes sans pourvoir modifier l'affichage systématique du layer.
Merci.
Dernière modification par lafayette (Thu 22 January 2015 20:59)
Hors ligne
#6 Thu 22 January 2015 21:00
- lafayette
- Juste Inscrit !
- Date d'inscription: 19 Jan 2015
- Messages: 5
Re: Openlayers 3 - WFS - Affichage en fonction du niveau de zoom
Faut il bien mettre le minscale au niveau de la strategy ?
Hors ligne
#7 Thu 22 January 2015 22:02
Re: Openlayers 3 - WFS - Affichage en fonction du niveau de zoom
Bonsoir,
Non, non, relisez, c'est possible mais comme vous jouez ici aussi avec la résolution, vous ne faites que déplacer le problème qui est que pour le moment, vous ne comprenez pas encore ce qu'est une résolution et pourquoi on l'utilise.
En effet, vous voulez utiliser minscale mais qui dans OpenLayers 3 n'existe pas!
Comme la propriété n'existe pas, mais que généralement, on parle dans le langage courant d'échelle, on fait la conversion entre échelle (50000) et résolution. Pareil, j'ai expliqué dans mes réponses comment on faisait.
Au final, le plus simple, c'est de mettre une maxResolution au niveau de "ol.layer.Vector" comme déjà indiqué en me citant moi-même.
Utilisez les paramètres minResolution et maxResolution (cf http://openlayers.org/en/v3.1.1/apidoc/ … ctor.html)
Cordialement
Thomas
Dernière modification par ThomasG (Thu 22 January 2015 22:03)
Hors ligne
#8 Fri 23 January 2015 19:50
- lafayette
- Juste Inscrit !
- Date d'inscription: 19 Jan 2015
- Messages: 5
Re: Openlayers 3 - WFS - Affichage en fonction du niveau de zoom
Bonsoir,
Merci pour tous les conseils ! Au final le maxResolution fonctionne lorsque la valeur est correcte au niveau de de ol.layer.vector.
Il ne me reste plus qu'à mettre une fonction d'export vers un jpeg.
Hors ligne
Pages: 1
- Sujet précédent - Openlayers 3 - WFS - Affichage en fonction du niveau de zoom - Sujet suivant