#1 Sat 05 May 2007 16:51
- aziz_emi
- Participant occasionnel
- Date d'inscription: 4 May 2007
- Messages: 11
fonction zoom
bjr tt le monde
je travaill sur l'elaboration d'un sig aur l'alimentation en eau potable et je cherche s'il y a quelqu'un qui a un code en vba qui permet de zoomer sur une entité en lui donnant son code ( c a d son identifiant )
merci d'avance
Hors ligne
#2 Tue 08 May 2007 20:20
- aziz_emi
- Participant occasionnel
- Date d'inscription: 4 May 2007
- Messages: 11
Re: fonction zoom
bjr tt le monde
je travail sur une application vba sur arcgi9.1
je sait pa la fonction qui permet de zoomer sur une entité dans une couche . s'il y a klk1 qui peut m'aider ?
merci infiniment
Hors ligne
#3 Wed 09 May 2007 08:31
- janyv
- Participant assidu
- Lieu: Montreuil, France
- Date d'inscription: 8 Feb 2006
- Messages: 356
Re: fonction zoom
Bonjour,
ce petit bout de code devrait fonctionner :
Code:
Public Sub ZoomCouche()
Dim pMxDoc As IMxDocument
Dim pMap As IMap
Dim pLayers As IEnumLayer
Dim pLayer As ILayer
Dim pFLayer As IFeatureLayer
Dim pFClass As IFeatureClass
Dim pQFilter As IQueryFilter
Dim pFCursor As IFeatureCursor
Dim pFeature As IFeature
Set pMxDoc = ThisDocument
Set pMap = pMxDoc.FocusMap
Set pLayers = pMap.Layers
Set pLayer = pLayers.Next
Do While Not pLayer Is Nothing
If pLayer.Name = "NOM_COUCHE" Then
If TypeOf pLayer Is IFeatureLayer Then
Set pFLayer = pLayer
Set pFClass = pFLayer.FeatureClass
Set pQFilter = New QueryFilter
pQFilter.WhereClause = "NOM_CHAMP = 'VALEUR'"
Set pFCursor = pFClass.Search(pQFilter, False)
Set pFeature = pFCursor.NextFeature
If Not pFeature Is Nothing Then
pMxDoc.ActiveView.Extent = pFeature.Extent
pMxDoc.ActiveView.Refresh
End If
End If
Set pFCursor = Nothing
Set pQFilter = Nothing
Set pFClass = Nothing
Set pFLayer = Nothing
Set pLayer = Nothing
Else
Set pLayer = pLayers.Next
End If
Loop
Set pLayers = Nothing
Set pMap = Nothing
Set pMxDoc = Nothing
End SubCette Sub fonctionne pour la carte active (FocusMap) et cadre l'affichage sur une entité trouvée à partir d'une requête attributaire (dans l'exemple, la valeur d'un champ de type texte) pour une couche dont le nom est fourni.
Bon courage,
yvan
Dernière modification par janyv (Wed 09 May 2007 08:57)
Si tu ne sais pas demande, si tu sais partage
Hors ligne
#4 Wed 09 May 2007 09:26
- nicolas valls
- Participant assidu
- Date d'inscription: 28 Oct 2005
- Messages: 154
Re: fonction zoom
Moi je fais comme ça :
Une fois que les objets sont sélectionnés
Code:
dim outil as icommanditem 'permet de zoomer sur la selection Set outil = Application.Document.CommandBars.Find(arcid.Query_ZoomToSelected) 'execute l'outil outil.Execute
Hors ligne
#5 Thu 10 May 2007 02:01
- aziz_emi
- Participant occasionnel
- Date d'inscription: 4 May 2007
- Messages: 11
Re: fonction zoom
merci infiniment pour vous deux Nicolas VALLS et janyv
Hors ligne
#6 Thu 10 May 2007 08:20
- janyv
- Participant assidu
- Lieu: Montreuil, France
- Date d'inscription: 8 Feb 2006
- Messages: 356
Re: fonction zoom
You're welcome aziz_emi ![]()
yvan
Si tu ne sais pas demande, si tu sais partage
Hors ligne


