#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 Sub
Cette 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