../../_images/logo_pycsw.png ../../_images/OSGeo_project.png

Guide de démarrage avec pycsw

pycsw est une implémentation de serveur OGC CSW écrite en Python. pycsw permet la publication et la découverte de métadonnées géospatiales. Les dépôts existants de métadonnées géospatiales peuvent être exposés via OGC:CSW 2.0.2 ou OGC:CSW 3.0.0.

Exécuter l’application test

  1. Sur le bureau, accédez à Web Services –> pycsw ou ouvrez Firefox et naviguez vers http://localhost/pycsw/tests/index.html:

    ../../_images/pycsw_tester_startup.png

En sélectionnant la liste de déroulante gauche, l’utilisateur peut voir diverses demandes POST prédéfinies, codées sous le nom de XML, qui peuvent être envoyées à pycsw.

  1. Sélectionnez « apiso/DescribeRecord » et appuyez sur le bouton « Send ». Une description de l’enregistrement du profil de demande ISO est présentée sur le panneau droit.

    ../../_images/pycsw_tester_describe_apiso_record.png
  2. Sélectionnez « GetCapabilities-SOAP » et appuyez sur le bouton « Send ». Une demande SOAP est envoyée au serveur pour annoncer ses capacités de service Web.

    ../../_images/pycsw_tester_soap_capabillities.png
  3. Vous pouvez rechercher des enregistrements de données effectuant une requête de boîte englobante, en sélectionnant « GetRecords-filter-bbox » et en modifiant les coordonnées de la demande XML.

    ../../_images/pycsw_tester_getrecords_bbox_filter.png

Vous pouvez parcourir toutes les demandes disponibles et effectuer diverses demandes à partir de cette application de test.

Comprendre les capacités et la configuration

Les capacités de l’installation pycsw peuvent être trouvées à http://localhost/pycsw?service=CSW&version=2.0.2&request=GetCapabilities. Si vous utilisez simplement http://localhost/pycsw vous obtiendrez le document de fonctionnalités pour CSW 3.0.0, puisque c’est la dernière version prise en charge.

Pour modifier les métadonnées du service Web, incluses dans le document de fonctionnalités, vous pouvez modifier le fichier /etc/pycsw/default.cfg sous l’étiquette [metadata:main].

Si vous souhaitez activer le support du INSPIRE Discovery Service, remplissez les métadonnées sous l’étiquette [metadata:inspire] et réglez la propriété enabled à true.

Pour toutes les fonctionnalités et options de configuration, veuillez consulter la documentation sur le site Web de pycsw.

Créer des métadonnées

Les fichiers de métadonnées pour un ensemble de données spatiales ou un service Web spatial peuvent être créés grâce à la mise en œuvre open source d’une directive INSPIRE pour les métadonnées, l’European Open Source Metadata Editor (EUOSME). Cette application peut être trouvée à http://inspire-geoportal.ec.europa.eu/editor/. Le code source est disponible à https://joinup.ec.europa.eu/svn/euosme/trunk

Vous pouvez remplir les champs de métadonnées obligatoires en passant par les onglets d’application, en ajoutant des informations comme le nom du propriétaire de données, mots clés, emplacement des ressources sur le Web, emplacement géographique (utilisation d’une boîte englobante ou le nom d’un pays), etc.

../../_images/pycsw_euosme_metadata_input.png

Une fois que vous avez ajouté toutes les informations disponibles, pressez le bouton validation en haut de la page pour vérifier la cohérence avec la directive INSPIRE.

../../_images/pycsw_euosme_save_metadata.png

Après une validation réussie, le fichier XML peut être enregistré sur le disque local et visualisé via un éditeur de texte ou un navigateur.

Charger des métadonnées

pycsw prend en charge les bases de données suivantes :

  • SQLite3

  • PostgreSQL (PostGIS facultatif)

  • MySQL

Dans OSGeoLive, une configuration SQLite simple a été implémentée. La base de données se trouve dans /usr/share/pycsw/tests/suites/cite/data/records.db

Créer une nouvelle base de données

Afin de créer une nouvelle base de données SQLite, nous devons :

  1. Editer /etc/pycsw/default.cfg:

    [repository]

  2. Configurer la base de données :

    $ sudo pycsw-admin -c setup_db -f /etc/pycsw/default.cfg
    

Cela créera les tables et les valeurs nécessaires pour le dépôt.

La base de données créée est une base de données conforme Simple Feature Access (SFS), et peut être utilisée avec n’importe quel logiciel l’implémentant. Par exemple, pour l’utiliser avec OGR:

$ ogrinfo /path/to/records.db
INFO: Open of 'records.db'
using driver 'SQLite' successful.
1: records (Polygon)
$ ogrinfo -al /path/to/records.db
# lots of output

Importer des métadonnées

$ sudo pycsw-admin -c load_records -f /etc/pycsw/default.cfg -p /path/to/records -r

Cela permettra d’importer tous les enregistrements *.xml de /chemin/vers/les/enregistrements dans la nouvelle base de données et de configurer le dépôt pour exposer les requêtes selon la table 53 d’OGC:CSW.

Découverte de données via le plugin QGIS MetaSearch

  1. Sur le bureau, rendez-vous sur Desktop GIS –> QGIS pour démarrer QGIS, puis cliquez sur le bouton MetaSearch (icône CSW)

../../_images/pycsw_qgis_metasearch_open.png
  1. Ajoutez le serveur pycsw en appuyant sur le bouton New et tapez http://localhost/pycsw/

../../_images/pycsw_qgis_metasearch_add.png
  1. Ajoutez quelques serveurs par défaut à l’aide du bouton Add default servers et obtenez également les fonctionnalités du serveur à l’aide du bouton Server info

../../_images/pycsw_qgis_metasearch_server_info.png
  1. Effectuez une recherche à l’aide du catalogue, soit avec une chaîne de caractères, soit avec une boîte englobante

../../_images/pycsw_qgis_metasearch_search.png

Choses à essayer

  • Essayez de découvrir des données via l’application Tester en passant en paramètre les demandes appropriées, par exemple toute recherche de texte avec la chaîne « imagery » conduit à découvrir les données xml créées précédemment par EUOSME

../../_images/pycsw_tester_discovery.png
  • Essayez de découvrir des données via l’interface Python OWSLib CSW .

  • Essayez de découvrir les données de GeoNode, qui est également inclus dans OSGeoLive et utilise pycsw comme moteur CSW par défaut.

Ensuite ?

Pour plus d’informations sur pycsw, s’il vous plaît consultez la documentation sur le site web pycsw.