GeoServer
Découverte de couches WFS 2.0 autorisées et requêtes géographiques bornées
Identifiant fournisseur : geoserver · Maturité : aperçu · Catégorie : Outils
Connectez un point de terminaison GeoServer WFS 2.0 pour découvrir les couches, consulter leurs champs et interroger les entités dans une emprise WGS84. Les résultats conservent l’identité du fournisseur GeoServer, les identifiants stables des entités et l’attribution fournie par le service.
Configuration et authentification
Définissez baseUrl avec l’adresse WFS, par exemple https://geo.example.com/geoserver/wfs, sans paramètres de requête. Activez WFS 2.0 et la sortie JSON. Autorisez explicitement le domaine dans les règles de sortie réseau de l’organisation. En production, HTTPS sur le port 443 et une résolution DNS publique sont requis, y compris pour un service hébergé par le client.
Trois formes d’adresse sont acceptées et se comportent de la même manière :
| Forme | Exemple | Catalogue |
|---|---|---|
| Instance | https://geo.example.com/geoserver/wfs | toutes les couches publiées du serveur |
| Service virtuel d’espace de travail | https://geo.example.com/geoserver/monespace/wfs | uniquement les couches de cet espace |
| Service virtuel de couche | https://geo.example.com/geoserver/monespace/macouche/wfs | cette seule couche |
Préférez un service virtuel d’espace de travail ou de couche pour n’exposer qu’un sous-ensemble : le document de capacités est plus petit et la liste des couches plus courte.
Une couche publiée est écartée du catalogue lorsque son identité ne permet pas de l’adresser : un nom qui n’est pas un QName valide (commençant par un chiffre ou contenant une espace), un préfixe d’espace de noms non résolu, un nom en double, ou un CRS absent ou trop long. Le reste du serveur n’est pas affecté et le nombre de couches écartées est consigné dans les journaux du service. Décrire ou interroger une couche écartée est refusé par INVALID_REQUEST.
Une couche dont le seul défaut est un WGS84BoundingBox hors limites — plusieurs serveurs publics annoncent des valeurs légèrement au-delà de ±180/±90 — reste dans le catalogue et demeure entièrement interrogeable ; seule son étendue déclarée est omise.
Choisissez basicAuth pour un compte GeoServer en lecture seule ou none pour un service anonyme. Le nom d’utilisateur et le mot de passe doivent être stockés dans les identifiants de connexion, jamais dans l’URL ou des paramètres supplémentaires. Seules les couches autorisées pour cette connexion sont accessibles.
Fonctionnalités
| Opération | Comportement |
|---|---|
| Lister les couches | Lit les capacités WFS du service configuré. La découverte est limitée à 500 couches ; un catalogue plus volumineux est refusé plutôt que tronqué silencieusement. |
| Décrire une couche | Lit son schéma, son type de géométrie, ses champs scalaires et son système de coordonnées source. Les schémas externes ne sont pas téléchargés. Les structures non prises en charge sont refusées. |
| Interroger les entités | Combine une emprise, des filtres attributaires structurés, une sélection de champs et une limite de 500 entités par réponse. |
Les filtres prennent en charge l’égalité, l’inégalité, les comparaisons ordonnées, like et in pour les types compatibles. Le CQL brut n’est pas accepté. Les emprises traversant l’antiméridien sont divisées et les entités dédupliquées par identifiant stable. Le JSON est normalisé en longitude/latitude WGS84 ; les hauteurs sont supprimées. Les systèmes de coordonnées de réponse non pris en charge sont refusés.
Chaque réponse contient truncated. Une réponse avec truncated: true est incomplète ; réutilisez son curseur, s’il est présent, avec la même source, la même couche, la même emprise, les mêmes filtres, les mêmes champs et la même limite pour continuer. Les curseurs sont limités à 4 096 caractères. Si l’état de déduplication sur l’antiméridien ne tient pas dans cette limite, la réponse reste incomplète sans curseur ; réduisez l’emprise pour poursuivre. La déduplication interne est bornée à 1 000 identifiants. Lorsque le total est inconnu, une vérification bornée de l’entité suivante permet d’identifier une dernière page exactement pleine. Les URL de continuation du fournisseur ne sont jamais suivies. Les curseurs servent à poursuivre une lecture de données actives, sans garantir un instantané.
La taille des réponses, la complexité géométrique, le nombre de requêtes et le temps d’exécution sont bornés. La pagination trie les champs scalaires du schéma, en privilégiant un champ d’identifiant conventionnel. Utilisez des couches avec des attributs de tri stables permettant de distinguer les entités ; les modifications des données peuvent affecter la pagination.
Cette intégration interroge les entités en direct. Le géocodage, les itinéraires, le rendu de tuiles, l’export massif et l’ingestion automatique ne sont pas disponibles. Aucun service public n’est utilisé automatiquement en remplacement.