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 :

Langage pour assembler des cartes géographiques


Sujet :

SIG : Système d'information Géographique

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Langage pour assembler des cartes géographiques
    Bonjour,

    Je dispose d'une base de données de cartes géographiques scannées (environ 200) au format JPG. Chaque carte a le même format et la même échelle. Les cartes s'assemblent pour former un espèce de damier (la limite droite d'une carte, par exemple, est la limite gauche de la carte d'à côté, sans superposition des deux).

    Mon objectif est de créer un programme permettant d'assembler automatiquement les cartes pour créer un big cartes sur laquelle on puisse facilement se déplacer, zoomer, etc. Le tout peut être utilisé en local, et pourquoi pas à terme intégré dans un site internet.

    La contrainte est que faire un assemblage en une seule carte ne marche pas car elle est trop grosse et l'ordinateur n'arrive pas à la gérer. Il faut donc que le programme travaille localement sur l'image affichée à l'écran je pense. J'ai fait des recherches sur le net et j'ai commencé à développer mon projet en Python, mais je ne crois pas que ce soit la solution la plus efficace. Je pense que ce type de besoin a déjà été rencontré par d'autres, alors est-ce que des solutions existent ? Le cas échéant, est-ce qu'un autre langage serait plus adapté (notamment m'offrant une solution plus efficace, plus souple) ? Je suis preneur de tout conseil, de toute orientation, ou documentation qui pourraient être utiles...

    Cordialement,
    P.-A.

  2. #2
    Expert confirmé Avatar de ed73170
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2009
    Messages
    765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2009
    Messages : 765
    Points : 5 522
    Points
    5 522
    Par défaut
    Bonjour,

    Oui, il faut tenir compte de ce qui doit être affiché à l'écran et aller chercher sur le disque ce qui est nécessaire. Le problème est que si tes cartes sont de grande taille et que ton écran en intersecte plusieurs, ça va encore poser un problème de temps de traitement et de mémoire.

    La solution est de pré découper tes cartes en dalles de petite taille, 200 pixels par exemple. Ensuite tu ne charges que ce dont tu as besoin à chaque affichage, en prévoyant un système de cache pour ne pas recharger la même chose sans arrêt. Pour les unzooms, tu peux générer à l'avance les cartes, toujours en 200 pixels, sachant qu'en unzoom à 50% une dalle occupera 2 fois plus de terrain et en 25% 4 fois moins, cela t'évitera de charger de gros volumes de données pour les réduire ensuite. Pour les zooms, il est préférable de charger les données et d'agrandir par programme.

    En gros, c'est la méthode qu'utilise Google Maps, ils ont des dalles pour chaque niveau de zoom qui s'affichent en fonction de la surface à couvrir sur l'écran et qui peuvent rester en mémoire cache.

    Le langage n'a pas grande importance, ce qu'il faut c'est bien structurer tes données et bien penser tes algorithmes. J'ai dernièrement fait ce genre de chose en C# avec les cartes IGN 1:25000 sur toute la France pour une appli sur tablette Windows, on peut scroller de Brest à Nice rapidement sans utiliser beaucoup de mémoire. GDI+ te permet de faire pas mal de manipulations simplement sur les images (rotation, contraste, luminosité, zoom, unzoom). Il y a quelques années je l'avais aussi fait en C++, pour le logiciel CartoExploreur, ça marchait tout aussi bien.

    Tu dois donc faire 2 programmes : 1 pour générer les dalles, et un autre pour les afficher. Sinon regarde du coté de MapServer qui fait ce genre de chose pour les appli web.

Discussions similaires

  1. Langage ou solutions pour assembler des cartes géographiques
    Par P.-A. dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 24/07/2015, 11h05
  2. [Recherche] Recherche un logiciel pour assembler des images
    Par Furius dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 29/12/2005, 18h03
  3. Le meilleur langage pour créer des jeux ?
    Par fourgeaud dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 15/09/2005, 13h41
  4. quel langage pour créer des "applications" sur 1 s
    Par jaribu dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 30/07/2003, 14h06
  5. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

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