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

IGN API Géoportail Discussion :

kml - factoriser les lieux identiques situés dans des dossiers différents


Sujet :

IGN API Géoportail

  1. #1
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 685
    Points : 30 974
    Points
    30 974
    Billets dans le blog
    1
    Par défaut kml - factoriser les lieux identiques situés dans des dossiers différents
    Bonjour à tous

    Je travaille en ce moment sur les fichiers kml de GoogleEarth. Je voudrais générer un kml à partir d'une bdd.
    Mon souci, c'est que cette bdd possède plusieurs centres d'intérêts. Par exemple elle parlera de chateaux, ou bien de fleuves.

    Or, il existe des sites qui appartiennent aux deux catégories. Et si j'exporte bêtement toutes les catégories, je vais me retrouver avec plusieurs sites dupliqués dans le kml.

    Exemple

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
    <Document>
    	<name>Lieux temporaires.kml</name>
    	<open>1</open>
    	<Folder>
    		<name>Lieux temporaires</name>
    		<open>1</open>
    		<Folder>
    			<name>Les chateaux</name>
    			<open>1</open>
    			<Placemark>
    				<name>xxx</name>
    				<description>Ce site me plait énormément. C&apos;est un superbe chateau en bordure d&apos;un des plus beaux fleuves français.</description>
    				<LookAt>
    					<longitude>1.20745694685175</longitude>
    					<latitude>46.58823881221252</latitude>
    					<altitude>0</altitude>
    					<heading>-0.8513808885804972</heading>
    					<tilt>0</tilt>
    					<range>206.1157177355257</range>
    					<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
    				</LookAt>
    				<styleUrl>#msn_ylw-pushpin</styleUrl>
    				<Point>
    					<coordinates>1.20745694685175,46.58823881221252,0</coordinates>
    				</Point>
    			</Placemark>
    		</Folder>
    		<Folder>
    			<name>Les fleuves</name>
    			<open>1</open>
    			<Placemark>
    				<name>xxx</name>
    				<description>Ce site me plait énormément. C&apos;est un superbe chateau en bordure d&apos;un des plus beaux fleuves français.</description>
    				<LookAt>
    					<longitude>1.20745694685175</longitude>
    					<latitude>46.58823881221252</latitude>
    					<altitude>0</altitude>
    					<heading>-0.8513808885804972</heading>
    					<tilt>0</tilt>
    					<range>206.1157177355257</range>
    					<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
    				</LookAt>
    				<styleUrl>#msn_ylw-pushpin0</styleUrl>
    				<Point>
    					<coordinates>1.20745694685175,46.58823881221252,0</coordinates>
    				</Point>
    			</Placemark>
    		</Folder>
    	</Folder>
    </Document>
    </kml>

    Comme on le voit, les deux "Placemark" sont absolument identiques mais répétés deux fois (une pour le dossier "chateaux" et une pour le dossier "fleuves").

    C'est pas forcément génant (c'est un programme qui génère le kml donc je le lance et le bouzin travaille autant qu'il faut) mais quand-même, j'aurais aimé savoir à tout hasard s'il était possible de factoriser ce "Placemark", avec par exemple un identifiant. Ainsi je ne l'écrirais qu'une fois mais en indiquant son identifiant dans les deux folders il apparaitrait dans chacun des deux dans GoogleEarth.
    Comme c'est déjà ce qui se passe avec les "Stylemap" (on peux définir plusieurs styles avec différents identifiants qu'on recense ensuite dans le "Stylemap") je pense que ça devrait pouvoir se faire (sauf que pour l'instant je n'ai pas réussi).

    Merci à tous de votre attention
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  2. #2
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    A votre place, je ferai un export sans catégories et utiliserai un champs supplémentaire prévu dans la norme OGC : kml:ExtendedData afin d'y intégrer la liste des catégories.
    Ensuite pour l'exploitation dans un site internet, il suffira d'une fonction qui parsera ce champ pour vous permettre de faire afficher ce que vous voulez.

    Bien entendu suggestion sans connaitre ni la finalité ni les critères d'extraction pour chaque KML que vous générez.

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 685
    Points : 30 974
    Points
    30 974
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par IGNC_XT Voir le message
    Bien entendu suggestion sans connaitre ni la finalité ni les critères d'extraction pour chaque KML que vous générez.
    Bien entendu. Et c'est très gentil d'avoir donné cette suggestion.
    Bon, déjà le KML je connais tout juste tout juste. Je le découvre en tentant des exports GoogleEarth et en regardant ce que ça donne, et aussi via un site de tutoriel qui explique juste la base. Et c'est pour ça que kml:ExtendedData ben je connais pas.
    Ensuite le cahier des charges est très clair: le truc sera chez le client de façon intégrale et non chez un client qui va l'exploiter depuis un site internet. Donc désolé, ça ne peut pas le faire. Mais je vous dit ceci non pas pour vous reprocher quoi que ce soit mais juste pour vous dire pourquoi votre solution ne peut pas fonctionner.

    A priori je pense que kml n'offre pas cette possibilité. C'est dommage parce que j'avais bossé il y a quelques années sur un format xml qui proposait ce truc. On pouvait générer des balises xml avec un identifiant "X" puis indiquer à d'autres balises xml que l'item dont elle palait était en relation avec cet identifiant "X". C'était juste à moi de m'arranger pour que chaque "X" soit unique (un coup de md5 et basta). Et au montage général ça dessinait une espèce de MCD où on voyait les relations se dessiner. Mais bon, déjà c'était un format propriétaire et en plus je ne me souviens plus de son nom.

    Bon pour l'instant je me suis contenté de factoriser (dans mon programme qui génère le kml) la fonction qui génère les sites et ça ça fonctionne bien. Et je vois ensuite dans GE mes différentes catégories que je peux sélectionner ce qui fait bien apparaitre les sites associés à la catégorie sélectionnée. Et tant pis si le KML est 10 fois plus gros qu'il ne le devrait parce que les sites qui concernent plusieurs catégories y sont plusieurs fois.

    Merci encore de vous être intéressé à mon souci. J'adore ce forum
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/01/2013, 16h44
  2. Réponses: 2
    Dernier message: 28/02/2012, 17h17
  3. Réponses: 6
    Dernier message: 30/07/2011, 12h31
  4. Réponses: 2
    Dernier message: 07/07/2007, 14h24
  5. [HTML] visualiser les pages html incluses dans des frames
    Par missgeek dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/07/2007, 23h10

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