Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Autodesk GIS Produkte
  FDO-Elemente filtern bzw abfragen anhand Excel

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  FDO-Elemente filtern bzw abfragen anhand Excel (1032 mal gelesen)
RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


Sehen Sie sich das Profil von RL13 an!   Senden Sie eine Private Message an RL13  Schreiben Sie einen Gästebucheintrag für RL13

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: 21. Sep. 2009 14:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

Ich hab wieder einmal ein Porblem, wo ich nicht wirklich weiter komme.

Wie bekomme ich aus einer shp-Datei Elemente gefiltert, wobei ich als Filter sämtliche Einträge einer Excel-Tabelle verwenden möchte.
Einzeln als Filter definieren wäre zu aufwändig!! Sind ca. 1000 Elemente aus 16000 Gesamtelementen zu filtern.

mfg Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 21. Sep. 2009 14:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

kannst Du mal erklären, wie in Deinen Daten FDO/SHP und Excel zusammenhängt? Und auch was mit 'sämtliche Einträge einer Excel-Tabelle' in bezug auf Filtern gemeint wäre?

Die Datenfilterung wird mit FDO-Daten nicht ohne dem Filter-Dialog von Map funktionieren, ausser Du möchtest programmieren.

- alfred -

------------------
www.hollaus.at

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


Sehen Sie sich das Profil von RL13 an!   Senden Sie eine Private Message an RL13  Schreiben Sie einen Gästebucheintrag für RL13

Beiträge: 2373
Registriert: 23.10.2008

erstellt am: 21. Sep. 2009 14:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Alfred,

ich habe eine shp mit Flurstückspolygonen und der zugehörigen dbf, welche die Flurstücksnummern enthält.
Eine zusätzliche Exceltabelle enthält jetzt in einer Spalte alle Flurstücksnummern, welche ich filtern möchte.

mfg Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 21. Sep. 2009 15:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Roman,

ok, ich sehe eine Variante, die recht schnell funktionieren sollte.

A) aus dem Excel machst Du eine Datenbank (z.B. Access), diese hat eine Tabelle mit einem Feld Flurstücknummer (dieses Feld muß als 'Primärschlüssel' definiert sein)

B) Du erstellst eine ODBC-Datenquelle (in Windows-Systemsteuerung ==> Verwaltung ==> Datenquellen (ODBC)), die auf diese (obige) Datenbank zeigt

C) mit Map3D-FDO stellst Du eine Verbindung zu dieser ODBC-Datenquelle her

D) die SHP-Verbindung mit der ODBC-Verbindung in Map verknüpfen (damit wird für jeden Datensatz im SHP der entsprechend zugehörige Datensatz der ODBC-Datenquelle angezeigt)

E) jetzt brauchst Du nur noch darauf filtern, wo das (angehängte) Flurstücksnummern-Feld nicht NULL ist

HTH, - alfred -

------------------
www.hollaus.at

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


Sehen Sie sich das Profil von RL13 an!   Senden Sie eine Private Message an RL13  Schreiben Sie einen Gästebucheintrag für RL13

Beiträge: 2373
Registriert: 23.10.2008

erstellt am: 21. Sep. 2009 16:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Alfred,

ich hab mit ODBC-Datenbanken nicht so die Erfahrung.

Ich scheiter bis jetzt schon daran aus der excel-tabelle eine vernünftige Datenbank unter Access zu generieren.
Wie gehe ich da vor?

mfg Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 21. Sep. 2009 16:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> aus der excel-tabelle eine vernünftige Datenbank unter Access

Access starten mit neuer Datenbank anlegen. In dieser eine neue Tabelle erzeugen, eine Spalte mit z.B. FLSTKNR als Feldname, String als Typ (weiß nicht, ob es in Deinem Fall ev. auch Integer sein könnte, sollte aber gleicher Typ sein wie es in Deinem Shape definiert ist), dieses Feld mit rechter Maustaste dann als 'Primärschlüssel' markieren.

Danach die Tabellendefinition speichern und in der Normalansicht (zur Dateneingabe) öffnen, danach brauchst Du nur mehr aus Excel die Flustücknummern kopieren und in die Tabelle mit 'am Ende einfügen' einsetzen.

Der ganze Vorgang könnte auch funktionieren, wenn Du im Access den Import aus Excel nutzt, aber dann bist Du nicht mehr Herr der Felddefinitionen, deswegen würde ich voriger Anleitung folgen.

-------------------

ODBC: Du startest im Windows unter Systemsteuerung ==> Verwaltung ==> 'Datenquellen (ODBC)'
Im Dialog 'Benutzer-DSN' oder 'System-DSN' klickst Du auf 'hinzufügen', wählst dann 'Microsoft Access Driver (mdb)' ==> 'Fertigstellen' ==> es kommt der nächste Dialog:
Datenquellenname ==> gib einen Namen an (ohne Sonderzeichen und ohne Leerschritte)
Beschreibung ==> kannst Du angeben, musst Du nicht
Datenbank ==> 'Auswählen' ==> und hier zeigst Du die zuvor erstellte MDB-Datei.

Ab diesem Zeitpunkt bist Du in der Lage, mit FDO auf ODBC-Verbindung zu gehen und diese hier auszuwählen.

HTH, - alfred -


------------------
www.hollaus.at

[Diese Nachricht wurde von a.n. am 21. Sep. 2009 editiert.]

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


Sehen Sie sich das Profil von RL13 an!   Senden Sie eine Private Message an RL13  Schreiben Sie einen Gästebucheintrag für RL13

Beiträge: 2373
Registriert: 23.10.2008

erstellt am: 21. Sep. 2009 16:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Alfred,

der Tip mit 'am Ende einfügen' war glaube ich bei mir der Knackpunkt.
Der Rest funktioniert soweit ganz gut. Danke!

mfg Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


Sehen Sie sich das Profil von RL13 an!   Senden Sie eine Private Message an RL13  Schreiben Sie einen Gästebucheintrag für RL13

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: 28. Sep. 2009 10:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Datentabelle.JPG

 
Hallo Alfred,

Ich habe folgende Abfrage durchgeführt:
Verknüpfungstyp: nur Datensätze von der linken Seite mit Übereinstimmung beibehalten
Kardinalität: Eins zu viele - Verknüpfung

Beim Öffnen der Datentabelle wird jetzt lediglich ein Datensatz vollständig ausgefüllt angezeigt.
Die Anzahl der Datensätze entspricht der Auswahl, die ich haben möchte aber in allen anderen Feldern steht NULL

Woran liegt das?

Hab die Tabelle und die Einstellungen dazu mal in dem Screenshot dargestellt

Auch andere Verknüpfungstypen bringen keine gewünschte Lösung. Es wird lediglich ein Datensatz vollständig angehangen und bei den Restlichen steht NULL

mfg Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 28. Sep. 2009 17:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Roman,

Voraussetzung dass dies funktioniert, ist, dass das Feld 'KEY01' als Primärschlüssen definiert ist, sonst geht bei Verknüpfung gar nix. Dein beschriebenes hört sich aber ganz danach an, als wäre kein Primärschlüssen definiert.

- alfred -

------------------
www.hollaus.at

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


Sehen Sie sich das Profil von RL13 an!   Senden Sie eine Private Message an RL13  Schreiben Sie einen Gästebucheintrag für RL13

Beiträge: 2373
Registriert: 23.10.2008

erstellt am: 29. Sep. 2009 09:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Alfred,

Du hast Recht, ich hatte kein Primärschlüssel gesetzt, weil ich Kopien des Schlüssels in der Datenbank habe.

Ich möchte also den Flurstücken mehrere Datensätze zuordnen.

Wie mach ich das am Besten?

Habe gestern mich erstmalig intensiv mit Access beschäftigt aber mit den Abfragen und den Verknüpfungen funktioniert das nicht so, wie ich dass gern möchte.

mfg Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


Sehen Sie sich das Profil von RL13 an!   Senden Sie eine Private Message an RL13  Schreiben Sie einen Gästebucheintrag für RL13

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: 29. Sep. 2009 11:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

bin selber auf die Lösung gekommen.
Also das Verknüpfen mit Datenbanken funktioniert wirklich grundsätzlich nur, wenn ein eindeutiges Primärschlüsselfeld definiert ist.
Hab also in meiner Datenbank unter Access ein neues (automatischer Zähler) Feld eingefügt und als Primärschlüssel defniert.
Damit konnte ich über Map dann die Verknüpfung herstellen auch mit den doppelten Einträgen.

Noch ein kleiner Tip, wenn jemand in die Versuchung kommt dbf-Dateien zu bearbeiten. Es geht auch in Access man muss nur den Dateinamen auf 8 Zeichen kürzen und schon kann man die Datei in Access importieren (ein DOS-Relikt).

mfg Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 29. Sep. 2009 12:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Roman,

danke für die Rückmeldung, das wäre wohl ohne Sichtung Deiner Daten auch nicht so leicht hier lösbar gewesen.


>> wenn jemand in die Versuchung kommt dbf-Dateien zu bearbeiten
>> .... den Dateinamen auf 8 Zeichen kürzen

Meinst Du, wenn Du ein DBF importieren willst (nach MS-Access)? Würde ich nicht kennen, aber wer weiss, vielleicht brauchen wir diese Info schon morgen. 
Aufpassen mit DBF muss man eigentlich nur bei Feldnamen, wenn ich aus einer Access-Tabelle ein DBF-File erzeugen will, denn dieses wird imho nur 10 Zeichen Feldnamenlänge vertragen.

- alfred -

------------------
www.hollaus.at

RL13
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Bauwesen


Sehen Sie sich das Profil von RL13 an!   Senden Sie eine Private Message an RL13  Schreiben Sie einen Gästebucheintrag für RL13

Beiträge: 2373
Registriert: 23.10.2008

erstellt am: 29. Sep. 2009 13:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Alfred,

ja ich hab die Dateien mit MS-Access 2003 bearbeitet und das festgestellt.
Vorher hab ich mit Excel Spalten hinzugefügt. Das macht sich aber nicht so schön, weil man keine wirkliche Kontrolle über die Formatierung hat bei MS-Access funktioniert das problemlos.
Auch der Export nach dbf Version III funktioniert problemlos mit rechter MT auf die Datentabelle und exportieren!

Ein kleines Problem hab ich noch mit Umlauten. Die kommen irgendwie in einem anderen Zeichensatz rüber, aber bis jetzt stoerte mich das nicht weiter

mfg Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz