DéveloppeurGéoplateformeTutorielIndex des tutoriels
Configuration de la diffusion de données vecteur en WFS

Alimentation et diffusion simple vecteur

Modifié le

Téléversement de fichiers vecteur, intégration en base de données, diffusion en WMS et WFS

Configuration de la diffusion de données vecteur en WFS

Configuration de la diffusion #

La configuration centralise toutes les informations nécessaires à la diffusion de données sur les services. À ce moment, on va contrôler les paramètres et détecter les erreurs ou conflits potentiels :

  • nom de couche déjà pris (il doit y avoir unicité sur toutes les configurations WFS de la plateforme)
  • table absente de la donnée stockée

Dans le cas du WFS, une configuration va donner plusieurs couches finales, le layer_name défini va servir de préfixe au nom des tables. On aura dans notre exemple les couches WFS :

  • pays_ecoregions:regions_ecologiques
  • pays_ecoregions:pays

https://data.geopf.fr/api/datastores/{datastore}/configurations

{
    "type": "WFS",
    "name": "Pays et écorégions",
    "layer_name": "pays_ecoregions",
    "type_infos": {
        "bbox": {
            "west": -175,
            "south": -75,
            "east": 175,
            "north": 85
        },
        "used_data": [
            {
                "relations": [
                    {
                        "native_name": "ecoregions",
                        "public_name": "regions_ecologiques",
                        "title": "Régions écologiques",
                        "keywords": ["Tutoriel", "Données mondiales"],
                        "abstract": "Grandes régions naturelles mondiales"
                    },
                    {
                        "native_name": "pays",
                        "title": "Pays du monde",
                        "keywords": ["Tutoriel", "Données mondiales"],
                        "abstract": "Pays du monde"
                    }
                ],
                "stored_data": "{stored data}"
            }
        ]
    }
}

Description des paramètres en entrée :

  • type : La valeur est contrainte par une liste de valeurs définies à tout moment dans le swagger. WFS pour une publication WFS. La définition de cette valeur est sensible à la casse.
  • name : Permet de nommer cette configuration. Cette information n’est lisible que par un autre utilisateur membre de cet entrepôt, pas par l’utilisateur final. Vous êtes donc invité à renseigner ici des informations parlantes pour vous - producteur de donnée. Cette information est modifiable après coup.
  • layer_name : Définit le nom technique par lequel le flux sera rendu disponible au sein du webservice. Cette information est visible de l’utilisateur final.
  • type_infos : L’essentiel des spécificités de la configuration liées à vos données est à retrouver ici :
    • bbox : Permet de forcer une bbox lors de la publication. Les valeurs de coordonnées sont systématiquement à renseigner en EPSG:4326.

      L’élément bbox est optionnel, s’il n’est pas mentionné dans la configuration, le système calcule automatiquement l’emprise du service publié à partir de l’emprise de la stored_data renseignée plus bas.

    • used_data : Permet de définir, au sein d’une stored_data placée comme dernier paramètre de l’élément, les couches de données qui seront publiées. Ainsi une offre WFS peut permettre de publier plusieurs couches de données unitaires :
      • relations : Il s’agit de la liste des couches à publier. Pour chacune on retrouve la possibilité de définir 4 éléments :
        • native_name : C’est le nom technique de la couche tel qu’il est défini dans la stored_data. Si le public name n’est pas défini, cette information est visible de l’utilisateur final.
        • public_name : C’est le nom technique (donc sans espace, accent ou autre caractère spécial) sous lequel vous voulez publier la couche. Cette information est visible de l’utilisateur final.
        • keywords : Il s’agit d’une liste de mots clés, chaque mot ou expression clé étant placée entre doubles quotes, pour permettre à un utilisateur de retrouver plus facilement une donnée. Cette information est visible de l’utilisateur final.
        • abstract : Présente une courte description informative en toutes lettre de la couche publiée. Cette information est visible de l’utilisateur final.
      • stored_data : Il s’agit ici de l’identifiant entrepôt de la stored_data qui va être publiée.

Si on ne précise pas de public_name, c’est le nom natif de stockage qui est utilisé.

Envoi sur les services de diffusion #

À ce stade, aucune information n’a été envoyée aux serveurs GeoServer assurant la diffusion. Cette synchronisation de la configuration sur les serveurs de diffusion, représentés par le point d’accès, se fait via la création d’une offre : la publication. Elle matérialise la présence d’une configuration sur un point d’accès.

Consultation des points de diffusion disponibles #

https://data.geopf.fr/api/datastores/{datastore}

[
    {
        "name": "Service de diffusion WFS principal",
        "technical_name": "gpf-geoserver-wfs",
        "type": "WFS",
        "urls": [
            {
                "type": "WFS",
                "url": "https://data.geopf.fr/wfs/geoserver/ows"
            }
        ],
        "_id": "ae012611-13eb-4a18-8d04-9b7604a031cc",
        "open": true,
        "metadata_fi": "gpf-geoserver-wfs"
    },
    {
        "name": "Service de diffusion WMTS/TMS principal",
        "technical_name": "gpf-rok4-server-wmts-tms",
        "type": "WMTS-TMS",
        "urls": [
            {
                "type": "WMTS",
                "url": "https://data.geopf.fr/wmts"
            },
            {
                "type": "TMS",
                "url": "https://data.geopf.fr/tms/"
            }
        ],
        "_id": "ae032611-13eb-4a18-8d04-9b7604a031cc",
        "open": true,
        "metadata_fi": "gpf-rok4-server-wmts-tms"
    },
    {
        "name": "Service de diffusion WMS Raster principal",
        "technical_name": "gpf-rok4-server-wms-r",
        "type": "WMS-RASTER",
        "urls": [
            {
                "type": "WMS",
                "url": "https://data.geopf.fr/wms-r/wms"
            }
        ],
        "_id": "ae042611-13eb-4a18-8d04-9b7604a031cc",
        "open": true,
        "metadata_fi": "gpf-rok4-server-wms-r"
    },
    {
        "name": "Service de diffusion WMS Vecteur principal",
        "technical_name": "gpf-geoserver-wms-v",
        "type": "WMS-VECTOR",
        "urls": [
            {
                "type": "WMS",
                "url": "https://data.geopf.fr/wms-v/geoserver/ows"
            }
        ],
        "_id": "ae022611-13eb-4a18-8d04-9b7604a031cc",
        "open": true,
        "metadata_fi": "gpf-geoserver-wms-v"
    },
    {
        "name": "Service de Téléchargement principal",
        "technical_name": "gpf-download",
        "type": "DOWNLOAD",
        "urls": [
            {
                "type": "DOWNLOAD",
                "url": "https://data.geopf.fr/telechargement/"
            }
        ],
        "_id": "ae052611-13eb-4a18-8d04-9b7604a031cc",
        "open": true,
        "metadata_fi": "gpf-download"
    },
    {
        "name": "Service de diffusion CSW",
        "technical_name": "gpf-geonetwork",
        "type": "METADATA",
        "urls": [
            {
                "type": "METADATA",
                "url": "https://data.geopf.fr/csw"
            }
        ],
        "_id": "ae062611-13eb-4a18-8d04-9b7604a031cc",
        "open": true,
        "metadata_fi": "gpf-geonetwork"
    },
    {
        "name": "Service de téléchargement private",
        "technical_name": "gpf-download-private",
        "type": "DOWNLOAD",
        "urls": [
            {
                "type": "DOWNLOAD",
                "url": "https://data.geopf.fr/private/telechargement/"
            }
        ],
        "_id": "b5bf7ab2-8998-4829-8c80-cd2ec02e6e58",
        "open": false,
        "metadata_fi": "gpf-download-private"
    },
    {
        "name": "Service de diffusion WFS privé",
        "technical_name": "gpf-geoserver-wfs-private",
        "type": "WFS",
        "urls": [
            {
                "type": "WFS",
                "url": "https://data.geopf.fr/private/wfs/"
            }
        ],
        "_id": "d02feec9-1169-403f-bfc3-7ba6d6015ed4",
        "open": false,
        "metadata_fi": "gpf-geoserver-wfs-private"
    },
    {
        "name": "Service de diffusion WMS Vecteur privé",
        "technical_name": "gpf-geoserver-wms-v-private",
        "type": "WMS-VECTOR",
        "urls": [
            {
                "type": "WMS",
                "url": "https://data.geopf.fr/private/wms-v/"
            }
        ],
        "_id": "519c8bb1-9b7f-414a-9850-1a73dfd467ed",
        "open": false,
        "metadata_fi": "gpf-geoserver-wms-v-private"
    },
    {
        "name": "Service de diffusion WMS Raster privé",
        "technical_name": "gpf-rok4-server-wms-r-private",
        "type": "WMS-RASTER",
        "urls": [
            {
                "type": "WMS",
                "url": "https://data.geopf.fr/private/wms-r/"
            }
        ],
        "_id": "66866100-48eb-4340-bbc9-f5c7d9707928",
        "open": false,
        "metadata_fi": "gpf-rok4-server-wms-r-private"
    },
    {
        "name": "Service de diffusion WMTS/TMS privé",
        "technical_name": "gpf-rok4-server-wmts-tms-private",
        "type": "WMTS-TMS",
        "urls": [
            {
                "type": "TMS",
                "url": "https://data.geopf.fr/private/tms/"
            },
            {
                "type": "WMTS",
                "url": "https://data.geopf.fr/private/wmts/"
            }
        ],
        "_id": "7e0a92d1-8213-4ce0-8903-eb4c305a1849",
        "open": false,
        "metadata_fi": "gpf-rok4-server-wmts-tms-private"
    }
]

Cette étape est l’étape clé pour décider si le flux que vous vous apprêtez à publier va être publié en open data ou au contraire seulement aux utilisateurs accrédités. Dans l’écosystème Géoplateforme on appelle ce dernier mode, le mode privé.

Si vous souhaitez publier en open data, vous allez chercher, dans la réponse ci-dessus, un endpoint du type de la configuration créée (pour le tutoriel, WFS) dont l’élément open est à true.

Si vous souhaitez publier en mode privé, vous allez chercher, dans la réponse ci-dessus, un endpoint du type de la configuration créée (pour le tutoriel, WFS) dont l’élément open est à false.

Le tutoriel est déroulé en mode open data. Pour accéder à une donnée publiée en privé, référez vous au tutoriel sur le contrôle des accès.


Publication #

https://data.geopf.fr/api/datastores/{datastore}/configurations/{configuration wfs}/offerings

{
    "endpoint": "ae012611-13eb-4a18-8d04-9b7604a031cc",
    "open": true
}

L’exemple ci-dessus présente une publication en mode open data.

Si vous choisissez de publier en mode privé, le corps de requête sera :

{
    "endpoint": "d02feec9-1169-403f-bfc3-7ba6d6015ed4",
    "open": false
}

Pour accéder à une donnée publiée en privé, référez vous au tutoriel sur le contrôle des accès


On peut vérifier la présence de nos couches pays_ecoregions:regions_ecologiques et pays_ecoregions:pays dans le GetCapabilities du service.

On peut également récupérer nos données dans QGIS. Pour les régions écologiques, le service se limite à 1000 objets, ils ne seront donc pas tous téléchargés en une fois.

Visualisation des données du tutoriel

Paramètres d'affichage

Choisissez un thème pour personnaliser l’apparence du site.