Hi,
irgendwie scheine ich nicht der Hellste zu sein.... ;)
Ich versuche auf den 3x3-Hochpassfilter aus der ArcToolbox - SpatialAnalystTools - Neighbourhood - FILTER
aus einem VBA-Skript heraus zuzugreifen.
Angelehnt an mein anderes Skript, das aus VBA heraus auf "hillshade_3d" zugreift, habe ich das nun auch mit "Filter_SA versucht.
Die DesktopHilfe ist leider keine große Hilfe, da die Beispiele irgendwie nicht funktionieren. Außerdem gibt es auch kein Beispiel, das den GeoProcessor verwendet, um die Werkzeuge aus der ArcToolbox aufzurufen. Auch gibt es z.T in den Beispielen unterschiedliche Bezeichnungen für die Parameter.
Kann mir bitte jemand zeigen, wo ich den/die Fehler mache? Ich komme ainfach nicht drauf, warum das nicht geht.
'Erzeuge geoprocessor-object
Dim pgeoprocessor_filter As IGeoProcessor
Set pgeoprocessor_filter = New GeoProcessor
'Erzeuge Array-Object fuer GeoProcessor-Anwendung
Dim Filterparameter As IVariantArray
Set Filterparameter = New VarArray
'Erzeuge Parameter fuer das filter-tool
Dim Inraster, Outraster As String 'Ein- und Ausgabedatei
Dim InFilterType As String ' Art des Filters (es gibt 2)
Dim IgnoreData As Boolean ' Behandlung von NoData-
'Dim IgnoreNoDataOption As String 'Elementen. Aber welches von den
'zweien muß ich nehmen ?
' Setzen der Filter-Variablen
Inraster = "C:/temp/input/image.img"
Outraster = "C:/temp/filter"
InFilterType = "HIGH" ' Anwendung als Hochpass-Filter
IgnoreData = False 'Behandlkung von NoData-Elementen.
'IgnoreNoDataOption = "NODATA" ' Aber welchei ist richtig?
'Schreibe Parameter in das Werte-Array für Aufruf von Filter_SA durch 'GeoProcessor
Filterparameter.Add (Inraster)
Filterparameter.Add (Outraster)
Filterparameter.Add (InFilterType)
Filterparameter.Add (IgnoreData) 'oder doch der andere?
'starting the process
pgeoprocessor_filter.Execute "Filter_Sa", Filterparameter, Nothing
'Und genau das tut einfach nicht.
'end of the routine
irgendwie scheine ich nicht der Hellste zu sein.... ;)
Ich versuche auf den 3x3-Hochpassfilter aus der ArcToolbox - SpatialAnalystTools - Neighbourhood - FILTER
aus einem VBA-Skript heraus zuzugreifen.
Angelehnt an mein anderes Skript, das aus VBA heraus auf "hillshade_3d" zugreift, habe ich das nun auch mit "Filter_SA versucht.
Die DesktopHilfe ist leider keine große Hilfe, da die Beispiele irgendwie nicht funktionieren. Außerdem gibt es auch kein Beispiel, das den GeoProcessor verwendet, um die Werkzeuge aus der ArcToolbox aufzurufen. Auch gibt es z.T in den Beispielen unterschiedliche Bezeichnungen für die Parameter.
Kann mir bitte jemand zeigen, wo ich den/die Fehler mache? Ich komme ainfach nicht drauf, warum das nicht geht.
'Erzeuge geoprocessor-object
Dim pgeoprocessor_filter As IGeoProcessor
Set pgeoprocessor_filter = New GeoProcessor
'Erzeuge Array-Object fuer GeoProcessor-Anwendung
Dim Filterparameter As IVariantArray
Set Filterparameter = New VarArray
'Erzeuge Parameter fuer das filter-tool
Dim Inraster, Outraster As String 'Ein- und Ausgabedatei
Dim InFilterType As String ' Art des Filters (es gibt 2)
Dim IgnoreData As Boolean ' Behandlung von NoData-
'Dim IgnoreNoDataOption As String 'Elementen. Aber welches von den
'zweien muß ich nehmen ?
' Setzen der Filter-Variablen
Inraster = "C:/temp/input/image.img"
Outraster = "C:/temp/filter"
InFilterType = "HIGH" ' Anwendung als Hochpass-Filter
IgnoreData = False 'Behandlkung von NoData-Elementen.
'IgnoreNoDataOption = "NODATA" ' Aber welchei ist richtig?
'Schreibe Parameter in das Werte-Array für Aufruf von Filter_SA durch 'GeoProcessor
Filterparameter.Add (Inraster)
Filterparameter.Add (Outraster)
Filterparameter.Add (InFilterType)
Filterparameter.Add (IgnoreData) 'oder doch der andere?
'starting the process
pgeoprocessor_filter.Execute "Filter_Sa", Filterparameter, Nothing
'Und genau das tut einfach nicht.
'end of the routine
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Andreas Haug am Mo., 10.08.2009 - 09:28
PermalinkKann man das noch reparieren?
Gespeichert von Andreas Haug am Mo., 10.08.2009 - 09:30
Permalinkmal sehen, ob ich das doppelte wieder löschen kann