Hallo Leute,
ich muss für ein großes Gebiet Karten als Grafik exportieren. Dazu habe ich die Kartenausschnitte als Rechteck abgespeichert und mir ein Script gebastelt, was die einzelnen Datensätze durchläuft, auf den Rahmen zoomt und dann das Layout exportiert. Das läuft auch soweit. Der Haken an der Sache ist, dass ich im Hintergrund TopKarten habem, die vom Server laden udn daher entsprechend langsam angezeigt werden. Dadurch bekomme ich super Grafiken mit dem richtigen View-Ausschnitt im Layout, richtigen Beschriftungen, aber ohne Raster oder Vektordaten. SCheinbar ist der Bildaufbau noch nicht abgeschlossen, wenn er exportiert. Muss ich den Umweg über DelayedRun gehen und eine Wartezeit von 30Sekunden einbauen oder habe ich einen Denkfehler im Script?
theView = av.Finddoc("Ergebnisse_Kartierung")
theDisp = theView.GetDisplay
theTheme = theView.GetActiveThemes.Get(0)
theFtab = theTheme.GetFtab
theLayout = av.FindDoc("Ly_Ergebnisse")
theDocWin = theLayout.GetWin
theDocWin.Open
For each rec in theFTab
bm = theFtab.GetSelection
bm.ClearAll
bm.Set(rec)
theFtab.UpdateSelection
theName = TheFtab.ReturnValue(theFtab.FindField("Gew_Name"),rec)
theAbsch = theFtab.ReturnValue(theFtab.FindField("Darst_Abschn"),rec)
theWK = TheFtab.ReturnValue(theFtab.FindField("WK"),rec)
KName = theName + "_" + theWK + "_" + theAbsch
r = Rect.MakeEmpty
r = r.UnionWith(theTheme.GetSelectedExtent)
theView.GetDisplay.SetExtent(r.Scale(1.1))
theDisp.ZoomToScale(12000)
theJPEGFileName = ("C:\Temp\Karten\" + KName + ".jpg").AsFileName
theJPEGQuality = 100
theJPEGRes = 200
theLayout.ExportToFile(theJPEGFileName,"JPEG",{theJPEGRes,theJPEGQuali ty})
end
Gruß und Dank, André
ich muss für ein großes Gebiet Karten als Grafik exportieren. Dazu habe ich die Kartenausschnitte als Rechteck abgespeichert und mir ein Script gebastelt, was die einzelnen Datensätze durchläuft, auf den Rahmen zoomt und dann das Layout exportiert. Das läuft auch soweit. Der Haken an der Sache ist, dass ich im Hintergrund TopKarten habem, die vom Server laden udn daher entsprechend langsam angezeigt werden. Dadurch bekomme ich super Grafiken mit dem richtigen View-Ausschnitt im Layout, richtigen Beschriftungen, aber ohne Raster oder Vektordaten. SCheinbar ist der Bildaufbau noch nicht abgeschlossen, wenn er exportiert. Muss ich den Umweg über DelayedRun gehen und eine Wartezeit von 30Sekunden einbauen oder habe ich einen Denkfehler im Script?
theView = av.Finddoc("Ergebnisse_Kartierung")
theDisp = theView.GetDisplay
theTheme = theView.GetActiveThemes.Get(0)
theFtab = theTheme.GetFtab
theLayout = av.FindDoc("Ly_Ergebnisse")
theDocWin = theLayout.GetWin
theDocWin.Open
For each rec in theFTab
bm = theFtab.GetSelection
bm.ClearAll
bm.Set(rec)
theFtab.UpdateSelection
theName = TheFtab.ReturnValue(theFtab.FindField("Gew_Name"),rec)
theAbsch = theFtab.ReturnValue(theFtab.FindField("Darst_Abschn"),rec)
theWK = TheFtab.ReturnValue(theFtab.FindField("WK"),rec)
KName = theName + "_" + theWK + "_" + theAbsch
r = Rect.MakeEmpty
r = r.UnionWith(theTheme.GetSelectedExtent)
theView.GetDisplay.SetExtent(r.Scale(1.1))
theDisp.ZoomToScale(12000)
theJPEGFileName = ("C:\Temp\Karten\" + KName + ".jpg").AsFileName
theJPEGQuality = 100
theJPEGRes = 200
theLayout.ExportToFile(theJPEGFileName,"JPEG",{theJPEGRes,theJPEGQuali ty})
end
Gruß und Dank, André
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Andreas am Di., 04.07.2006 - 17:21
Permalinkhabe dein Script nicht getestet, bin aber der Meinung das AV3 JPEG's nur bis zu 96dpi schreiben kann. Ändere mal deine "theJPEGRes" auf 96. Vielleicht klappt es dann.
MfG Andreas
Gespeichert von Gast am Di., 04.07.2006 - 17:48
PermalinkGespeichert von Jui am Di., 04.07.2006 - 18:58
PermalinkGruß
Jui