1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    janvier 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 561
    Points : 604
    Points
    604

    Par défaut Mon application a des données à proposer à un SIG. Que doit-elle publier ? WMS, WFS, WMC, WCS, WSC, WPS, OWS ?

    Bonjour,

    J'ai écrit une application qui a mis en relation des données portant sur les collectivités locales avec d'autres d'Open Data.
    À présent, il faut que je les rende disponibles aux utilisateurs de SIG sous la forme d'un service qui les leur renverra
    afin qu'elles participent à la construction des couches qui les intéressent.

    Typiquement, les fonctions métier de plus haut niveau que j'ai dans mon application ont ces paramètres d'entrée :
    une l'année de référence et un critère de sélection pour extraire des données relatives à cette commune :

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obtenirComptes(671, 2016) // Les soldes des comptes 671 de chaque commune de France en 2016
    Et les données en sortie dépendent du thème abordé.

    Pour rendre disponible les résultats de ces services métier aux SIG, il va falloir que j'en implémente un ou plusieurs autres aux standards d'interrogation OGC.
    Je ne sais pas lesquels et avec quels principes. Car ce sont les premiers que je vais créer.

    J'en vois des interfaces ! WMS, WFS, WMC, WCS, WSC, WPS, OWS...
    Je me doute qu'elles ne sont pas toutes à rendre disponibles par l'application web que je vais mettre à disposition.

    J'ai aussi l'intuition que je vais recevoir des coordonnées géographiques en argument,
    que j'aurai à convertir en questionnant un Shapefile ou une autre source de données pour savoir quelle commune se trouve en regard, et retrouver son code.
    Mais je reste très évasif...

    Qu'est-ce que je dois implémenter parmi tous ces protocoles pour mettre à disposition mes données ?
    Lesquels sont utiles à connaître au quotidien et de s'y pencher bien, et lesquels sont méconnus ou désuets désormais ?

    EDIT : Avec mes observations, j'ai l'impression que je ne dois pas essayer de les implémenter comme ça, from scratch, à partir d'une servlet entièrement faite main,
    que ce serait trop fastidieux, et qu'il vaut mieux que je parte d'un geoserver ou d'une autre solution qui a déjà fait une partie du boulot ?
    Tel que je vois les choses à cet instant, c'est un WFS qu'il me faudrait mettre à disposition, et celui-ci me produirait une couche entière.
    Je proposerais ainsi à mon utilisateur QGIS, par exemple, de lier une couche à un service WFS que mon application web, fondée sur geoserver, proposerait.

    Je vous remercie si vous pouvez me faire des recommandations !

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    juillet 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2006
    Messages : 352
    Points : 569
    Points
    569

    Par défaut

    Bonjour,

    J'ai un peu du mal à saisir la demande et la vrai question.

    Pourquoi vouloir réimplémenter ces protocoles ? Il existe des outils qui les utilisent ou font ça très bien (GDAL, QGIS, etc.).
    Chaque service a son utilité, ses avantages/inconvénients. Pour du vecteur WFS, du raster WMS, etc.

    Est-ce que c'est n'est pas plus une question d'architecture ?
    Installation d'un QGIS server avec un projet qui prend des données PostgreSQL/Postgis avec quelques requêtes faîtes via python, js ou autres, accessible en WEB ?

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    janvier 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 561
    Points : 604
    Points
    604

    Par défaut

    C'est vrai ! Qu'est-ce que j'ai du mal à formuler ma question clairement !
    Je vais réessayer.

    Un utilisateur sur QGis a une carte de France avec ses communes.

    Il y a de nombreux fichiers en Open Data qui peuvent lui apporter des informations supplémentaires intéressantes :
    entreprises qui s'y trouvent, équipements sportifs, comptes, etc.

    Le problème, c'est que certains de ces fichiers sont énormes, ils ne peuvent pas être lus comme ça.
    Par exemple : le fichier des entreprises fait près de 10 Go. Quand on se l'ouvre avec un Excel, qui ne sait lire que le premier million de lignes, il en lit une toute petite partie avant de s'arrêter en disant : "Je n'irai pas plus loin.". Et en plus, la manière d'associer des données n'est pas toujours simple :
    aller des communes aux entreprises ou à ses comptes, c'est passer d'abord par d'autres fichiers (j'ai utilisé ceux de Banatic) pour obtenir les SIREN des communes elles-mêmes, comme clefs intermédiaires utiles à certains moments.

    Je ne peux pas transférer à l'utilisateur les données dans une base, comme ça, lui la déclarer dans QGis, en lui disant : "Débrouilles-toi pour faire les jointures et requêter". Du coup j'ai fait un service web pour s'occuper de tout ça. Et si on l'appelle avec :
    obtenirComptes(671, 2016)
    il donne la liste des communes qui ont ce compte, avec leur solde.

    Mais le problème, c'est qu'une fois que je suis en capacité de retourner ceci :

    Année Com. Cpt Solde
    2016 27059 671 25125,40
    2016 27075 671 14512,12
    2016 27150 671 28501,00

    je ne sais pas comment l'exposer au SIG.
    Car je ne peux pas dire : sur mon URL http://localhost:8080/mon-appli/comptes
    se trouve une source de données attributaires où si vous passiez les paramètres de votre choix (ici : 2016 et 671) – de quelle manière ? –
    elle vous renverrait des enregistrements de structure {année, code commune, compte, solde} exploitables directement.
    Si je savais faire ça, mon problème serait résolu. C'est peut-être juste que je ne sais pas bien manipuler QGis.


    La solution vers laquelle je suis parti a été d'installer près de mon application web un autre composant, geoserver.
    Et je vais essayer de lui faire publier un service WFS qui renverra une couche géographique, soit en points soit en vecteurs, qui donnera la valeur du compte 671 pour chaque commune en 2016 – par extension, ce qu'il recevra ensuite comme paramètre d'interrogation –,
    et alors cette couche, il n'y aura plus qu'à l'utiliser en liaison avec d'autres sur QGis.

    Bon, je débute juste.
    Peut-être que je choisis le mauvais type de service à implémenter à destination du SIG,
    ou même que je me m'y prends totalement de travers.
    Je ne suis pas sûr de la manière d'agir pour arriver à mon but. J'ai l'impression que c'est cette voie-là, mais je n'en suis pas certain.

Discussions similaires

  1. Blocage de mon application sur des PCs 64 bits
    Par DaDark dans le forum Framework .NET
    Réponses: 9
    Dernier message: 11/06/2015, 09h24
  2. Réponses: 6
    Dernier message: 24/08/2010, 08h51
  3. Réponses: 3
    Dernier message: 19/03/2009, 01h07
  4. Retrouver des données à l'ouverture de mon application
    Par bdoux33 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/04/2008, 10h36
  5. Réponses: 2
    Dernier message: 27/06/2007, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo