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 :

Arborescence des couches


Sujet :

IGN API Géoportail

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut Arborescence des couches
    Bonjour

    J'aurais souhaité savoir s'il était possible de pouvoir réaliser un affichage avec des sous-couches. Par là je veux dire une possibilité de développer une couche pour afficher comme on le souhaite des années de crues.



    C'est que je souhaiterais faire là, appliquer toutes les années de crues que vous pouvez voir dans le gestionnaire d'affichage de Geoconcept, à travers l'API plutôt que de mettre des couches à rallonge.

    Merci d'avance de votre réponse

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Si je parle d'arborescence ça parle plus ?

  3. #3
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Bonjour,

    l'exemple suivant implémente un "TreeLayerSwitcher" qui semble se rapprocher de ce que vous cherchez à faire.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Bonjour

    Ah merci beaucoup , voila qui devrait bien convenir, je vous tiens au courant de l'évolution

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Alors, pour l'implémentation du TreeLayerSwitcher ça va mais là j'ai un problème pour l'ajout des couches.

    Voici la partie qui pose problème :

    Code : 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
    54
    viewer.getMap().setCenterAtLonLat(6.291246,48.817343,9);
    	viewer.getMap().addLayer(
            new Geoportal.Layer.Aggregate(
                'Risques de crues en Meurthe et Moselle',
                [
                    new OpenLayers.Layer.WMS(
                        'Crue de 1982',
                        ".assets/meurthecrues/1982.kml",
                        {
                            layers:'.assets/meurthecrues/1982.kml',
                            format:'kml',
                            transparent:true
                        },
                        {
                            opacity:1.0
                        }
                    ),
    				new OpenLayers.Layer.WMS(
                        'Crue de 1947',
                        ".assets/meurthecrues/1947.kml",
                        {
                            layers:'.assets/meurthecrues/1947.kml',
                            format:'kml',
                            transparent:true
                        },
                        {
                            opacity:1.0
                        }
                    ),
    				new OpenLayers.Layer.WMS(
                        'Crue de 1919',
                        ".assets/meurthecrues/1919.kml",
                        {
                            layers:'.assets/meurthecrues/1919.kml',
                            format:'kml',
                            transparent:true
                        },
                        {
    						opacity:1.0
                        }
                    ),
    				
                ],
                {
                    visibility: false,
                    originators:[
                        {
                            logo:'...',
                            pictureUrl:'...',
                            url:'...'
                        },
                    ]
                }
            ));;
    J'ai beau essayer de faire apparaître comme ceci les couches de crues, j'ai seulement une couche rose couvrant toute la carte qui apparaît. Si je fais de façon classique ça marche. Est ce qu'il y a quelque chose de particulier à rajouter pour que la couche KML apparaisse correctement ?

  6. #6
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Apparemment, vous utilisez la classe OpenLayers.Layer.WMS pour afficher une couche KML. Cela ne peut pas marcher. Il faut que vous utilisiez la classe OpenLayers.Layer.Vector en spécifiant le format KML. Cela donne quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    new OpenLayers.Layer.Vector(
      "nom de la couche",
      {
        protocol : new OpenLayers.Protocol.HTTP({
          url: "chemin/vers/fichier.kml",
          format: new OpenLayers.Format.KML({
            internalProjection: "projection de la carte"
          })
        })
      } )

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Merci, mais j'ai fait plusieurs tentatives et je n'ai toujours rien qui apparaît

    J'ai mis comme ceci :

    Code : 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
    viewer.getMap().setCenterAtLonLat(6.291246,48.817343,9);
    	viewer.getMap().addLayer(
            new Geoportal.Layer.Aggregate(
                'Autres crues de Meurthe et Moselle',
                [
                    new OpenLayers.Layer.Vector(
                        "Crue de 1982",
                       {
    			protocol : new OpenLayers.Protocol.HTTP({
    			url: "assets/meurthecrues/1982.kml",
    			format: new OpenLayers.Format.KML({
    			internalProjection: "IGNF:RGF93"
    			})
    		})
    	} ),
    			],
    Au moins je n'ai plus une couche rose qui apparaît sur toute la carte mais la couche de crue ne se met toujours pas. Au niveau du chemin, j'ai même pris depuis C:/ sans plus de changement.

  8. #8
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Essayez avec ceci (j'avais oublié l'option "strategy" et j'ai changé la projection) :

    Code : 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
    viewer.getMap().setCenterAtLonLat(6.291246,48.817343,9);
    	viewer.getMap().addLayer(
            new Geoportal.Layer.Aggregate(
                'Autres crues de Meurthe et Moselle',
                [
                    new OpenLayers.Layer.Vector(
                        "Crue de 1982",
                       {
                            strategies: [new OpenLayers.Strategy.Fixed()] ,
    			protocol : new OpenLayers.Protocol.HTTP({
    			  url: "assets/meurthecrues/1982.kml",
    			  format: new OpenLayers.Format.KML({
    			    internalProjection: viewer.getMap().getProjection()
    			  })
    		       })
    	             } ),
    	],

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Merci beaucoup, là ça marche bien...mais y a encore un petit bémol

    Maintenant il apparait des cercles sur la couche alors qu'ils ne devraient pas être là et n'ont jamais été visible avant. De plus toutes les couches de crues apparaissent de la même couleur.



    Les premières lignes du KML

    Code : 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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <?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>1982.kml</name>
    	<Style id="sn_0_2_1084293119_1">
    		<IconStyle>
    			<Icon>
    			</Icon>
    		</IconStyle>
    		<LineStyle>
    			<color>ff000000</color>
    			<width>2</width>
    		</LineStyle>
    		<PolyStyle>
    			<color>4ca0ffff</color>
    		</PolyStyle>
    	</Style>
    	<Folder>
    		<name>Carte Risque Inondations</name>
    		<Style id="sn_0_2_1084293119_1">
    			<IconStyle>
    				<Icon>
    				</Icon>
    			</IconStyle>
    			<LineStyle>
    				<color>ff000000</color>
    				<width>2</width>
    			</LineStyle>
    			<PolyStyle>
    				<color>4ca0ffff</color>
    				<fill>1</fill>
    				<outline>1</outline>
    			</PolyStyle>
    		</Style>
    		<Folder>
    			<name>Années de crues</name>
    			<Folder>
    				<name>Crue de 1982</name>
    				<Placemark id="gcObjID_449583">
    					<description><![CDATA[<link type="text/css" href="MiniSheetDefault.css" rel="stylesheet" />
                <TABLE>
                <TR>
                  <TD valign='top'><span class="fieldName">Type</span></TD>
                        <TD valign='top'><span class="fieldValue">Années de crues</span></TD></TR>
                <TR>
                  <TD valign='top'><span class="fieldName">Sous-type</span></TD>
                        <TD valign='top'><span class="fieldValue">Crue de 1982</span></TD></TR>
                </TABLE>]]></description>
    					<styleUrl>#sn_0_2_1084293119_1</styleUrl>
    					<MultiGeometry>
    						<Point>
    							<coordinates>6.0297954330109,48.9864442145683,0</coordinates>
    						</Point>
    						<Polygon>
    							<outerBoundaryIs>
    								<LinearRing>
    									<tessellate>1</tessellate>
    									<coordinates>
    										6.029743914250421,48.98696744395161,0 6.0300979167017,48.9862385991264,0 6.030076925607,48.98611314688269,0 6.02980491863913,48.9861380171323,0 6.029266611862961,48.9867545331113,0 6.029743914250421,48.98696744395161,0 
    									</coordinates>
    								</LinearRing>
    							</outerBoundaryIs>
    						</Polygon>
    					</MultiGeometry>
    				</Placemark>
    				<Placemark id="gcObjID_449619">
    					<description><![CDATA[<link type="text/css" href="MiniSheetDefault.css" rel="stylesheet" />
                <TABLE>
                <TR>
                  <TD valign='top'><span class="fieldName">Type</span></TD>
                        <TD valign='top'><span class="fieldValue">Années de crues</span></TD></TR>
                <TR>
                  <TD valign='top'><span class="fieldName">Sous-type</span></TD>
                        <TD valign='top'><span class="fieldValue">Crue de 1982</span></TD></TR>
                </TABLE>]]></description>
    Alors là, est ce un réglage à faire dans le KML ou une autre ligne à ajouter dans le quickstart.js ?

  10. #10
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Si des ronds apparaissent, c'est qu'il doit y avoir des données ponctuelles dans votre KML. Elles sont représentées avec le style par défaut de l'API.

    En ce qui concerne les styles, visiblement, ceux qui sont définis dans votre KML ne semblent pas être appliqués. Je vous invite à consulter ce tutoriel afin de voir comment gérer les styles d'une couche KML soit en utilisant ceux du KML, soit en en appliquant à l'aide de l'API.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    D'accord, normalement il n y a pas de données ponctuelles dans la couche, mais je vais voir ce qui est ainsi considéré comme tel.

    Sinon merci pour la page du tutoriel et de votre réponse. Je vois ça et je dis ce qu'il en est.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    En fait, il semblerait, concernant le ponctuel dans le surfacique, qu'il s'agisse d'un point de coordonnées par objet. En observant les couches je me suis aperçu que plus la couche comporte d'objets sous Geoconcept, plus je vois de ponctuels avec l'API. J'ai réalisé un test en faisant une union de polygones sur ma couche crue de 1919. Je l'exporte en KML et là je ne vois aucun ponctuel, tout est impeccable. Le problème est que je ne peux pas en rester là. Et là je redirige vers ici : http://www.developpez.net/forums/d13...rs-export-kmz/

    Je suis obligé de scinder ma couche en plusieurs objets pour que ce qui doit être transparent, le soit.
    Je précise également que auparavant ces points n'apparaissaient pas. Pour les styles, concernant la couleur, je cherche encore, mais peut être que ça se résoudra en même temps que le ponctuel...Merci d'avance de votre aide.

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut Problème Geoconcept !
    Car l'API affiche bien un polygone avec ses trous : http://atlasnw.free.fr/geoportail/ex...one_trous.html

  14. #14
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Il y a bien des points, en témoigne le bout de KML que vous nous avez communiqué :

    Code : 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
    ...
    <MultiGeometry>
    						<Point>
    							<coordinates>6.0297954330109,48.9864442145683,0</coordinates>
    						</Point>
    						<Polygon>
    							<outerBoundaryIs>
    								<LinearRing>
    									<tessellate>1</tessellate>
    									<coordinates>
    										6.029743914250421,48.98696744395161,0 6.0300979167017,48.9862385991264,0 6.030076925607,48.98611314688269,0 6.02980491863913,48.9861380171323,0 6.029266611862961,48.9867545331113,0 6.029743914250421,48.98696744395161,0 
    									</coordinates>
    								</LinearRing>
    							</outerBoundaryIs>
    						</Polygon>
    					</MultiGeometry>
    ...
    Si vous ne pouvez pas les enlever et ne voulez pas qu'ils apparaissent avec l'API, vous pouvez spécifier un 'pointRadius' à 0 dans la définition du style pour la couche.

    Pour vous aider dans la définition des styles, outre le tutoriel que je vous avais mentionné, vous pouvez aussi regarder cette page.

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Car l'API affiche bien un polygone avec ses trous
    Oui, et comme je disais, vu que c'est un problème sous Géoncept, j'ai réalisé les manips qui ont permis que la transparence des trous subsiste à l'export.

    Sinon merci beaucoup pour la page de Styling gcebelieu, avec ça j'ai pu faire ce que je voulais avoir . Ce qui donne :

    Code : 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
    viewer.getMap().setCenterAtLonLat(6.291246,48.817343,9);
    	viewer.getMap().addLayer(
            new Geoportal.Layer.Aggregate(
                'Années de crues de la Meurthe',
                [
    				new OpenLayers.Layer.Vector(
                        "Crue de 1919",
                       {
                            strategies: [new OpenLayers.Strategy.Fixed()] ,
    						opacity :1,
    						styleMap : new OpenLayers.StyleMap({'pointRadius': 0, fillColor: "red",
                   fillOpacity: 0.5, strokeColor: "red", strokeOpacity : 0.5}),
    			protocol : new OpenLayers.Protocol.HTTP({
    			  url: "assets/meurthecrues/1919.kml",
    			  format: new OpenLayers.Format.KML({
    			    internalProjection: viewer.getMap().getProjection()
    			  })
    		       })
    	             } ),
    			]
    Je peux maintenant cliquer sur Résolu

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

Discussions similaires

  1. [JFileChooser] Personnaliser l'accès à l'arborescence des fichiers
    Par Cylise dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 10/09/2005, 11h42
  2. [Design] Séparation des couches
    Par brousaille dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 17
    Dernier message: 16/03/2005, 22h34
  3. Arborescence des sujets sur ce site
    Par Invité dans le forum Evolutions du club
    Réponses: 2
    Dernier message: 10/11/2004, 19h32
  4. Un peu de lumière sur l'arborescence des fichiers de Linux
    Par Noki dans le forum Administration système
    Réponses: 6
    Dernier message: 07/04/2004, 17h16
  5. [Arborescence des répertoires]
    Par JustAGphy dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 25/03/2004, 15h47

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