| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Problem beim Filtern/Verknüpfen der Daten (1080 mal gelesen)
|
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 17. Nov. 2014 16:55 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe Schwierigkeiten beim Verknüpfen zweier Datenbanken in Map3D. Vermutlich mache ich etwas flasch, finde den Fehler aber nicht. Ausgangslage: Ich habe einen Layer, auf dem sind die ALKIS-Gebäude als Geometrie. In den Daten steht auch ein Schlüssel aus Straßenschlüssel und Hausnummer. Z.B. 10_26. In einer anderen Tabelle (ebenfalls in Oracle) habe ich eine Liste mit diesen Schlüsseln, die wichtig sind. Dort ist z.B. auch 10_26 enthalten. Beide Tabellen haben die Spalte FID als Primärschlüssel. Ich klicke jetzt im Map mit der rechten Maustaste auf meinen Layer mit den Gebäuden, dann auf Verküpfung erstellen. Jetzt wähle ich die beiden Tabelle aus und jeweils die Splate mit den Schlüsseln. Verknüpfungstyp ist: "Nur Datensätze aus der linken Seite mit Übereinstimmung behalten" Das wären die Gebäude. Beziehung: Eins zu Eins. Das funktioniert auch. Zumindest teilweise. Es bleiben zu wenig Gebäude übrig. So ist z.B. der Schlüssel 10_26 nicht mehr da, obwohl er in beiden Tabellen vorhanden ist. Was ist falsch? Ich habe Map3D 2014 Gruß Lars Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 AutoCAD Map aktuell, Designsuite VS6, VS.net
|
erstellt am: 17. Nov. 2014 19:23 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
|
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 18. Nov. 2014 09:01 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried. Danke für deine antwort. Ein Filter war leider nicht gesetzt. So richtig verstehe ich das auch nicht. Ich habe die Schlüssel mal in Excel verglichen. Ich müsste 413 Gebäude behalten. Map kommt auf 379. Es fehlt also immer mal wieder eins. Gruß Lars Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008
|
erstellt am: 18. Nov. 2014 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Hallo Lars, Das MAP im Ergebnis der Verknüpfung weniger Datensätze anzeigt werden ist ja wohl klar bei Deinem gewählten Verknüpfungstyp. Was Du aber mal schauen könntest, ob Deine Vergleichsschlüssel String "10_26" wirklich auch in der anderen Tabelle gleich formatiert sind als String "10_26" oder vielleicht vorangestellte Leerzeichen enthält " 10_26", die man schnell übersieht aber eben zu keiner Übereinstimmung führen. Spaltenüberschriften mit Umlauten sind auch in Vergangenheit Fehlerursachen gewesen (die Amis kennen kein äöüß) ------------------ mfg Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 18. Nov. 2014 10:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Roman, nach Leerzeichen habe ich schon gesucht. Kein Erfolg. Beide Schlüssel sind Varchar2 und Umlaute nutze ich nicht in der Datenbank. Ich habe beide Verknüpfungstypen probiert, es werden dadurch leider nicht mehr. Gruß Lars Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008
|
erstellt am: 18. Nov. 2014 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
noch 3 Stichpunkte die Du abchecken könntest: 1. in Excel konnte man Datenbereich definieren, welche anschließend auch nur ausgewertet wurden -> vielleicht ist dass in der Oracle-DB auch so? 2. ist der Primärschlüssel definiert -> müsste eigentlich sein sonst könntest Du sie ja nicht verbinden 3. durchgehende Indizierung ohne Duplikate? 4. Layer auffrischen wirkt auch oft Wunder in der Datentabelle ------------------ mfg Roman [Diese Nachricht wurde von RL13 am 18. Nov. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 18. Nov. 2014 10:50 <-- editieren / zitieren --> Unities abgeben:
Hallo, zu 1.: Das wüsste ich nicht. Es ist eine sehr schlichte Tabelle. Nur die FID und der Schluessel. zu 2.: die FID ist in beiden Tabellen der Primarschlüssel zu 3.: Weder die FID, noch der Schluessel ist doppelt vorhanden. zu 4.: Gute Idee, leider erfolglos. Grübel... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008
|
erstellt am: 18. Nov. 2014 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
|
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008 Civil 3D 2018.1 Civil 3D 2016 64 Bit SP 3 mit DACH und Extensions W7 Professional 64Bit HP Z440 Intel Xeon CPU E5-1620 v4 32 GB RAM NVIDIA Quadro P4000
|
erstellt am: 18. Nov. 2014 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Filter hatte Stelli ja schon erwähnt. als vorerst letztes würden mir noch einige Phänomene in Bezug auf das verwendete Koordinatensystem einfallen. Wenn Objekte außerhalb des Definitionsbereiches des Koordinatensystems liegen, kann es auch sein, dass einige Elemente nicht angezeigt werden sozusagen ein räumlicher Filter. Würde aber bedeuten sie würden auch ohne Verknüpfung nicht in der Karte erscheinen!?! Dann bin ich hier raus. Wenn Du eine Lösung findest, schreib uns woran es lag. ------------------ mfg Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 18. Nov. 2014 14:08 <-- editieren / zitieren --> Unities abgeben:
Die betreffenden Gebäude (z.B. 10_26) liegen teilweise mitten drin. Vielleicht ein Fehler im Excel-Import Oder in Map 3D 2014? Bin ratlos. Ich komme immer auf die gleiche Anzahl. Nur was mag er da nicht? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 18. Nov. 2014 14:45 <-- editieren / zitieren --> Unities abgeben:
Ich habe den Layer mit den Gebäuden jetzt mal als SDF-DAtei gespeichert und eingebunden. Beide, sowohl der Layer aus der Datenbank, als auch der Layer als SDF haben 11874 Gebäude. Verknüpfe ich den Layer der Datenbank mit der Tabelle, bleiben 379 Gebäude übrig. Verknüpfe ich den SDF-Layer, bleiben 395 übrig. Das ist doch nicht normal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008
|
erstellt am: 18. Nov. 2014 16:11 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Und die korrekte Anzahl müssten 413 sein? Die Tabelle mit den Straßenschlüssel und Hausnummer ist ursprünglich ne Exceltabelle gewesen? Im 1. Beitrag schreibst du es ist ne OracleDB und im vorletzten dann wieder von einer Exceltabelle? Ich kann mir nur vorstellen, dass irgendeine Formatierung beim Verknüpfen stört und da tippe ich auf VARCHAR2, weil hier Zeichenketten in variablen Längen (platzsparend) gespeichert werden. Also Versuch ne feste Breite mit z.b. CHAR
------------------ mfg Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 19. Nov. 2014 07:58 <-- editieren / zitieren --> Unities abgeben:
Hallo, Excel sagt mir als Vergleich, dass es 413 Übereinstimmungen gibt. Das Map nicht ganz korrekt ist sehe daran, dass z.B. die 10_26 nicht als Übereinstimmung gefunden wird. Diese ist aber in beiden Tabellen vorhanden. Die Gebäudedaten kommen über eine VIEW aus ALKIS. Die andere Tabelle ist ein Import aus Excel, jetzt aber in Oracle. Das Ändern auf CHAR brachte keinen Erfolg. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 19. Nov. 2014 08:30 <-- editieren / zitieren --> Unities abgeben:
Ich habe jetzt mal ALKIS mit ALKIS vergleichen lassen. Ich habe den Schlüssel der ALKIS-Daten nach Excel exportiert und in eine neue Tabelle Importiert. Dann habe ich die ALKIS-Gebäude mit dieser Tabelle verknüpft. Es bleiben von den 11874 nur 10689 Gebäude übrig. Nur was stört? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 19. Nov. 2014 14:34 <-- editieren / zitieren --> Unities abgeben:
So, nun bin ich etwas weiter aber es ist noch nicht ganz passend. Ich habe vorab alle GEbäude gefiltert, die nicht zum Stadtgebiet gehören aber in der ALKIS-Datenbank enthalten sind. Das sind Gebäude, die an der Stadtgrenze aber nicht auf dieser Seite liegen ;-) Daher ist die Summe der Gebäude jetzt 11798. Zudem habe ich den Schlüssel aus Straßenschlüssel und Hausnummer jetzt mit Nullen gefüllt. Aus 10_26 wurde also 00010_00026. Das hat einige gebracht. Leider fehlen aber immer noch einige. Zum testen habe ich die Schlüssel der Gebäude in eine zweite Tabelle kopiert und so quasi alle 11798 Gebäude (ALKIS) mit allen 11798 Schlüsseln Verbunden (zweite Tabelle). Somit sollten ALLE Gebäude über den Schlüssel mit der Tabelle verbunden sein. Wie man aber in der Tabelle sieht, fehlen die blau markierten Gebäude, obwohl sie in der zweiten Tabelle genau so enthalten sind. Ich hoffe, man erkennt es auf dem Screenshot. In der Karte habe ich die fehlenden Gebäude markiert. Das ist mitten in der Straße. Seltsam.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 AutoCAD Map aktuell, Designsuite VS6, VS.net
|
erstellt am: 19. Nov. 2014 18:53 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Hallo Lars, prüfe doch mal per SQL deine Daten.
Code: -- Übereinstimmnung testen select ax_gebaeude.fid from ax_gebaeude, deineTabelle where ax_gebaeude.DeinSchluessel = deineTabelle.DeinSchluessel;-- doppelte suchen select DeinSchluessel from ax_gebaeude group by DeinSchluessel having count(DeinSchluessel)>1; select DeinSchluessel from DeineTabelle group by DeinSchluessel having count(DeinSchluessel)>1;
Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 20. Nov. 2014 08:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried, Ich habe deinen Test befolgt. Es werden alle 11798 Datensätze als Übereinstimmung angezeigt. Kann ja auch eigentlich nicht anders. Doppelte Eintrage in beiden Fällen = 0 Da müsste alles passen. Nur MAP mag das nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 AutoCAD Map aktuell, Designsuite VS6, VS.net
|
erstellt am: 20. Nov. 2014 20:02 <-- editieren / zitieren --> Unities abgeben: Nur für LarsB
Hallo Lars, ist der Datentyp wirklich in beiden Tabellen gleich? Nach deinem Beispiel müsste das "varchar2" sein. Es ist schon ein Unterschied zwischen CHAR und VARCHAR2. Ansonsten der geliebte View
Code: Create or Replace View V_MeineTabelle as select ax_gebaeude.fid,ax_gebaeude.geom from ax_gebaeude, deineTabelle where ax_gebaeude.DeinSchluessel = deineTabelle.DeinSchluessel;
Dann die View als Objekttabelle (aus Ansicht) einbinden. Das geht immer. Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LarsB Mitglied
Beiträge: 446 Registriert: 13.05.2003 Windows 7 Prof. 64-Bit Tarox-Workstation mit Xeon 8 Core CPU mit 3.60 GHz 24 GB RAM NVIDIA Quadro 4000 AutoCAD Map 2019 MapEdit AutoCAD 2019
|
erstellt am: 21. Nov. 2014 09:04 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, im SQL-Sheet wird bei beiden Typen VARCHAR2(4000 CHAR) angezeigt. Ich gehe davon aus, dass beide gleich sind. über die VIEW habe ich alle 413 Gebäude. Das Funktioniert. Leider funktioniert das so über viele Umwege, da die Daten in Unterschiedlichen Schemata liegen. Über sieben Brücken musst du gehen..... Ich habe das Problem mal dem Support geschildert. Mal sehen was kommt. viel Hoffnung habe ich nicht. Bleibt ja auch die Frage: Wie zuverlässig ist die Funktion "Verknüpfung erstellen" im Map? Mag sein, dass die Funktion nicht mit dem selbst erstellten Schlüssel zurecht kommt. Das sollte sie aber. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |