JPG / TIFF - HOT-LINK - TK10 GITTER

ruesselrudi
registriert # Gesendet: 29.Feb.2008 13:57


Hallo,

ich hoffe, dass mir jemand weiterhelfen kann.
Und zwar möchte ich gern meine Luftbilder
automatisch über eine HOT-Link-Funktion in
mein View einladen.

Dazu habe ich mir ein TK10-GitterShape beschafft.
Dieses habe ich wie folgt angepasst.

Shape TK-Nr Pfad
Polygon 4841-NO4 h:\STAND2007\4841\f4_4841NO4.sid

Aber leider finde ich keinen richtigen Lösungsansatz.

Ich danke euch für eure Unterstützung im Voraus.

Mit freundlichen Grüße

Andi


ruesselrudi
registriert # Gesendet: 29.Feb.2008 14:14


Ergänzung:

Die JPEG / TIFF -Dateien sind georeferenzierte Luftbilder.
Ich möchte Sie nicht in einem seperaten Fenster öffnen,
sondern direkt in das View integrieren in welchem sich
das Gitter-Shape befindet.

Dank



-------------------------------------------------- -----------------------------------

Maxilla
registriert # Gesendet: 29.Feb.2008 16:28 · Edited by: Maxilla


Das Grundgerüst für ein Apply-Skript, das du auf ein View-Tool legen kannst sieht ungefähr so aus (Achtung, Skript ohne Fehlercheck):

' Apply Script (mit Tool verwenden)

theView = av.GetActiveDoc

' Aktives Thema = Dein Gittershape:
theTheme = theView.GetActiveThemes.Get(0)
theFTab = theTheme.GetFTab

p = theView.GetDisplay.ReturnUserPoint
if (theTheme.CanSelect) then
theTheme.SelectByPoint(p,#VTAB_SELTYPE_NEW)
end

theSel = theTheme.GetFTab.GetSelection
theFld = theFTab.FindField("Pfad")
thePfad = theFTab.ReturnValue(theFld,theSel.GetNextSet(-1))

theSrcName = SrcName.Make(thePfad)
theITheme = Theme.Make(theSrcName)

theITheme.SetVisible(TRUE)
theView.AddTheme(theITheme)

------------------------------------------------------------------------------------

Hallo,

vielen Dank für dein Script.

Aber leider habe ich noch ein paar Probleme.

Problembeschreibung:

Ich habe ein neues Projekt geöffnet.
Dann ein neues Script erstellt (Name: TEST)
Anschließend kopierte ich dein Script in das TEST-Script.
Das Kompilieren des Scripts hat auch funktioniert.

Anschließend öffnete ich ein neues View.
Als Thema fügte ich mein TK10-Gitter hinzu, das
Shape mit der Spalte "Pfad" in der Attributtabelle.

Jetzt habe ich paar Gitterelemente markiert,
dann wechselte ich aus dem View in das Script und habe
es ausgeführt.

Daraufhin präsentiert mir ArcView 3.2 folgende Fehlermeldungen:

Falsche Klasse für Parameter 1 der Anforderung Make. Erhalten: Nil. Erwartet: String

Jetzt weiß ich leider nicht weiter. Könntest du mir noch einmal helfen.
Bin auch über jede weitere Hilfe dankbar.
Oben im Skript steht ' Apply Script (mit Tool verwenden)!

Das bedeutet, dass du im View-Fenster zunächst ein Tool erzeugen musst (Doppelklick auf eine leere Stelle auf der Toolbar, in der Kategorie 'Tools' ein Tool erzeugen und das Skript 'Test' per Doppelklick neben dem Wort 'Apply' aus der Skriptliste auswählen. Das Skript wird dann ausgeführt, wenn du mit dem Tool ins View klickst.
Vielen Dank für den Apply-Tipp.

Jetzt habe ich ein Symbol in der Symbolleiste, wenn
ich dieses aktiviere und in das View klicke.
Kommt folgender Fehler.

Falsche Klasse für Parameter 1 der Anforderung Make. Erhalten: Nil. Erwartet: SrcName

Weiterhin öffnet ArcView das Script und springt zu folgender Stelle.

theITheme = Theme.Make(theSrcName)
Wie gesagt, das Skript fängt keine Nutzerfehler ab. Die Fehlermeldung bedeutet: Entweder hast du dein Gitterthema nicht aktiviert, ODER du hast keine Gitterzelle getroffen und somit nichts selektiert, ODER in der Tabelle fehlt das Feld [Pfad], ODER in dem Pfad steht kein korrekter Dateipfad.
Ok, du hast Recht, die meisten Anwendungsfehler
sitzen doch vor dem Rechner.

Ich hatte vergessen die MrSid-Erweiterung zu aktivieren.

Jetzt kann ich das Symbol in der Taskleiste aktivieren.
Wenn ich dann in das Gitter hineinklicke fügt ArcView
ein SID-Bild hinzu, aber nicht das Bild, welches ich selektiert habe.

Sondern irgendein anderes SID-Bild. Weiterhin wird dieses falsche Bild
zwar angezeigt, aber um dieses SID-Bild wird alles schwarz.

????
Ich habe noch einmal recherchiert.

Die Zuordnung zwischen Pfad und TK-Nummer stimmte
nicht überein.

Danke
Wenn du die Tabelle deines Gittershapes aufmachst, sollte genau derjenige Datensatz selektiert sein, der den Pfad des geladenen Bildes enthält. Anders ist das eigentlich nicht möglich...

Zu dem schwarzen Bild fällt mir spontan nichts ein. Das kann zumindest nicht am Skript liegen...