IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SIG : Système d'information Géographique Discussion :

Détection de zones géographiques sur une carte


Sujet :

SIG : Système d'information Géographique

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Points : 32
    Points
    32
    Par défaut Détection de zones géographiques sur une carte
    Bonsoir,

    Voila, je suis interessé de savoir comment peut réalisé ceci, mais en JAVA

    http://www.tsr-rsr.ch/index.html?sit...207110&elec=NC
    ou
    http://www.tilllate.com

    Pour détecter dans quel zone précise est la souris ?

    La première chose qui me vient à l'esprit, serai bettement de stocker quelque par CHAQUE coordonnées, et de verifier le X et Y de la souris, à chaque fois...

    Je me demandais si il y avait des outils/librairie spécials, pour faciliter ce genre de chose?

    d'avance merci

  2. #2
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Stoquer toutes les coordonnées c'est un peu "trop" quand même...
    Il faut connaître les "zones" que tu peux stoquer dans des objets de type Shape si tu es en Swing par exemple.
    Après tu as des MouseListener que tu peux ajouter sur ton composant.

    Mais ta question n'est pas assez précise, en Java c'est possible mais tu veux faire quoi ? Une application web ? Une application Swing ? Une application SWT ?

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 869
    Points : 22 932
    Points
    22 932
    Billets dans le blog
    53
    Par défaut
    Comme l'a dit Natha faire une Shape (Polygon, GeneralPath, Path2D* ou Area) semble etre la bonne solution. Alternativement on peut utiliser des bitmaks (images en noir & blanc) mais c'est se casser la tete pour rien je pense. Reste a te faire un editeur de formes vectoriel ou a trouver comment importer dans Java des formes crees par d'autres logiciel en SVG ou autre.

    *Java6+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Points : 32
    Points
    32
    Par défaut
    Mais ta question n'est pas assez précise, en Java c'est possible mais tu veux faire quoi ? Une application web ? Une application Swing ? Une application SWT ?
    Ca serai pour faire une petit application Swing ou SWT, mais pas web.

    ou a trouver comment importer dans Java des formes crees par d'autres logiciel en SVG ou autre.
    Ce qui sur c'est que pour faire mes zone je vais utilisé un éditeur SVG. Mais je n'ai pas encore cherché à faire l'import.

    Pour ce qui est des shape, Polygon ça tombe à l'eau car c'est seulement sur des coordonées Natural...

    J'avais essayé GeneralPath, mais c'est assez "casse ***" d'entré chaque coordonée..

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 869
    Points : 22 932
    Points
    22 932
    Billets dans le blog
    53
    Par défaut
    Natural ? Des coordonnees geographiques ou juste en nombre flottant ?

    Si c'est du geographique mieux vaut peut-etre s'orienter vers un GIS (Eclesia ou es-tu ??)

    Sinon Batik prend en charge le SVG mais je ne sais pas s'il permet de generer des Shape. Dans le pire des cas vu que ca reste des fichiers SVG simple, ca ne doit pas etre trop complique de faire un parseur (qui n'utilise meme pas forcement DOM ou SAX si le fichier est pas trop complexe) qui contruit de lui-meme le GeneralPath/Path2D approprie.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Points : 32
    Points
    32
    Par défaut
    "Natural ? Des coordonnees geographiques ou juste en nombre flottant ?"

    Oui, je voulais dire, que pour la classe Polygon, on ne peut que mettre des entier, pas de float..


    Si, non merci pour les infos, je vais y jeter un ptit coup d'oeil !

  7. #7
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par BoBy9 Voir le message
    Oui, je voulais dire, que pour la classe Polygon, on ne peut que mettre des entier, pas de float..
    Si c'est pour avoir des zones sensibles sur une image il n'y a vraiment pas besoin de float ! Je n'ai encore jamais vu de "morceau" de pixel !

  8. #8
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Points : 32
    Points
    32
    Par défaut
    Nan je compte faire des zones assez tordu, je suis obligé d'avoir des floats

    Si non j'ai regardé du coté de GeoTool et le tuto sur ce site, c'est vraiment pas mal ce truc, mais c'est becoup trop "complex" pour ce que je veut faire.


    Avec Batik, je n'ai pas trouvé un parser deja fait, alors je vient d'en commencer/finir un.Il me donne le code Java Generalpath pour une balise SVG <Path>

  9. #9
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 869
    Points : 22 932
    Points
    22 932
    Billets dans le blog
    53
    Par défaut
    Citation Envoyé par natha Voir le message
    Si c'est pour avoir des zones sensibles sur une image il n'y a vraiment pas besoin de float ! Je n'ai encore jamais vu de "morceau" de pixel !
    Certes, sur des CRT, mais ca peut se simuler a l'ecran via entre autre l'antialiasing. De plus sur les LCD on peut reellement travailler sur des sous-parties d'un R, G et B pixel (nottament pour l'antialias des polices, cf ClearType sous Windows). Enfin je te rappelle que dans la mesure du possible tout ce qui est 2D est independant du peripherique de sortie et de sa resolution et de son DPI... on peut donc essayer de simuler des choses bien plus precises et apres c'est le pipeline de rendu qui devra se demerder pour faire apparaitre les choses correctement a l'ecran, sur une feuille de papier, dans une image ou autre... Et le je ne parle meme pas des transformation genre remise a l'echelle, rotation, etc.. qui fait qu'au final on peut tres ben se retrouver avec des coordonnees non entieres.. bref a quoi, a part etre plus lent et/ou bouffer plus de memoire, ca servirai sinon d'avoir toutes ces classes Float et Double dans le package java.awt.geom ou les methodes plus precices de Graphics2D si ca n'avait jamais d'applications pratiques ???

  10. #10
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par bouye Voir le message
    [...]
    C'était plus sur le principe d'avoir des zones sensibles, on n'est pas au pixel prêt.
    Il est clair que pour d'autres cas plus pointus, il est nécessaire de travailler avec plus de précision.

  11. #11
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Citation Envoyé par bouye Voir le message
    Si c'est du geographique mieux vaut peut-etre s'orienter vers un GIS (Eclesia ou es-tu ??)
    Me voila, me voila

    Désolé du retard (boulot boulot en ce moment)

    La question qui me vient a l'esprit en lisant les messages :
    C'est juste pour faire un truc jolie avec des polygones ou est ce que tu veux faire du traitement de VRAI informations geographiques ?

    Si tu veux une petite appli qui gere des données des formes vectoriels alors tu peux partir sur du SVG. (je t'interdit de dire que tu fais de la cartographie ou du SIG si tu fais ca).
    Par contre si tu veux faire ca bien (SIG et toutes les contraintes associées à la representation de notre petite planete bleu), je te pousse sur GeoTools.
    Mais ca va etre autrement difficile faut l'admettre

    Autre solution (un entre deux) cette librairie peut t'aider :Java Topology Suite


    [EDIT] Encore une autre facon de faire :
    Tu as une foule de logiciel SIG libre qui peuvent repondre a tes envies de faire des cartes : GvSIG, QGIS, UDig ...

  12. #12
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 869
    Points : 22 932
    Points
    22 932
    Billets dans le blog
    53
    Par défaut
    Citation Envoyé par natha Voir le message
    C'était plus sur le principe d'avoir des zones sensibles, on n'est pas au pixel prêt.
    Il est clair que pour d'autres cas plus pointus, il est nécessaire de travailler avec plus de précision.
    Il faut faire attention justement ou on se retrouve assez rapidement avec un assemblage de formes qui se ne collent pas bien entre elles, avec des trous qui apparaissent ici et la entre les traits*, etc... si on se contente de manipuler des donnees entieres. De meme si on se restreint a des operations et calculs entiers (divisions, etc...) on peut facilement arriver a la fin du rendu du dessin ou meme d'un composant a des decallages de 2~3 pixels si on y prend pas garde. Idem pour le calcul de la position de la souris ou des differentiels de mouvements a appliquer dans le cas d'un composant reactif. Bref, la manipulation d'int offre parfois une facilite et une rapidite d'execution et de mise en oeuvre trompeuses qui peuvent mener a des problemes ou aberations a l'usage ; dans ces cas ne pas hesister a utiliser une precision en float (si la plaforme destination le permet).

    Note : si tu veux vraiment faire un truc super-rapide, des calculs entiers et des images masques produites hors-logiciel c'est largement suffisant...

    *D'ailleurs faut pas hesiter non-plus a activer l'antialias ou a choisir un meilleur Stroke histoire d'ameliorer la chose/cacher les erreurs si la vitesse de rendu du dessin/du composants/de la platforme destination le permet.

    Merci Eclesia pour ces liens.

Discussions similaires

  1. Localiser des points sur une carte géographique
    Par Msysteme dans le forum SIG : Système d'information Géographique
    Réponses: 4
    Dernier message: 28/07/2014, 13h05
  2. [Raphael JS] Sélection d'une zone sur une carte
    Par Oluha dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 05/11/2012, 17h47
  3. [XL-2007] données et couleurs sur une carte géographique
    Par webisfun dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2012, 06h46
  4. Répartition géographique sur une carte
    Par ruda.tom dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 17/01/2009, 21h13
  5. Faire des effets sur une carte (coloration de zones)
    Par breizhgen dans le forum Webdesign & Ergonomie
    Réponses: 9
    Dernier message: 12/03/2007, 17h07

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