nocheinmal Flächenanteile

Hallo zusammen,

ich habe hier jetzt schon viel über Berechnung von Flächenanteilen gelesen, mein Problem konnte ich damit aber leider nicht lösen. Vielleicht weiß ja einer von euch was...

... also ich habe ein Polygon mit 1x1° Kästechen. Diese Datei habe ich mit Deutschlan "geclippt". Da Deutschland natürlich nicht genau in die Kästchen passt, gibt es auch Teile von Deutschland, die ZB. nur ein halbes Kästchen einnehemen. Ich möchte pro Kästchen berechnen wieviel Prozent in Deutschland liegen.
Ich habe bei GIS 8 immer ein Feld hinzugefügt und dann field calculation gemacht. Dabei habe ich advanced angeklickt und dann
Dim dblArea as double
Dim pArea as IArea
Set pArea = [shape]
dblArea = pArea.area
eingefügt und es hat funktioniert.
Wenn ich das jetzt aber in GIS 9 mache, berechnet es etwas, aber das Ergeniss kann nicht stimmen. Hat von euch einer eine Idee, woran das liegen kann?

Danke
Benenne mal dblArea in Surface oder dergleichen um, ich glaube da gabs ein Problem mit der Zuweisung, da es eine feste dblArea - Variable in ArcGis 9.x.

Also:
DIM Surface As Double
Dim pArea As IArea
Set pArea = [Shape] <- halt die richtige Bezeichnung des Tablefields, eventuell ist auch da einfach ein Fehler drin :shape, Shape, SHAPE, Shape_1,...
Surface = pArea.area

Und dann halt noch
"NAME" = Surface <- Im Zuweisungsfeld
Hallo,

vielleicht liegt es an der Projektion? Ist denn die Projektion deines Datenrahmens gleich deinem Layer?

Was bekommst du denn für ein Ergebnis raus?

Gruß
Andreas
Hallo

also, der Vorschlag von Robsn liefert mir eine Fehlermeldung :-(

Die Projektion der beiden Layers sollte gleich sein...

Meine Ergebnisse sind entweder 1 oder 0, aber ich sollte manchmal eben 0,5 oder 0,02 oder sowas rausbekommen.
Du hast doch nicht etwa wirklich surface genommen? ;-)

Was für ein Fehler kommt denn?

^^
das "Name" = Surface muss in die zweite Textbox rein mit "Name" für den Fieldnamen.
So, nach kurzer Überlegung bin ich der Meinung, dass der Fehler im angelegten Feld liegt. Als was hast du denn das Field angelegt? Als Long wird ArcMap die Werte von allein ab- oder aufrunden. Dabei rundet ArcMap bei 0.5 immer ab, erst ab 0.5+ auf. Also du musst das Feld auch als Double anlegen, als Integer (Long oder Short) wird das zu genau solchen Ergebnissen führen.
Natürlich habe ich nicht surface genommen :-) !

DANKE für den Tipp mit dem double, es funktioniert *freu*
Das es mal wieder so ein einfacher Fehler war...