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

GEODATA DAYS 2024

#1 Thu 31 July 2008 11:16

Paulo08
Juste Inscrit !
Date d'inscription: 26 Jun 2008
Messages: 4

[ArcGIS9.0] programmation d'une requête spatiale sur une sélection

Bonjour,
je suis en train de programmer en VBA et je rencontre quelques problèmes.
Je dispose d'une couche de polylignes (un réseau routier) et d'une couche de polygones contenant un maillage.
Je souhaite sélectionner les tronçons du réseau qui se trouvent dans chaque maille du maillage.
Je voudrais donc sélectionner une maille et l'intersecter avec la couche de polyligne.
Voici mon code:
Code:

Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument
    Dim pMap As IMap
    Set pMap = pMxDoc.FocusMap
    Dim pFMaillage As IFeatureLayer
    Set pFMaillage = pMap.Layer(0)

    Dim pFBrunet As IFeatureLayer
    Set pFBrunet = pMap.Layer(1)
    Dim pFSelBrunet As IFeatureSelection
    Set pFSelBrunet = pFBrunet
       
    Dim pClassMaillage As IFeatureClass
    Set pClassMaillage = pFBrunet.FeatureClass
    Dim pMaille As IFeature
    Set pMaille = pClassMaillage.GetFeature(0)
    Dim pGeom As IGeometry
    Set pGeom = pMaille.Shape

    Dim pSpatialFilter As ISpatialFilter
    Set pSpatialFilter = New spatialFilter
    Set pSpatialFilter.Geometry = pGeom
   
    pSpatialFilter.SpatialRel = esriSpatialRelIntersects
    pFSelBrunet.SelectFeatures pSpatialFilter, esriSelectionResultNew, False
    pMxDoc.ActiveView.Refresh

il ne me sélectionne pas les bons tronçons.
Est ce que quelq'un aurait une idée?

Hors ligne

 

#2 Thu 31 July 2008 12:23

Paulo08
Juste Inscrit !
Date d'inscription: 26 Jun 2008
Messages: 4

Re: [ArcGIS9.0] programmation d'une requête spatiale sur une sélection

J'ai trouvé mon erreur.
Quand je définis la FeatureClass du maillage, je mets
Set pClassMaillage = pFBrunet.FeatureClass
alors que je devrais mettre
Set pClassMaillage = pFMaillage.FeatureClass

Désolé pour le dérangement!!!

Hors ligne

 

Pied de page des forums

Powered by FluxBB