RGB codes

Hi zusammen!

mein problem: ich hab nen layer mit 180 klassen. jeder soll mit nem rgb code eingefärbt werden. ich weiß wie das manuell geht, da werd ich aber bescheuert :-) gleichzeitg hab ich ne tabelle wo für jedes shape der rgb code drinsteht. kann man das über die tabelle automatisiert einfärben?

danke!!!!!
hi,

ich weiß zwar nicht was das für ne tabelle ist, aber du kannst sie doch bestimmt in eine dbf umwandeln und dann mit dem dbf deines layers verknüpfen - wenn eine eindeutige zuordnungsid besteht.
Hi Jürgen!

die info steht schon in der atrributtabelle drin,für jedes polygon ein rgb code, darum gehts also nicht. ich möchte nur über die tabelle die polygone einfärben, sonst muss ich jede klasse anklicken und im rgb editor bestimmen. das würde ewig dauern...und dafür gibts scheinbar keine lösung...
Schau dir mal diesen Thread an: colors from Red green blue values. Sieht so aus, als müsstest du vorher nur deine RGBs auf drei Felder verteilen...
super danke. leider bekomme ich immer einen "runtime 6 overflow" error. kennt sich jemand mit visual basic aus?
Hast du die RGB-Werte auf drei Integer-Felder mit den Namen (keine Aliasse!) Red, Green und Blue verteilt?
ja hab ich. keine ahnung, vielleicht sinds zuviele polygone?
Hm, ja, kann sein. Hab's mal ausprobiert und über ein kleines Shapefile mit 100 Polys gejagt - funzt einwandfrei...
Wie groß ist denn dein Layer?
ja es sind leider an die 40000 polygone. ggf. hat jemand ne idee wie man in den code was einbaut, das VB das häppchenweise berechnen lässt? Ich bin leider kein VB Experte...
Kannst du mal ausprobieren, die Zeile Do Until i = n durch Do Until i = 100 zu ersetzen?
Oder vielleicht noch besser: Ein Shapefile erzeugen, in dem jede deiner Klassen einmal auftaucht (also 180 Polys), das Skript drüberlaufen lassen und die erzeugte Symbologie dann auf den Gesamtlayer übertragen...
ich habs hinbekommen:

Dim n As Integer
n = pFeatClass.FeatureCount(pQueryFilter)
Dim i As Integer
i = 0

muss geändert werden in


Dim n As Long
n = pFeatClass.FeatureCount(pQueryFilter)
Dim i As Long
i = 0

Jetzt funzt es. Und wie! Superbunt ists!

Danke Maxilla und schönes Wochenende!