2008-04-01 - Advanced Geoprocessing, Python
2008-04-01 - Advanced Geoprocessing, Python
WorkspaceFactory
p y Application
CoClass class
MxDocument
WorkSpace IFeatureWorkspace CoClass
CoClass
*
Imap Map
IActiveView CoClass
*
Set pFeatureLayer.FeatureClass = _ Layer
y
pFeatureWorkspace.OpenFeatureClass("Country") Abstract
FeatureLayer
C Cl
CoClass
Sample: Add a Personal Geodatabase
FeatureClass Programmatically
Public Sub AddFeatureClass()
End Sub
Layer Objects
Layer
Abstract
WorkspaceFactory
Abstract
Dim ppAWorkspaceFactory
p y as IWorkspaceFactory
p y
Set pAWorkspaceFactory = New AccessWorkspaceFactory
Set pFeatureWorkspace = pAWorkspaceFactory.OpenFromFile
("C:\Program Files\ArcGIS\DeveloperKit\Samples\Data\World.mdb", 0)
Dim ppFeatureClass as IFeatureClass
Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass (“Streets”)
Sample: Setting Layer Symbology
'Create a renderer, a symbol and a color to display the building footprint layer
'Color - Light Orange
Dim pLtOrange As IRgbColor
Set pLtOrange = New RgbColor
pLtOrange.Red
L O R d = 246
pLtOrange.Green = 197
pLtOrange.Blue = 103
pLinesym.Color = pLtOrange
pLinesym.Width = 0.5
'renderer
Dim pRenderer As ISimpleRenderer
S t pRenderer
Set R d =N
New Si
SimpleRenderer
l R d
'associate
associate the renderer with the feature layer
Dim pGeoFLayer As IGeoFeatureLayer
Set pGeoFLayer = pFeatureLayer
F
FeatureLayer
L F t
FeatureRenderer
R d
*
Symbol
Color IRgbColor
RgbColor
pLtOrange.Red = 246
pLtOrange.Green = 197
pLtOrange.Blue = 103
Display Object Model Diagram
Display Object Model Diagram
Setting
g Layer
y Symbology:
y gy Symbol
y
F t
FeatureRenderer
R d Dim pLine as ISimpleLineSymbol
F
FeatureLayer
L
Set pLine = New SimpleLineSymbol
Color
ILineSymbol LineSymbol
Width
ISimpleLineSymbol SimpleLineSymbol
Setting Layer Symbology: FeatureRenderer
FeatureLayer
FeatureRenderer
UniqueValueRenderer DotDensityRender
Label
ISimpleRenderer SimpleRenderer
Symbol
*
Map
CoClass
*
IFeatureLayer Layer
FeatureLayer Abstract
IGeoFeatureLayer
Examples Using ArcObjects in
Python
Must use a .NET
NET go-between to give Python
access:
– http://pythonnet.sourceforge.net/readme.html
http://pythonnet sourceforge net/readme html