Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

#1 Thu 23 December 2004 09:46

Atilio FRANCOIS
Invité

AV8 Selectionner par entites par programme

ArcGis ArcView 8.3
J'essaye de realiser une selection spatiale a l'interieur d'un programme VB.
J'ai trouve comment faire l'equivalent de selectionner par attributs
(QueryFilter) et de selection par elements graphiques (SelectbyShape),
mais je n'arrive pas a trouver le mecanisme pour faire l'equivalent de
selectionner par entites .

Si quelqu'un a une piste...

Merci d'avance

Atilio FRANCOIS

 

#2 Thu 23 December 2004 09:46

MEAR Laurent
Invité

Re: AV8 Selectionner par entites par programme

Bonjour,

Voici une fonction qui fait un croisement spatial entre une couche et un element d'une autre couche.

Code:

Private Sub Intersect(ByVal pOverlayFClass As IFeatureClass, ByVal pIntersectFClass As IFeatureClass, ByVal pIntersectFeature As IFeature)
' pOverlayFClass : a initialiser avec la couche de base
' pIntersectFClass : a initialiser avec la couche qui l'intersecte
' pIntersectFeature : l'entite de la couche qui va recouvrir l'autre (un polygone le plus souvent)

Dim pSpatialFilter As ISpatialFilter = New SpatialFilter
pSpatialFilter.GeometryField = pIntersectFClass.ShapeFieldName
pSpatialFilter.Geometry = pIntersectFeature.Shape
pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects

Dim pOverlayFCursor As IFeatureCursor = pOverlayFClass.Search(pSpatialFilter, False) 'croisement spatial

' parcourir les entites intersectees
Dim pOverlayFeature As IFeature = pOverlayFCursor.NextFeature
While Not pOverlayFeature Is Nothing
' Mettre ici le traitement a faire pour chaque entite

pOverlayFeature = pOverlayFCursor.NextFeature
End While
End Sub

Laurent

 

Pied de page des forums

Powered by FluxBB