agilrebo Geschrieben 16. Juli 2010 Teilen Geschrieben 16. Juli 2010 hallo an alle! ich nutze oracle 10g und habe folgendes problem: der befehl: SDO_AGGR_CONCAT_LINES, beim versuch liniengeometrien zusammenzufassen funktioniert nicht richtig. sachverhalt: -2 tabellen -tabelle1 beinhaltet linienobjekte. -die objekte können aus einer oder mehrerer linien bestehen -die geometrie jeder linie ist in tabelle2 gespeichert und über ein FK mit tabelle1 verbunden Frage: wie kann ich diese einzellinien zusammenfügen, sodass am ende jedes objekt genau einen geometrie eintrag besitzt? die tabellen tabelle1 fid (eindeutige id des objekts) name (objektname) kommentar (kommentar) tabelle2 fid (eindeutige id jeder einzelnen linie) fid_tabelle1 (fk = zuweisen der linie zu einem objekt) geom (liniengeometrie) Bsp für Liniengeometrie: SDO_GEOMETRY(SDO_GTYPE(3002) SDO_SRID(24878) SDO_POINT(X(NULL) Y(NULL) Z(NULL) ) SDO_ELEM_INFO(1,2,1) SDO_ORDINATES(x,y,z,x,y,z ...) select-befehl SELECT t1.FID, (SELECT SDO_AGGR_CONCAT_LINES(t2.GEOM) FROM tabelle2 t2 WHERE t2.FID_GEOGLYPH = t1.FID) as Geometrie FROM tabelle t1 ergebnis: FID = wird angezeigt Geometrie = wird bei Objekten, bestehend aus einer Linie korrekt angezeigt aber bei Objekten bestehend aus mehreren Linien wird eine leere zeile angezeigt. ich weiß nicht wo der fehler liegt, ist das der falsche befehl? brauche dringend hilfe! ( grüße agilrebo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
agilrebo Geschrieben 16. Juli 2010 Autor Teilen Geschrieben 16. Juli 2010 BTW: es handelt sich um nicht miteinander verbundene linien ! daher scheint der obige befehl auch nicht der richtige zu sein. ein neuer versuch mit SDO_AGGR_LRS_CONCAT führt zu folgender Fehlermeldung: ORA-22813: Operandwert übersteigt Systemgrenzwert 22813. 00000 - "operand value exceeds system limits" *Cause: Object or Collection value was too large. The size of the value might have exceeded 30k in a SORT context, or the size might be too big for available memory. *Action: Choose another value and retry the operation. >.> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.