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.
Contenu
Exécuter l’application test¶
Sur le bureau, accédez à Web Services –> pycsw ou ouvrez Firefox et naviguez vers
http://localhost/pycsw/tests/index.html
:
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.
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.
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.
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.
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.
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.
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 :
Editer
/etc/pycsw/default.cfg
:[repository]
base de données: chemin d’accès complet à la base de données de métadonnées, au format URL de la base de données (voir https://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls)
table: le nom de la table pour les enregistrements de métadonnées (le paramètre par défaut est
records
)
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¶
Sur le bureau, rendez-vous sur Desktop GIS –> QGIS pour démarrer QGIS, puis cliquez sur le bouton MetaSearch (icône CSW)
Ajoutez le serveur pycsw en appuyant sur le bouton New et tapez
http://localhost/pycsw/
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
Effectuez une recherche à l’aide du catalogue, soit avec une chaîne de caractères, soit avec une boîte englobante
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
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.