Avis sur une idée

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Répondre
Cetautomatix

Avis sur une idée

Message par Cetautomatix » sam. janv. 12, 2013 10:27 pm

Je suis parfaitement novice dans la cartographie et les systèmes SIG, mais j'aimerai avoir des avis sur la réalisation d'une idée que j'ai depuis un certain temps.
Je souhaiterai pouvoir avoir accès à des données d'OSM un peu à la demande et pouvoir les associer un peu comme bon me semble. Je m'explique :
Par exemple, je suis un propriétaire qui recherche une habitation dans un endroit que je connais très peu et j'aimerai savoir si le lieu où se situera le logement est bien situé. J'aimerai pouvoir définir mes préférences en disant par exemple, que j'aimerai un habitation proche des écoles, des trains, loin des grands axes routiers, près de supermarchés etc...
Pour chaque critère je pourrai avoir accès à une carte spécifique sous forme zones de colorées. Egalement j'aimerai avoir accès à une couche de synthèse qui pourrait me représenter en couleur (du rouge ou vert par exemple) les bons endroits des plus mauvais d'après l'ensemble de mes critères.
Le top du top se serait aussi de pouvoir combiner ces données avec d'autres données sociétales du genre : revenu moyen du quartier, taux de criminalité, insalubrité etc...
Donc, pour résumer, existe-t-il des applications toutes prêtes qui permettraient de faire cela, ou faut-il les développer ? Dans ce dernier cas, quel effort cela représenterait-il pour quelqu'un (ou une équipe) qui connaît correctement le webmapping ou la géomatique ?

percherie
Messages : 384
Inscription : sam. déc. 01, 2012 7:55 pm
Localisation : Narbonne et les environs
Contact :

Re: Avis sur une idée

Message par percherie » dim. janv. 13, 2013 6:36 pm

Salut,


C'est une idée que j'ai depuis de longue année et c'est vrais qu'OSM pourrait servir de base mais certaines informations ne sont pas présente comme les revenu moyen et autres.

J'avais d'autres besoin comme les antécédent de catastrophe naturelle et la présence actuelle ou ancienne d'établissement polluant mais là aussi ça n'existe pas sur OSM (à ma connaissance) ce serait à recouper avec d'autres source.

Si tu le souhaite on peut mener des recherches conjointe pour voir si c'est possible. Voici quelques pistes de recherche :
Solution 1 :
- Est il possible d'afficher un cercle coloré autour d'un POI (gare sncf, péage, banque, commerce, école) ?
- Si oui, est il possible de relever les zone qui ce superpose pour donner un rendu différent ?
Solution 2 :
- Est il possible d'afficher une zone en indiquant des critères de distance par rapport à un POI (ex : entre 3 km et 10 km)
- Si oui, est il possible de le faire à partir de plusieurs POI simultanément pour former une zone correspondant à la recherche.

Je ne te cache pas que je n'ai pas un temps libre extensible mais cela m’intéresserai de collaborer sur ce projet.

Avatar de l’utilisateur
cquest
Messages : 1929
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Avis sur une idée

Message par cquest » dim. janv. 13, 2013 10:28 pm

Tout ceci est possible, si l'on croise les données OSM avec des données extérieures et qu'on effectue des calculs à l'aide par exemple de postgis pour traiter la proximité des objets.

C'est du développement, ça peut prendre du temps car il n'y a pas d'outil déjà conçu pour effectuer ce travail spécifique mais toutes les briques de bases pour gérer la partie complexe est déjà faite.

Gustry
Messages : 135
Inscription : mer. nov. 23, 2011 2:30 pm

Re: Avis sur une idée

Message par Gustry » lun. janv. 14, 2013 11:42 am

Le sujet m'intéresse, je dois réaliser des cartes thématiques en ce moment. Et j'imagine de temps en temps un projet d'aide à la cartographie thématique avec OSM.

OSM n'est qu'une base géographique. Comme a dit cquest, il faut coupler ces données géo avec les stats de l'INSEE par exemple, ou autre.
On peut faire les traitements dans une base postgis, puis faire l'affichage avec leaflet/openlayers qui permet de dessiner des cercles, des polygones, des bulles, ...
http://leafletjs.com/examples/quick-start-example.html

J'y réfléchis pour un projet ultérieur ;-)

Avatar de l’utilisateur
cquest
Messages : 1929
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Avis sur une idée

Message par cquest » lun. janv. 14, 2013 12:19 pm

Et kartograph.js aussi... magnifique !

voir: http://kartograph.org/

percherie
Messages : 384
Inscription : sam. déc. 01, 2012 7:55 pm
Localisation : Narbonne et les environs
Contact :

Re: Avis sur une idée

Message par percherie » lun. janv. 14, 2013 1:49 pm

C'est intéressant de savoir qu'il y a déjà des applications. Tout coder depuis le début me dépasserai mais personnaliser une solution existante me semble réalisable.

BrunoC
Messages : 374
Inscription : sam. juin 23, 2012 11:07 am
Localisation : Nantes
Contact :

Re: Avis sur une idée

Message par BrunoC » lun. janv. 14, 2013 4:24 pm

Gustry a écrit : On peut faire les traitements dans une base postgis, puis faire l'affichage avec leaflet/openlayers qui permet de dessiner des cercles, des polygones, des bulles, ...
http://leafletjs.com/examples/quick-start-example.html
Salut !
J'attire ton attention sur le nombres de données vecteurs traitées par leaflet/openlayer: au-dela d'une centaine d'objets les navigateurs sont à la peine. Il faut donc mettre en place des stratégies cluster (regroupement de points), et de simplification de géométries pour que la navigation reste fluide. Pas simple.

Kartograph.js /.py est vraiment sympa pour de la datavis, mais il y a le même pb. Il travaille en vecteur (SVG), et quand la carte est chargée ca se sent. Toutefois on peut traiter déjà beaucoup plus d'objets car les outils de simplification sont intégrés. Exemple lourd:
http://kartograph.org/maps/#3082969
Et son explication http://kartograph.org/docs/kartograph.py/osm.html

Tilemill s'affranchit de ces limites, tout est rasterisé : les images sont des tuiles png, les données des UTFGrid
http://mapbox.com/demo/visiblemap/


Pour en revenir à l'idée de Cetautomatix, il n'y a pas de solution toute faite, mais pas mal de briques logicielles existent :
[*] du code javascript pour faire des heatmap
[*] des outils de routage ultra-rapide pour obtenir des résultat représentatifs sur les distances et temps de parcours.
[*]des gestionnaires base de données geomatiques

On est proche de http://old.isokron.com/, mais savoir gérer le poids relatif de chacun des critères ça devient plus sioux ! Y a des matheux dans la salle ?

Disons que dans la base on gère une grille de points fixe. En pré-processing on affecte à chaque point de cette grille des notes correspondant aux critères (distance écoles, distances pharmacie, commerces, etc...) basées sur les données OSM ou autres.
A l'affichage le navigateur collecte les valeurs des notes de tous les points visibles avec un densité raisonnable en fonction du zoom), et en fonction des critères le navigateur combine les notes (aie !) pour afficher la heatmap.

pasmoi

Re: Avis sur une idée

Message par pasmoi » lun. janv. 14, 2013 9:17 pm

La conception, c'est toujours la vraie partie difficile/critique d'un logiciel ...

Ton problème, c'est de partir d'un enssemble de sources de données (dont openstreetmap), et d'arriver à l'autre bout de ton "traitement" a une jolie carte qui t'affiche un résultat en fonction de tes critères de choix.
Je débute dans openstreetmap, donc je ne parlerais pas de cette extrémité du problème.
Par contre, pour l'autre bout du problème, arriver a traiter/classer/regrouper et rechercher dans une très grande quantité de données, de manière assez optimisée pour que ta carte ne mette pas 5 jours a s'afficher, là, il existe une famille de logiciels faits exprès pour ça. On y pense souvent assez peut dans ce genre d'application, mais les bases des données sont les logiciels ultimes pour ça, et ils contiennent des optimisation extraordinaires, issus de 50 ans de recherches dans ce domaines (depuis 1960) (et 1970 pour le modèle relationnel).

Donc, à mon avis, même pour une petite appli locale, le module qui "mouline" tes données (issues d'openstreetmap, de l'insee, et de je ne sait quelle autre source), pour calculer le "sous enssemble de données" qui va être plus tard retranscrit sous forme d'affichage, devrais (à mon avis) être "créé" dans une base de données. Un simple mysql ou oracle suffisent amplement, et sont d'une puissance et d'une efficacité qui dépassent tout ce que l'on pourrait espérer dans ce domaine. La base de la manipulation des données est bien évidement faite en sql, mais les calculs/traitements complexe que l'on pourraient être tenté de coder dans une brique logicielle plus haut niveau (hors de la base de données) doivent en réalité eux aussi être codés directement dans la base de données, a l'aide de ce qu'on appelle des "procédures stockées". Ce n'est que comme ça que ton logiciel ne se "cassera pas la figure", lorsqu'il fera face a l'augmentation du volume de données a traiter pour une "requête", et a l'exponentialité de la complexité algorithmiques de la version "intuitive" des traitements que ces "requêtes" requièrent.

Au cas ou le mot "procédure stockées" ne vous parlerait pas, avec oracle, c'est ce qu'on fait en PL/sql (à ne pas confondre avec le sql de base). En mysql, c'est le SQL/PSM. Le sgbd PostgreSQL est également aprécié/choisis par beaucoup en raison de la qualité/puissance de son système de procédures stockées, PL/pgSQL.

Après, en sortie de tes "requêtes", tu aura (principalement) une liste de "polygones", et la couleur de chacun d'entre eux ...
Comme c'est dit dans les réponses ci dessus, il existe de nombreux frameworks tout faits qui permettent d'afficher ça sous forme d'image ...
Il existe aussi des bibliothèques qui peuvent te faire la simplification des polygones (réduction de leur nombre de points/sommets), pour accélérer l'affichage, (surtout lorsque tu fait un zoom arrière). Mais si tu veux le programmer toi même directement en procédures stockées dans la base de données pour que ça soit plus rapide, alors il faut que tu regarde du coté des algorithmes de LoD.
Les algorithmes de LoD (Levels of Details) sont des algorithmes qu'on utilise dans les jeux vidéo en 3D pour réduire automatiquement le nombre de sommet (ou point, ou vertex, c'est la même chose) dans un mesh (un objet 3D), lorsque la caméra s'en éloigne. (car dans un jeu vidéo en 3D, on "voie" a l'écran un grand nombre d'objets qui sont loin, et un petit nombre d'objet qui sont prêts: il faut que les objets qui sont prêts soient très détaillés (beaucoup de points) pour qu'ils soient "beau", et il faut que les objets qui sont loin soient moins détaillés (peut de points), pour que leur grand nombre ne fasse pas un grand nombre de calcul, et ne dégradent pas les performances du jeu).
Certains de ces algorithmes sont vraiment très bien. En gros, ils sont tellement bien fait que l'utilisateur (le joueur) ne voie (en général) même pas qu'on a enlevé des points dans les objets qui sont loin.
Pour ton utilisation a toi, dans les formules de ces algorithmes, tu enlève juste une coordonée (z?), et ils deviendront des algorithmes 2D parfaits pour "simplifier" tes polygones. (tu passe de (x, y, z) a (x, y)).


Mais bon, après, comme toujours quand tu crée/modifie un logiciel, le plus important, ce n'est pas ce que tu va faire, ni par quels procédés tu va le faire, mais de le faire en travaillant le plus proprement possible. (C'est a dire, code propre, documenté, modulaire, travailler avec méthode, faire une bonne analyse avant de commencer a programmer, toujours avoir conscience de pourquoi tu fait ce que tu est en train de faire ...).
Si tu réussi sur ce dernier point (travailler proprement), tout le reste est presque un détail, car chaque erreur/problème pourra être très facilement et rapidement corrigé au moment ou tu t’apercevra de son existence.

Bon courage.

percherie
Messages : 384
Inscription : sam. déc. 01, 2012 7:55 pm
Localisation : Narbonne et les environs
Contact :

Re: Avis sur une idée

Message par percherie » mar. janv. 15, 2013 10:27 am

L'idée est intéressant mais cela ne semble pas être de la tarte. J'ai quelques connaissances mais c'est loin d'être suffisant sauf pour sortir une boite à outils bourrée de défaut et probablement lente à traiter les données.

Si un jour une personne souhaite monter le projet je suis partant pour contribuer à mon échelle mais je n'ai pas les épaules ni les connaissances pour faire aboutir un tel projet.

Cetautomatix

Re: Avis sur une idée

Message par Cetautomatix » ven. janv. 18, 2013 9:43 pm

Je vois que le sujet présente une certaine complexité. N'y connaissant pas grand chose au webmapping à la base, je constate qu'il vaut mieux tenter de constituer une petite équipe et je considère la proposition de percherie avec intérêt. La solution préconisée semble s'orienter vers les base de données SQL. Par ailleurs, l'idée d'utiliser les heatmaps pour l'immobilier n'est qu'un exemple. J'ai dans l'idée que d'autres applications sont aussi concernées à partir du moment on est capable de faire apparaître la qualité d'un territoire selon divers critères.
La première étape serait je crois de rédiger une sorte de "wishlist" qui pourrait se présenter sous forme de liste exhaustive de toute les fonctionnalités qu'on aimerait voir apparaître, une forme de première version d'un cahier des charges.

pasmoi

Re: Avis sur une idée

Message par pasmoi » lun. janv. 21, 2013 5:17 pm

exactement :-)

Bien spécifier les besoins, c'est le premier pas vers un projet réussi.
Faire un bon cahier des charges, c'est résoudre 95% des difficultés.

Et puis, justement, en fonction des objectif de ta "première version", la charge de travail pour le réaliser peut varier d'un week-end pour moi (suffisant pour faire un prototype qui se contente des données d'openstreetmap pour t'afficher une carte avec des couleurs en fonction de critères simples), jusqu'à plusieurs années pour une équipe de plusieurs 10aines de personnes pour un outil professionnel (commercial?) complet multi-sources de données à destination des agences immobilières.

Guillaume Barbot

Re: Avis sur une idée

Message par Guillaume Barbot » mer. févr. 20, 2013 10:31 am

Bonjour Monsieur,

Je me permets d'entrer dans cette discussion car j'ai developpé il y a un an de ça une application web se rapprochant de ça. Je m'explique.

Le but etait de faire un logiciel de recherche immobiliere inversé :

je cherche des maison à louer/à vendre dans un rayon de :
500m d'une ecole primaire
1000m d'une boucherie
1500m d'un supermarché

J'ai bien entendu ajouter tous les critères attributaires comme :
fourchette de prix,
type de biens,
superficie,
avec / sans garage
etc ...

j'ai également cumulé cette recherche à de la recherche isochronique :

Par rapport à mon futur lieux de travail (picto à positionner sur la carte ou par recherche d'adresse), je souhaite etre à :
30 min en voiture (se basant sur les données voirie d'OSM avec gestion des sens interdit)
ou à 15 min à pied.

Ce dernier travail à été compliqué car les requetes spatiales ne me donnait pas des résultats convaincant (4 à 5 s de requete à partir d'appel ajax d'un slider jquery).
J'ai alors, sur une region donnée (departement d'où je suis), inseré tous les isochrones de tous les tronçons pour les temps de trajets de 5,10,15,20,25,30 à pieds et en voiture ....
soit 6 * 2 * nb de troncons du departement à raison de 4 à 5 secondes en moyenne la requete. j'ai mis environs 20 jours de traitement !
Apres une optimisation avec indexation des tables, j'ai dorénavant des temps de réponses très rapide (< 0.5s) . Il existe néanmoins un soucis concernant les isochrones à cheval sur les departements vosins. ils sont clippé au département .

Ensuite, la requete est une intersection des biens immobiliers avec une intersection des tableaux de buffers générés pour chaque options sélectionnée dans le moteur de recherche

J'ai également rapatrier des données insee sur des informations générales des communes résultants de la recherche (nombre d'habitants, revenu moyens, densité, etc ...). Je n'ai pas appliqué ces données à des analyses spatiales, mais seulement de l'affichage attributaire

Ce logiciel est optimmo-soft. Vous trouverez une description sur mon site http://webgis.fr

Ensuite , en ce qui concerne l'affiche d'objets au niveau cartographie , il est clair qu'à grande echelle, un volume conséquent d'objets rique "d'exploser" l'arbre DOM !
Il est important de mesurer ces volumétries en amont pour soit :
désafficher à partir d'une certaines échelles
rasteriser les objets à partir d'une certaines échelles.

Ensuite en ce qui concerne les objets vectoriels, openlayers/leaflet gerent très bien cela. tu peux également te tourner sur du webservice WFS.

En esperant vous avoir un peu aiguillé dans vos futurs travaux

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 7 invités