Themen analysieren

Moin Forum,
gibt es eine Möglichkeit der automatisierten Themenanalyse zweier Polygon-Themen - Stichwort: themeonthemedialog - unter Umgehung des Buttons "Neue Auswahl" ??
Das ganze soll in eine "for each schleife" eingebaut werden.
Gruß Kay Krüger
Hallo Kay,

ja, das geht. Mit einem Avenue-Skript.
Ich habe das auch schon mal gemacht. Im Kern (Definitionen der Themen, Tabelle, Spalten, etc. einmal weggelassen) sieht das dann so aus:

for each rec in theFTab
suche = theFTab.ReturnValue(attribut,rec)
theQuery = "["+attributStr+"]="+suche.Quote

theFTab.Query(theQuery, theBitmap, #VTAB_SELTYPE_NEW)
theFTab.UpdateSelection

' Thema schneidet Thema
' **********************
thm2.SelectByTheme(theTheme, #FTAB_RELTYPE_INTERSECTS , 0, #VTAB_SELTYPE_NEW)
theBitmap2 = thm2FTab.GetSelection

for each rec2 in theBitmap2
if (thm2FTab.ReturnValueString(str2Fld1,rec2) = "") then
thm2FTab.SetValueString(str2Fld1,rec2,suche)
else
thm2FTab.SetValueString(str2Fld20,rec2,suche)
end
end
end

In einer for-each-Schleife wird das erste Thema durchlaufen (und selektiert und so). Dann werden vom zweiten Thema die Elemente selektiert, die die selektierten Elemente des ersten (in diesem Fall) schneiden.

Vielleicht geht das aber auch einfacher. Wäre für Alternativen dankbar, da ich das auch häufiger machen muss.

Hoffe, ich konnte Dir helfen

Grüße
Johannes
Moin Johannes, erst mal vielen Dank,
im Kern sieht dein Script gut aus und funktioniert in Teilen.
Aber, und jetzt das Kleingedruckte:
Bei auswahl mehrere Polygone im Theme1(theTheme)wird bei Ausführung des Scriptes nur das oberste Polygon bearbeitet.
Warum muß das thm2FTab bearbeitbar sein (zumindest bei mir)??

vielleicht noch einen kleinen Tipp??
Hallo Kay,

entschuldige, dass ich erst jetzt zum Antworten komme.

Ich habe Deine Frage nicht richtig verstanden. Was läuft jetzt bei Deinem Durchlauf falsch?

Bin gerne bereit hier weiter zu helfen.
Gruß
Johannes
Hallo Johannes, hier noch mal der Versuch die Frage zu konkretisieren:
Thema1 3 Polygone von ganz vielen werden selektiert.
Thema2 (Polygone) soll nun die "Schnittmenge" mit den 3 Polygonen aus Thema1 selektieren und anzeigen.
Bei Durchführung Deines Scriptes wird aber
1.) nur der "oberste" Polygon aus der FTab von Thema1 genommen und
2.) nach bestätigen der Fehlermeldung: Bearbeitungsversuch in schreibgeschützten Feld
die selektierten Polygone ("Schnittmenge")aus Thema2 angezeigt.

Ich möchte aber gerne von 3 Polygonen aus Thema1 die Schnittflächen mit Thema2 erfahren??? Jetzt klarer???
Gruß Kay
Hallo Kay,
okay, ich glaub, ich bin da.
Das liegt daran, dass ich nicht weiß (bzw. es nicht geschafft habe, dem Computer das zu klarzumachen), wie die Einträge heißen (also das, was in der Spalte steht). Deshalb gehe ich wie folgt vor: erstes Polygon selektieren, gucken, welche Polygone aus Thema2 darin liegen und diesen den entsprechenden Wert zuweisen, dann zum nächsten Polygon von Thema1 gehen, usw.

Wie gesagt, meine Variante ist umständlich, hat aber funktioniert.

Alaaf!
Johannes

PS: Ich bin erst wieder am Dienstag da (s.o.).