Grafiken aus ArcView 3.X in ArcGIS 9.3 übertragen

Hallo zusammen,

ich habe eine ArcView 3.2a Datei und möchte diese nach ArcGIS 9.3 übertragen. Leider werden Beschriftungen (viel zu groß angezeigt und daher nicht mehr lagetreu) und Grafiken (gedrehte Pfeile) nicht richtig übertragen. Habe schon mit den XTool ein Punkte-Shape aus den Pfeilen erzeugen können, da fehlen dann aber immer noch die Pfeile mit der richtigen Richtung. Hat jemand einen Tipp dazu?

Gruß CarstenB
Hab ich auch schon benötigt :) Das folgende Skript schreibt Graphikpunkte (mitsamt Rotationswinkel für 3.x und 9.x) in ein Shape:

theView = av.GetActiveDoc

theFNOut = FileDialog.Put( "Points.shp".asfilename, "*.shp", "Output Shape")
if (theFNOut = nil) then return NIL end
theNewFTab = FTab.MakeNew( theFNOut, POINT )

theXFld = Field.Make( "X_Coord",#FIELD_DECIMAL, 16, 4 )
theYFld = Field.Make( "Y_Coord",#FIELD_DECIMAL, 16, 4 )
theA1Fld = Field.Make( "Angle3",#FIELD_Double, 8, 2 )
theA2Fld = Field.Make( "Angle9",#FIELD_Double, 8, 2 )
theShpFld = theNewFTab.FindField("Shape")
theNewFTab.AddFields( {theXFld, theYFld, theA1Fld, theA2Fld} )

for each i in theView.GetGraphics
if (i.is(GraphicText).Not) then
theShp = i.GetShape
if(theShp.GetDimension = 0) then
rec = theNewFTab.AddRecord
theSymbol = i.GetSymbol
theOrg = i.GetOrigin
theX = theOrg.GetX
theY = theOrg.GetY
theA1 = theSymbol.GetAngle
theA2 = 360 - theA1
theNewFTab.SetValue(theShpFld,rec,theShp)
theNewFTab.SetValueNumber( theXFld, rec, theX )
theNewFTab.SetValueNumber( theYFld, rec, theY )
theNewFTab.SetValueNumber( theA1Fld, rec, theA1 )
theNewFTab.SetValueNumber( theA2Fld, rec, theA2 )
end
end
end

theNewThm = FTheme.Make(theNewFTab)
theNewFTab.SetEditable(FALSE)
theView.AddTheme(theNewThm)
Hallo Maxilla,

super gut, aber das Script lässt sich leider nicht kompilieren oder mache ich das was falsch?

Gruß CarstenB
Da rutscht immer ein Leerzeichen rein, das ich aus irgendwelchen Gründen auch nicht löschen kann - wahrscheinlich werden zu lange 'Wörter' (> 50 Buchstaben) hier automatisch getrennt. Es ist eh ein wenig blöd, dass es im Forum keine 'Code'-Funktion gibt :-|

Aber ich habe den Ausdruck jetzt mal mit ein paar 'passenden' Leerzeichen versehen, so sollte es klappen. Einfach nochmal kopieren.
Ja klasse, das hat funktioniert!!! Kannst du mir noch sagen, wie ich Grafiken exportieren kann, die sind einfach viel zu groß und somit nicht mehr lagegenau, wenn ich sie über "Aus einem ArcView-Projekt importieren" nach ArcGIS übertragen will.

Gruß CarstenB
In den Memo Tools 6.5 gibt es die Funktion 'Graphiktext in Shape schreiben' (im Menü 'MmThm'). Damit kannst du die Texte in ein Shape schreiben, das die Labels in angepasster Größe und Rotation quasi mit einer Linie 'unterstreicht' und den jeweiligen Text in die Tabelle schreibt. Dieses Linienshape kannst du später in ArcGIS recht einfach wieder passend labeln.
Ja, das funktioniert auch. Kann man eigentlich grafische Objekte (mit ihren jeweiligen Eingenschaften in ArcGIS suchen und durch andere Objekte (z. B eine andere Farbe) ersetzen lassen?

Gruß und vielen Dank für die Hilfe,
Carsten