|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
bonjour,
je cherche une vectorisation de la France pour pouvoir afficher au choix selon des requetes : - ses contours - ses régions - ses départements Y'a bien la table TDepartement de Arkham46 dans son excellente gestion des images (http://arkham46.developpez.com/) mais on ne peut afficher que les départements et je cherche une plus grande précision. cordialement, Philippe |
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
j'ai trouvé une solution intéressante que je suis en train de tester :
1° récupérer un fichier kml ou kmz qui comporte les limites des départements, altitudes, les communes, etc... (le plus souvent libres de droits) 2° l'importer dans access (structure xml des kml, kmz = .zip) 3° soit à la volée soit a priori, traduire les coordonnées géographiques (latitudes et longitudes - wgs84) en une projection de votre choix (Mercator, miller,...) dans un espace définie pour affichage ou enregistrement dans une table. 4° grande précision garantie ! Philippe |
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
vraiment génial,
je savais que google, michelin, mappy fournissaient api et tout le tralala... mais je pensais que cela se limitait à la géolocalisation. c'est vraiment géant! |
|
|
00
|
|
|
#4 |
![]() ![]() |
Salut philben
Tout cela est très intéressant. Cela te serait-il possible de détailler un peu plus étape par étape comment tu procèdes, car cela pourrait être très utile pour d'autre membres. Soit une très bonne contribution ou le mieux un petit article sur le sujet, ce qui serait préférable. Pour l'article va voir le lien dans ma signature. Starec |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
salut Starec,
toujours aussi matinal ![]() tu disais "une très bonne contribution"? avec philben j'appel ca un pléonasme. ![]() "un petit article sur le sujet", moi je dis même un grand. remarque qu'avec philben vaut mieux peut être demander petit si on veut un grand vu qu'il ne fait pas les choses à moitié. on va lui laisser le temps de tester, parcequ'il y a de la lecture d'après ce que j'ai vu. mais en soit cela ne devra pas être très compliqué c'est de l'xml avec une liste de coordonnées. coté précision, le fichier que j'ai chargé ben je trouve pas tant que ca, le contour des cotes c'est pas au pixel près, mais bon on va dire que c'est pas si mauvais que cela et en tout cas c'est de loin ce qu'il y a de plus précis parmi ce que j'ai vu. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
re bonjour,
voici un échantillon des tracés obtenus, avec un Me.width = 1 dans Report. Délai d'affichage de l'état : 3 à 5 secondes La France en projection Miller ![]() Détail de la bretagne ![]() La terre en projection Miller ![]() La terre en projection orthographique (face cachée en ligne grisée) ![]() Pour Vodiem : La précision est suffisante pour mon usage, tu devrai essayer d'interfacer Virtual Earth dans Access, c'est pas mal... Pour Starec : J'ai pas bien le temps pour plus d'info, mais franchement c'est tout simple, les formules des projections sont sur wikipedia, l'import xml passe par la référence <Microsoft.XMLDOM>, l'affichage se fait avec la fonction Line. cordialement, Philippe |
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
re,
pour valider la projection de Miller, j'ai mis un fond de carte utilisant cette projection et j'ai tracé en rouge par dessus. Ca semble bien correspondre (image dans le domaine public) ![]() Bon, j'arrête là sinon je vais me faire houspiller... Philippe |
|
00
|
|
|
#8 | |
![]() ![]() |
Bonsoir,
Je n'envisage pas d'application nécessitant ce genre de choses... Ceci dit : Citation:
Pour ce qui est du résultat... ![]() Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
salut à tous,
philben, j'ai pris le temps ce wk de regarder cela de plus près. j'arrive bien à afficher la carte de france mais j'ai un petit soucis pour la projection de miller. j'utilise la formule ci seulement la tangente renvoie des valeurs négatives qui bien entendu provoque une erreur dans le logarithme pour certaine valeur. en passant outre j'ai des étirements exésifs sur la carte de france, alors que la prévisualisation sans la projection ne pose pas de pb (seulement un tassement vertical). pourrais tu me dire quelle formule utilises tu? merci. |
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
ok, la formule n'est pas en cause, kml utilise le degré et non le radian.
ca marche impec. |
|
|
00
|
|
|
#11 | ||||
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
Salut Vodiem
Voici mon brut de fonderie : 1) J'ai récupéré le contour des états ici 2) Création d'une table (tmppays) avec 2 colonnes : - Nom (type texte) - Contours (type mémo) 3) import du fichier doc.kml seulement le nom du pays et les coordonnées (Lat/Long) des points du contour en sachant que la troisième coordonnées est supprimée à l'import (0 pour chaque point, altitude?). Utilise la réf xmldom. Code :
4) Affichage dans un rapport de la projection de miller sur le fond de carte calé en 0,0 dans la section détail. Je suis parti du code de Maitre Starec (merci au passage pour tes tutos IHM qui rendent Access plus attrayant encore ) :Code :
Par exemple, en utilisant le fond de carte FranceR1 sur le site IGN, j'ai réussi a peu près à me caler dessus en utilisant une projection orthographique avec : - une longitude de référence à 2,3 - une latitude de réf. à 48 et en jouant sur la valeur du zoom et des décalages. ![]() Mis à part de s'amuser avec le contours des pays et des départements, on peut afficher tout point GPS pour du géo-marketing par exemple. En utilisant l'excellente classe d'Arkham46 citée plus haut on peut même rendre l'ensemble interactif dans un formulaire. A+ Philippe |
||||
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
he bien tu as eu de la chance toi.
j'avais fait du xml avec flash et je n'ai pas du tout retrouvé la même facilité comme je le vois avec le XMLDOM (que je n'ai pas dans mes références). j'ai dû rajouter la référence "Microsoft XML, v6.0" et utiliser l'objet "DOMDocument60" et pour info: => ca marche plus! he oui, j'ai perdu du temps avant de découvrir que depuis le XML 4 on n'obtient plus de résutat si le noeud est dans un "namespace". mais j'ai insisté pour faire ca "proprement", j'ai fait des recherche sur ce namespace qui pose prb à beaucoup et en plus j'ai du apprendre aussi du coup le XPATH... (tu me diras fallait prendre les premiers XML: v<4) ![]() mais bon, c'était l'occasion de connaitre cette nouvelle class. la troisième coordonnée correspond bien à l'altitude. par contre je mets le résultat de la projection de miller directement dans la table ce qui évite un temps de calcul lors de l'affichage. comme je te l'avais dis je n'ai pas encore d'application immédiate mais cela ouvre des possibilités dans le développement d'application lié à la cartographie, avec une représentation/localisation de données. mais ce qu'il faut retenir principalement c'est que google fourni un excellent outil avec "google earth" et que l'on peut récupérer ces données. et que les états ne se limite pas seulement à des tableaux, camembert, diagramme... (il faut savoir qu'il est possible de faire des batiments/maisons et enregistrer en kml.) les champs d'applications sont multiples: tourisme, transport, logement, météorologie... ps: dans un autre registre, j'ai vu recemment le survol de lieu important à partir de mappy en 3D (tout un quartier et pas seulement un batiment), c'est simplement: impressionnant. c'est vraiment une branche en pleine expansion, d'ici qq temps on pourra visiter la planète en 3D (complet) et couplé avec des sites VRML, il n'y aura plus de limites... |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
Vodiem,
Je vois avec plaisir que tu aimes aussi la carto, un sujet passionnant ! Grand merci à toi ![]() Philippe |
|
00
|
|
|
#14 |
![]() ![]() |
Bonsoir,
Quand je disais que je n'envisageais pas d'application de ce type... ![]() Ma question est : Est-il envisageable, une fois la carte tracée (ou lors du tracage de la carte), de remplir certains secteurs en différentes couleurs selon des valeurs reprises d'une requête ? A vous lire, je dirais oui, mais une confirmation serait la bienvenue... Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
salut Domi2,
oui biensur, c'est d'ailleurs je crois le principal objectif de philben. ![]() mais le remplacement de ligne par un polygone fermé pose le problème que je n'ai pas approfondi: les extrusions et les territoires fragmentés, qui ne sont pas un réel prb mais qu'il faut penser à traiter. philben devrait pouvoir t'éclaircir sur le sujet. |
|
|
00
|
|
|
#16 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 301 ![]() |
Bonjour à tous,
Très Intéressant ces fichiers kml, le rendu est impeccable. Pour la classe image qui permetterait de dessiner les cartes sur un formulaire et les rendre interactives : Je n'utilise plus vraiment la classe image originale (en gdi32), je suis passé à gdiplus (beaucoup plus intéressant car gère le jpeg, les données Exif, et plein d'autres choses). Donc pour apporter de l'interactivité à ces cartes, je vous propose une classe qui facilite grandement l'utlisation de gdiplus. Cette classe est en écriture depuis un bon moment et fonctionne plutôt bien même si j'y travaille encore. Je la mets en pièce jointe quand même dans sa version actuelle. Il suffit de copier-coller le contenu du fichier dans une nouvelle classe et la nommer ClGdipPlus. Il faut également la librairie GdiPlus.dll (intégré à XP, à télécharger pour les autrs OS et mettre le fichier dans le même répertoire que le mdb, sans l'enregistrer car ce n'est pas un activex) Dans un formulaire, le code donné par philben pour les pays deviendrait : Code :
- Je crée un bitmap (CreateBitmap) - Je dessine dessus (FillColor, DrawPolygon, ...) - Je l'affiche dans le contrôle (GdiPlusToPictureData) Au passage j'utilise les fonctions CtrlToImgX/Y et ImgToCtrlX/Y pour passer des coordonnées contrôle vers image et vice-versa. La classe ClGdip doit recevoir toutes les coordonnées en pixel. Je n'ai pas Access sous la main, donc c'est fait sous Excel (ça marchait sous Excel mais ma transcription Excel vers Access a peut-être créer des erreurs) ImageMiller est un contrôle image TxtRegion est une zone de texte pour afficher le pays sous la souris TxtLon est une zone de texte pour afficher la longitude sous la souris TxtLat est une zone de texte pour afficher la latitude sous la souris La fonction FrameRegion permet d'entourer une région, on peut remplacer par FillRegion pour la remplir, ou HatchRegion pour la hachurer. (Il faudrait une variable static pour vérifier que la région survolée à changer avant de redessiner l'image pour rien) J'ai ajouté un cercle (DrawEllipse) à l'emplacement de la ville d'Orléans (coordonnées prise au hasard sur le net, ça a l'air de s'afficher au bon endroit). On peut également afficher du texte avec Drawtext. Et pour sauvegarder l'image : clGdip.SaveFile "C:\MES DOCUMENTS\test.jpg" Voilà, vous avez ce qu'il faut pour dessiner les cartes dans un formulaire. Bye. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com