banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

State Of The Map 2024

#1 Tue 31 August 2004 18:31

Eric BRENNER
Invité

ArcObject - index <-> nom

bonjour a tous,

une question toute bete...

comme en arcobject recuperer l'index d'une couche si l'on a son nom et inversement ?

--
ERIC BRENNER
IFREMER - DEL/PAC TOULON
www.ifremer.fr
----------------------------------

 

#2 Tue 31 August 2004 18:31

Olivier GUYOT-DE-LA-POMMERAYE
Invité

Re: ArcObject - index <-> nom

Bonjour,

Pour recuperer l'index d'une couche a partir de son nom pas d'autres choix que de parcourir la collection de couches.
Voici une fonction pour Recuperer une FeatureLayer a partir de son nom, vous pouvez aisement la modifier pour ne recuperer que l'index.

Code:

Public Function GetFeatureLayerByName(LayerName As String) As IFeatureLayer
    Dim oDoc As IMxDocument
    Dim oMap As IMap
    Dim oLayer As ILayer
    Dim oEnumLayer As IEnumLayer
    Dim oId As New UID

    'Instanciation des Objets ArcMap
    Set oDoc = ThisDocument
    Set oMap = oDoc.FocusMap
    oId = "{E156D7E5-22AF-11D3-9F99-00C04F6BC78E}"

    Set oEnumLayer = oMap.Layers(oId, True)
    oEnumLayer.Reset

    Set oLayer = oEnumLayer.Next
    Do While Not oLayer Is Nothing
        If oLayer.Name = LayerName Then
            Set GetFeatureLayerByName = oLayer
            Exit Do
        End If

        Set oLayer = oEnumLayer.Next
    Loop
End Function

Sinon, pour connaitre le nom quand on a l'index c'est simple :
--> oMap.Layer(oIndex).Name

Cordialement,

Olivier Guyot de La Pommeraye

 

Pied de page des forums

Powered by FluxBB