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

Printemps des cartes 2024

#1 Thu 07 April 2005 09:16

Dedieu64
Invité

ArcMap - Programme qui ajoute un shapefile ?

Bonjour,
Je suis etudiant et je voudrais connaitre le script sous Visual Basic pour ArcMap (de ArcGis) me permettant d'ajouter un shapefile sur une carte....
Merci de votre aide.

je me suis inspire de ca mais c'est pour ajouter un *.lyr, mais je voudrais pouvoir ajouter un *.shp:

Code:

Public Sub AddLayerFileToMap()
Dim filePath As String
filePath = D:..... *.lyr
Dim pGxLayer As IGxLayer
Dim pGxFile As IGxFile

Set pGxLayer = New GxLayer
Set pGxFile = pGxLayer
pGxFile.Path = filePath
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
pMxDoc.FocusMap.AddLayer pGxLayer.Layer
End Sub
 

#2 Thu 07 April 2005 09:16

ODevArc
Invité

Re: ArcMap - Programme qui ajoute un shapefile ?

Bonjour,

Dans l'aide ArcObject on trouve cela : Add a Shapefile Programmatically
Description:
This  sampleadds a  shapefile to the  focus map.
How to use:
1.  Paste the code into VBA.
2.  Modify the code to point to a shapefile on your system.
3.  Run the routine from the Macros dialog.

Code:

Public Sub AddShapeFile()
Dim pWorkspaceFactory As IWorkspaceFactory
Dim pFeatureWorkspace As IFeatureWorkspace
Dim pFeatureLayer As IFeatureLayer
Dim pMxDocument As IMxDocument
Dim pMap As IMap

'Create a new ShapefileWorkspaceFactory object and open a shapefile folder
Set pWorkspaceFactory = New ShapefileWorkspaceFactory
Set pFeatureWorkspace = pWorkspaceFactory.OpenFromFile( c:arcgisarcexe82ArcObject Developer KitDataWorld , 0)

'Create a new FeatureLayer and assign a shapefile to it
Set pFeatureLayer = New FeatureLayer
Set pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass("Country")
pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName

'Add the FeatureLayer to the focus map
Set pMxDocument = Application.Document
Set pMap = pMxDocument.FocusMap
pMap.AddLayer pFeatureLayer

End Sub

Cela semble correspondre a ce que vous cherchez a faire.
Olivier

 

#3 Thu 07 April 2005 09:16

Mathias
Invité

Re: ArcMap - Programme qui ajoute un shapefile ?

Bonjour,

Peut etre avec ca :

Code:

' Ajout d'une couche SHP a la carte
' IN : ShpPath : Chemin complet du doccier  ex :  h:Temp
'      ShpName : Nom de la couche ex :  monshape.shp
Public Sub Addshapelayer(ShpPath As String, ShpName As String)
Debug.Print  EXECUTION de AddShapeLayer
' declaration du document
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument

' declaration de l'espace de travail : shape
Dim pWorkspaceFactory As IWorkspaceFactory
Set pWorkspaceFactory = New ShapefileWorkspaceFactory

' ouverture de l'espace de travail
Dim pWorkspace As IFeatureWorkspace         ' path du dossier
Set pWorkspace = pWorkspaceFactory.OpenFromFile(ShpPath, 0)

' ouverture du shape
Dim pClass As IFeatureClass         'nom de la couche
Set pClass = pWorkspace.OpenFeatureClass(ShpName)

' declaration d'une couche d'entite
Dim pLayer As IFeatureLayer
Set pLayer = New FeatureLayer

' affectation du shape a cette couche
Set pLayer.FeatureClass = pClass
pLayer.Name = pClass.AliasName

'-affichage de cette couche
pMxDoc.AddLayer pLayer

' reactualisation de l'affichage
pMxDoc.ActiveView.PartialRefresh esriViewGeography, pLayer, Nothing
End Sub

Cordialement
Mathias

 

Pied de page des forums

Powered by FluxBB